mirror of
https://gitlab.com/phoenix-dvpmt/mmoitems.git
synced 2024-12-22 04:37:42 +01:00
Merged
This commit is contained in:
commit
57a684f931
@ -37,7 +37,7 @@ public class Arcane_Hail extends Ability {
|
||||
}
|
||||
|
||||
double damage = data.getModifier("damage");
|
||||
double duration = data.getModifier("duration");
|
||||
double duration = data.getModifier("duration") * 10;
|
||||
double radius = data.getModifier("radius");
|
||||
|
||||
new BukkitRunnable() {
|
||||
@ -45,7 +45,7 @@ public class Arcane_Hail extends Ability {
|
||||
|
||||
public void run() {
|
||||
j++;
|
||||
if (j > 10 * duration) {
|
||||
if (j > duration) {
|
||||
cancel();
|
||||
return;
|
||||
}
|
||||
@ -54,7 +54,7 @@ public class Arcane_Hail extends Ability {
|
||||
loc1.getWorld().playSound(loc1, VersionSound.ENTITY_ENDERMAN_HURT.toSound(), 1, 0);
|
||||
for (Entity entity : MMOUtils.getNearbyChunkEntities(loc1))
|
||||
if (MMOUtils.canDamage(stats.getPlayer(), entity) && entity.getLocation().distanceSquared(loc1) <= 4)
|
||||
new AttackResult(damage, DamageType.SKILL, DamageType.MAGICAL).applyEffectsAndDamage(stats, null, target);
|
||||
new AttackResult(damage, DamageType.SKILL, DamageType.MAGICAL).applyEffectsAndDamage(stats, null, (LivingEntity) entity);
|
||||
loc1.getWorld().spawnParticle(Particle.SPELL_WITCH, loc1, 12, 0, 0, 0, .1);
|
||||
loc1.getWorld().spawnParticle(Particle.SMOKE_NORMAL, loc1, 6, 0, 0, 0, .1);
|
||||
|
||||
@ -70,3 +70,4 @@ public class Arcane_Hail extends Ability {
|
||||
return (random.nextDouble() - .5) * 2;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -54,7 +54,7 @@ public class ItemSet {
|
||||
if (key.startsWith("potion-")) {
|
||||
PotionEffectType potionEffectType = PotionEffectType.getByName(format.substring("potion-".length()));
|
||||
if (potionEffectType != null) {
|
||||
bonuses.addPotionEffect(new PotionEffect(potionEffectType, MMOUtils.getEffectDuration(potionEffectType), section.getInt("bonuses." + j + "." + key) - 1));
|
||||
bonuses.addPotionEffect(new PotionEffect(potionEffectType, MMOUtils.getEffectDuration(potionEffectType), section.getInt("bonuses." + j + "." + key) - 1, true, false));
|
||||
continue;
|
||||
}
|
||||
continue;
|
||||
@ -162,3 +162,4 @@ public class ItemSet {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -39,7 +39,8 @@ public class BruteLuteAttack implements LuteAttackHandler {
|
||||
}
|
||||
|
||||
loc.getWorld().spawnParticle(Particle.NOTE, loc, 2, .1, .1, .1, 0);
|
||||
loc.getWorld().playSound(loc, sound, 2, (float) (.5 + (double) ti / range));
|
||||
if (j == 0)
|
||||
loc.getWorld().playSound(loc, sound, 2, (float) (.5 + (double) ti / range));
|
||||
|
||||
for (Entity target : entities)
|
||||
if (MMOUtils.canDamage(stats.getPlayer(), loc, target)) {
|
||||
@ -52,3 +53,4 @@ public class BruteLuteAttack implements LuteAttackHandler {
|
||||
}.runTaskTimer(MMOItems.plugin, 0, 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -42,7 +42,8 @@ public class CircularLuteAttack implements LuteAttackHandler {
|
||||
Vector vec = MMOUtils.rotateFunc(new Vector(Math.cos(a), Math.sin(a), 0).multiply(.3), loc);
|
||||
loc.getWorld().spawnParticle(Particle.NOTE, loc.clone().add(vec), 0);
|
||||
loc.getWorld().spawnParticle(Particle.NOTE, loc.clone().add(vec.multiply(-1)), 0);
|
||||
loc.getWorld().playSound(loc, sound, 2, (float) (.5 + (double) ti / range));
|
||||
if (j == 0)
|
||||
loc.getWorld().playSound(loc, sound, 2, (float) (.5 + (double) ti / range));
|
||||
|
||||
for (Entity target : entities)
|
||||
if (MMOUtils.canDamage(stats.getPlayer(), loc, target)) {
|
||||
@ -55,3 +56,4 @@ public class CircularLuteAttack implements LuteAttackHandler {
|
||||
}.runTaskTimer(MMOItems.plugin, 0, 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -39,7 +39,8 @@ public class SimpleLuteAttack implements LuteAttackHandler {
|
||||
}
|
||||
|
||||
loc.getWorld().spawnParticle(Particle.NOTE, loc, 0);
|
||||
loc.getWorld().playSound(loc, sound, 2, (float) (.5 + (double) ti / range));
|
||||
if (j == 0)
|
||||
loc.getWorld().playSound(loc, sound, 2, (float) (.5 + (double) ti / range));
|
||||
|
||||
for (Entity target : entities)
|
||||
if (MMOUtils.canDamage(stats.getPlayer(), loc, target)) {
|
||||
@ -52,3 +53,4 @@ public class SimpleLuteAttack implements LuteAttackHandler {
|
||||
}.runTaskTimer(MMOItems.plugin, 0, 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -41,7 +41,8 @@ public class WaveLuteAttack implements LuteAttackHandler {
|
||||
Vector vec = MMOUtils.rotateFunc(new Vector(.5, 0, 0), loc);
|
||||
loc.getWorld().spawnParticle(Particle.NOTE, loc.clone().add(vec.multiply(Math.sin((double) ti / 2))), 0);
|
||||
loc.getWorld().spawnParticle(Particle.NOTE, loc.clone().add(vec.multiply(-1)), 0);
|
||||
loc.getWorld().playSound(loc, sound, 2, (float) (.5 + (double) ti / range));
|
||||
if (j == 0)
|
||||
loc.getWorld().playSound(loc, sound, 2, (float) (.5 + (double) ti / range));
|
||||
|
||||
for (Entity target : entities)
|
||||
if (MMOUtils.canDamage(stats.getPlayer(), loc, target)) {
|
||||
@ -54,3 +55,4 @@ public class WaveLuteAttack implements LuteAttackHandler {
|
||||
}.runTaskTimer(MMOItems.plugin, 0, 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -42,6 +42,7 @@ import net.Indyuce.mmoitems.gui.CraftingStationView;
|
||||
import net.Indyuce.mmoitems.gui.ItemBrowser;
|
||||
import net.Indyuce.mmoitems.gui.edition.ItemEdition;
|
||||
import net.Indyuce.mmoitems.manager.UpdaterManager.UpdaterData;
|
||||
import net.Indyuce.mmoitems.stat.Lute_Attack_Effect.LuteAttackEffect;
|
||||
import net.Indyuce.mmoitems.stat.Staff_Spirit.StaffSpirit;
|
||||
import net.Indyuce.mmoitems.stat.data.AbilityData;
|
||||
import net.Indyuce.mmoitems.stat.type.ItemStat;
|
||||
@ -518,6 +519,7 @@ public class MMOItemsCommand implements CommandExecutor {
|
||||
sender.sendMessage(ChatColor.DARK_GRAY + "" + ChatColor.STRIKETHROUGH + "-----------------[" + ChatColor.LIGHT_PURPLE + " MMOItems: lists " + ChatColor.DARK_GRAY + "" + ChatColor.STRIKETHROUGH + "]-----------------");
|
||||
sender.sendMessage(ChatColor.LIGHT_PURPLE + "/mi list type " + ChatColor.WHITE + "shows all item types (sword, axe...)");
|
||||
sender.sendMessage(ChatColor.LIGHT_PURPLE + "/mi list spirit " + ChatColor.WHITE + "shows all available staff spirits");
|
||||
sender.sendMessage(ChatColor.LIGHT_PURPLE + "/mi list lute " + ChatColor.WHITE + "shows all available lute attack effects");
|
||||
sender.sendMessage(ChatColor.LIGHT_PURPLE + "/mi list ability " + ChatColor.WHITE + "shows all available abilities");
|
||||
if(sender instanceof Player) {
|
||||
sender.sendMessage("");
|
||||
@ -556,6 +558,13 @@ public class MMOItemsCommand implements CommandExecutor {
|
||||
sender.sendMessage("* " + ChatColor.LIGHT_PURPLE + ss.getName() + lore);
|
||||
}
|
||||
}
|
||||
|
||||
// lute attack effect list
|
||||
if (args[1].equalsIgnoreCase("lute")) {
|
||||
sender.sendMessage(ChatColor.DARK_GRAY + "" + ChatColor.STRIKETHROUGH + "-----------------[" + ChatColor.LIGHT_PURPLE + " Lute Attack Effects " + ChatColor.DARK_GRAY + "" + ChatColor.STRIKETHROUGH + "]-----------------");
|
||||
for (LuteAttackEffect lae : LuteAttackEffect.values())
|
||||
sender.sendMessage("* " + ChatColor.LIGHT_PURPLE + lae.getName());
|
||||
}
|
||||
}
|
||||
// ==================================================================================================================================
|
||||
else if (args[0].equalsIgnoreCase("create") || args[0].equalsIgnoreCase("load")) {
|
||||
@ -989,3 +998,4 @@ public class MMOItemsCommand implements CommandExecutor {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -68,9 +68,10 @@ public class MMOItemsCompletion implements TabCompleter {
|
||||
list.add("stations");
|
||||
|
||||
} else if (args[0].equalsIgnoreCase("list")) {
|
||||
list.add("ability");
|
||||
list.add("type");
|
||||
list.add("spirit");
|
||||
list.add("lute");
|
||||
list.add("ability");
|
||||
}
|
||||
|
||||
else if (args[0].equalsIgnoreCase("browse") || args[0].equalsIgnoreCase("itemlist") || args[0].equalsIgnoreCase("drop") || args[0].equalsIgnoreCase("create") || args[0].equalsIgnoreCase("delete") || args[0].equalsIgnoreCase("remove") || args[0].equalsIgnoreCase("edit") || args[0].equalsIgnoreCase("copy") || args[0].equalsIgnoreCase("load") || args[0].equalsIgnoreCase("giveall"))
|
||||
@ -150,3 +151,4 @@ public class MMOItemsCompletion implements TabCompleter {
|
||||
return args[args.length - 1].isEmpty() ? list : list.stream().filter(string -> string.toLowerCase().startsWith(args[args.length - 1].toLowerCase())).collect(Collectors.toList());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -13,7 +13,7 @@ import net.Indyuce.mmoitems.version.nms.ItemTag;
|
||||
|
||||
public class Custom_Model_Data extends DoubleStat {
|
||||
public Custom_Model_Data() {
|
||||
super(new ItemStack(Material.PAINTING), "Custom Model Data", new String[] { "Your 1.14 model data." }, "custom-model-data", new String[] { "all" });
|
||||
super(new ItemStack(Material.PAINTING), "Custom Model Data", new String[] { "Your 1.14+ model data." }, "custom-model-data", new String[] { "all" });
|
||||
|
||||
if (MMOItems.plugin.getVersion().isBelowOrEqual(1, 13))
|
||||
disable();
|
||||
@ -31,3 +31,4 @@ public class Custom_Model_Data extends DoubleStat {
|
||||
mmoitem.setData(this, new DoubleData(item.getDouble("CustomModelData")));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -26,7 +26,7 @@ import net.Indyuce.mmoitems.version.nms.ItemTag;
|
||||
|
||||
public class Lute_Attack_Effect extends StringStat {
|
||||
public Lute_Attack_Effect() {
|
||||
super(new ItemStack(VersionMaterial.GOLDEN_HORSE_ARMOR.toMaterial()), "Lute Attack Effect", new String[] { "Changes how your lute behaves", "when right clicked." }, "lute-attack-effect", new String[] { "lute" });
|
||||
super(new ItemStack(VersionMaterial.DIAMOND_HORSE_ARMOR.toMaterial()), "Lute Attack Effect", new String[] { "Changes how your lute behaves", "when right clicked.", "&9Tip: /mi list lute" }, "lute-attack-effect", new String[] { "lute" });
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -36,15 +36,11 @@ public class Lute_Attack_Effect extends StringStat {
|
||||
config.getConfig().set(inv.getItemId() + ".lute-attack-effect", null);
|
||||
inv.registerItemEdition(config);
|
||||
inv.open();
|
||||
inv.getPlayer().sendMessage(MMOItems.plugin.getPrefix() + "Successfully removed Lute Attack Effect.");
|
||||
inv.getPlayer().sendMessage(MMOItems.plugin.getPrefix() + "Successfully removed the lute attack effect.");
|
||||
return true;
|
||||
}
|
||||
|
||||
new StatEdition(inv, this).enable("Write in the chat the text you want.");
|
||||
inv.getPlayer().sendMessage("");
|
||||
inv.getPlayer().sendMessage(ChatColor.GREEN + "" + ChatColor.BOLD + "Available Lute Attacks");
|
||||
for (LuteAttackEffect effect : LuteAttackEffect.values())
|
||||
inv.getPlayer().sendMessage("* " + ChatColor.GREEN + effect.name());
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -56,13 +52,14 @@ public class Lute_Attack_Effect extends StringStat {
|
||||
effect = LuteAttackEffect.valueOf(format);
|
||||
} catch (Exception e1) {
|
||||
inv.getPlayer().sendMessage(MMOItems.plugin.getPrefix() + ChatColor.RED + format + " is not a valid lute attack effect.");
|
||||
inv.getPlayer().sendMessage(MMOItems.plugin.getPrefix() + ChatColor.RED + "See all lute attack effects here: /mi list lute.");
|
||||
return false;
|
||||
}
|
||||
|
||||
config.getConfig().set(inv.getItemId() + ".lute-attack-effect", effect.name());
|
||||
inv.registerItemEdition(config);
|
||||
inv.open();
|
||||
inv.getPlayer().sendMessage(MMOItems.plugin.getPrefix() + "Staff Spirit successfully changed to " + effect.getDefaultName() + ".");
|
||||
inv.getPlayer().sendMessage(MMOItems.plugin.getPrefix() + "Lute attack effect successfully changed to " + effect.getDefaultName() + ".");
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -73,7 +70,7 @@ public class Lute_Attack_Effect extends StringStat {
|
||||
item.addItemTag(new ItemTag("MMOITEMS_LUTE_ATTACK_EFFECT", effect.name()));
|
||||
item.getLore().insert("lute-attack-effect", effect.getName());
|
||||
} catch (Exception e) {
|
||||
item.getMMOItem().log(Level.WARNING, "Coudln't read lute attack effect from " + ((StringData) data).toString());
|
||||
item.getMMOItem().log(Level.WARNING, "Couldn't read lute attack effect from " + ((StringData) data).toString());
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@ -112,3 +109,4 @@ public class Lute_Attack_Effect extends StringStat {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -227,7 +227,7 @@ public class Shield_Pattern extends StringStat {
|
||||
|
||||
@EventHandler
|
||||
public void whenLoaded(MMOItem mmoitem, NBTItem item) {
|
||||
if (item.getItem().getItemMeta() instanceof BlockStateMeta) {
|
||||
if (item.getItem().getItemMeta() instanceof BlockStateMeta && ((BlockStateMeta) item.getItem().getItemMeta()).getBlockState() instanceof Banner) {
|
||||
ShieldPatternData shieldPattern = new ShieldPatternData();
|
||||
Banner banner = (Banner) ((BlockStateMeta) item.getItem().getItemMeta()).getBlockState();
|
||||
shieldPattern.setBaseColor(banner.getBaseColor());
|
||||
|
@ -53,7 +53,7 @@ public class Staff_Spirit extends StringStat {
|
||||
item.addItemTag(new ItemTag("MMOITEMS_STAFF_SPIRIT", staffSpirit.name()));
|
||||
item.getLore().insert("staff-spirit", staffSpirit.getPrefix() + staffSpirit.getName());
|
||||
} catch (Exception e) {
|
||||
item.getMMOItem().log(Level.WARNING, "Coudln't read staff spirit from " + ((StringData) data).toString());
|
||||
item.getMMOItem().log(Level.WARNING, "Couldn't read staff spirit from " + ((StringData) data).toString());
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@ -118,3 +118,4 @@ public class Staff_Spirit extends StringStat {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -49,6 +49,7 @@ public enum VersionMaterial {
|
||||
COMMAND_BLOCK_MINECART("COMMAND_BLOCK_MINECART", "COMMAND_MINECART"),
|
||||
OAK_PLANKS("OAK_PLANKS", "WOOD"),
|
||||
CAULDRON("CAULDRON", "CAULDRON_ITEM"),
|
||||
DIAMOND_HORSE_ARMOR("DIAMOND_HORSE_ARMOR", "DIAMOND_BARDING"),
|
||||
|
||||
;
|
||||
|
||||
@ -79,3 +80,4 @@ public enum VersionMaterial {
|
||||
return hasItem() ? item.clone() : new ItemStack(material);
|
||||
}
|
||||
}
|
||||
|
||||
|
Binary file not shown.
Loading…
Reference in New Issue
Block a user