From 790ebd09a7f86884398216dc041a4a46d6ced262 Mon Sep 17 00:00:00 2001 From: Indyuce Date: Wed, 12 Aug 2020 16:34:41 +0200 Subject: [PATCH] !Removed 1.12 deprecated methods --- lib/MMOLib.jar | Bin 256332 -> 276515 bytes .../mmoitems/ability/Contamination.java | 11 +++++++---- .../net/Indyuce/mmoitems/ability/Corrupt.java | 6 +++--- .../Indyuce/mmoitems/ability/Ice_Crystal.java | 15 +++++++++------ .../mmoitems/ability/Magical_Shield.java | 8 +++++--- .../Indyuce/mmoitems/ability/Shockwave.java | 9 +++++---- .../mmoitems/ability/Shulker_Missile.java | 5 ++--- .../Indyuce/mmoitems/ability/onhit/Blind.java | 12 ++++++------ .../Indyuce/mmoitems/ability/onhit/Slow.java | 11 +++++++---- .../mmoitems/ability/onhit/Vampirism.java | 8 +++++--- .../mmoitems/ability/onhit/Weaken_Target.java | 10 ++++++---- .../mmoitems/ability/onhit/Wither.java | 9 +++++---- .../Indyuce/mmoitems/api/ArrowParticles.java | 4 +--- .../net/Indyuce/mmoitems/api/Element.java | 14 ++++++-------- .../mmoitems/api/edition/NewItemEdition.java | 2 +- .../mmoitems/api/edition/StatEdition.java | 3 +-- .../weapon/untargeted/staff/ManaSpirit.java | 6 +++--- .../gui/edition/UpgradingEdition.java | 5 +++-- .../Indyuce/mmoitems/stat/data/ColorData.java | 2 +- .../mmoitems/stat/data/ParticleData.java | 6 ++---- 20 files changed, 78 insertions(+), 68 deletions(-) diff --git a/lib/MMOLib.jar b/lib/MMOLib.jar index dca2eead40781e027e2469df43e715e6eb1ddc43..5311a1d108efe3cfee9abd727656e640edcd6817 100644 GIT binary patch delta 32503 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 duration) cancel(); - MMOLib.plugin.getVersion().getWrapper().spawnParticle(Particle.REDSTONE, loc.clone().add(Math.cos(ti / 3) * 5, 0, Math.sin(ti / 3) * 5), Color.PURPLE); + loc.getWorld().spawnParticle(Particle.REDSTONE, loc.clone().add(Math.cos(ti / 3) * 5, 0, Math.sin(ti / 3) * 5), 1, + new Particle.DustOptions(Color.PURPLE, 1)); for (int j = 0; j < 3; j++) { ti += Math.PI / 32; double r = Math.sin(ti / 2) * 4; @@ -65,7 +67,8 @@ public class Contamination extends Ability { loc.getWorld().playSound(loc, VersionSound.ENTITY_ENDERMAN_HURT.toSound(), 2, 1); for (Entity entity : MMOUtils.getNearbyChunkEntities(loc)) if (MMOUtils.canDamage(stats.getPlayer(), entity) && entity.getLocation().distanceSquared(loc) <= 25) - MMOLib.plugin.getDamage().damage(stats.getPlayer(), (LivingEntity) entity, new AttackResult(dps, DamageType.SKILL, DamageType.MAGIC), false); + MMOLib.plugin.getDamage().damage(stats.getPlayer(), (LivingEntity) entity, + new AttackResult(dps, DamageType.SKILL, DamageType.MAGIC), false); } } }.runTaskTimer(MMOItems.plugin, 0, 1); diff --git a/src/main/java/net/Indyuce/mmoitems/ability/Corrupt.java b/src/main/java/net/Indyuce/mmoitems/ability/Corrupt.java index 2e102e36..72187d71 100644 --- a/src/main/java/net/Indyuce/mmoitems/ability/Corrupt.java +++ b/src/main/java/net/Indyuce/mmoitems/ability/Corrupt.java @@ -15,14 +15,14 @@ import net.Indyuce.mmoitems.api.ability.AbilityResult; import net.Indyuce.mmoitems.api.ability.LocationAbilityResult; import net.Indyuce.mmoitems.api.player.PlayerStats.CachedStats; import net.Indyuce.mmoitems.stat.data.AbilityData; -import net.mmogroup.mmolib.MMOLib; import net.mmogroup.mmolib.api.AttackResult; import net.mmogroup.mmolib.api.DamageType; import net.mmogroup.mmolib.version.VersionSound; public class Corrupt extends Ability { public Corrupt() { - super(CastingMode.ON_HIT, CastingMode.WHEN_HIT, CastingMode.LEFT_CLICK, CastingMode.RIGHT_CLICK, CastingMode.SHIFT_LEFT_CLICK, CastingMode.SHIFT_RIGHT_CLICK); + super(CastingMode.ON_HIT, CastingMode.WHEN_HIT, CastingMode.LEFT_CLICK, CastingMode.RIGHT_CLICK, CastingMode.SHIFT_LEFT_CLICK, + CastingMode.SHIFT_RIGHT_CLICK); addModifier("damage", 8); addModifier("duration", 4); @@ -52,7 +52,7 @@ public class Corrupt extends Ability { Location loc1 = loc.clone().add(Math.cos(j) * radius, 1, Math.sin(j) * radius); double y_max = .5 + random.nextDouble(); for (double y = 0; y < y_max; y += .1) - MMOLib.plugin.getVersion().getWrapper().spawnParticle(Particle.REDSTONE, loc1.clone().add(0, y, 0), Color.PURPLE); + loc1.getWorld().spawnParticle(Particle.REDSTONE, loc1.clone().add(0, y, 0), 1, new Particle.DustOptions(Color.PURPLE, 1)); } for (Entity entity : MMOUtils.getNearbyChunkEntities(loc)) diff --git a/src/main/java/net/Indyuce/mmoitems/ability/Ice_Crystal.java b/src/main/java/net/Indyuce/mmoitems/ability/Ice_Crystal.java index 2bc3179a..040c4574 100644 --- a/src/main/java/net/Indyuce/mmoitems/ability/Ice_Crystal.java +++ b/src/main/java/net/Indyuce/mmoitems/ability/Ice_Crystal.java @@ -21,14 +21,14 @@ import net.Indyuce.mmoitems.api.ability.AbilityResult; import net.Indyuce.mmoitems.api.ability.VectorAbilityResult; import net.Indyuce.mmoitems.api.player.PlayerStats.CachedStats; import net.Indyuce.mmoitems.stat.data.AbilityData; -import net.mmogroup.mmolib.MMOLib; import net.mmogroup.mmolib.api.AttackResult; import net.mmogroup.mmolib.api.DamageType; import net.mmogroup.mmolib.version.VersionSound; public class Ice_Crystal extends Ability { public Ice_Crystal() { - super(CastingMode.ON_HIT, CastingMode.WHEN_HIT, CastingMode.LEFT_CLICK, CastingMode.RIGHT_CLICK, CastingMode.SHIFT_LEFT_CLICK, CastingMode.SHIFT_RIGHT_CLICK); + super(CastingMode.ON_HIT, CastingMode.WHEN_HIT, CastingMode.LEFT_CLICK, CastingMode.RIGHT_CLICK, CastingMode.SHIFT_LEFT_CLICK, + CastingMode.SHIFT_RIGHT_CLICK); addModifier("damage", 6); addModifier("duration", 3); @@ -70,9 +70,10 @@ public class Ice_Crystal extends Ability { */ for (double r = 0; r < .4; r += .1) for (double a = 0; a < Math.PI * 2; a += Math.PI / 2) { - Vector vec = MMOUtils.rotateFunc(new Vector(r * Math.cos(a + (double) ti / 10), r * Math.sin(a + (double) ti / 10), 0), loc); + Vector vec = MMOUtils.rotateFunc(new Vector(r * Math.cos(a + (double) ti / 10), r * Math.sin(a + (double) ti / 10), 0), + loc); loc.add(vec); - MMOLib.plugin.getVersion().getWrapper().spawnParticle(Particle.REDSTONE, loc, .7f, Color.WHITE); + loc.getWorld().spawnParticle(Particle.REDSTONE, loc, 1, new Particle.DustOptions(Color.WHITE, .7f)); loc.add(vec.multiply(-1)); } @@ -81,8 +82,10 @@ public class Ice_Crystal extends Ability { loc.getWorld().spawnParticle(Particle.EXPLOSION_LARGE, loc, 0); loc.getWorld().spawnParticle(Particle.FIREWORKS_SPARK, loc, 48, 0, 0, 0, .2); loc.getWorld().playSound(loc, Sound.ENTITY_GENERIC_EXPLODE, 2, 1); - new AttackResult(ability.getModifier("damage"), DamageType.SKILL, DamageType.MAGIC, DamageType.PROJECTILE).damage(stats.getPlayer(), (LivingEntity) entity); - ((LivingEntity) entity).addPotionEffect(new PotionEffect(PotionEffectType.SLOW, (int) (ability.getModifier("duration") * 20), (int) ability.getModifier("amplifier"))); + new AttackResult(ability.getModifier("damage"), DamageType.SKILL, DamageType.MAGIC, DamageType.PROJECTILE) + .damage(stats.getPlayer(), (LivingEntity) entity); + ((LivingEntity) entity).addPotionEffect(new PotionEffect(PotionEffectType.SLOW, + (int) (ability.getModifier("duration") * 20), (int) ability.getModifier("amplifier"))); cancel(); return; } diff --git a/src/main/java/net/Indyuce/mmoitems/ability/Magical_Shield.java b/src/main/java/net/Indyuce/mmoitems/ability/Magical_Shield.java index d3e2d287..2f1c3bc1 100644 --- a/src/main/java/net/Indyuce/mmoitems/ability/Magical_Shield.java +++ b/src/main/java/net/Indyuce/mmoitems/ability/Magical_Shield.java @@ -19,12 +19,12 @@ import net.Indyuce.mmoitems.api.ability.AbilityResult; import net.Indyuce.mmoitems.api.ability.SimpleAbilityResult; import net.Indyuce.mmoitems.api.player.PlayerStats.CachedStats; import net.Indyuce.mmoitems.stat.data.AbilityData; -import net.mmogroup.mmolib.MMOLib; import net.mmogroup.mmolib.version.VersionSound; public class Magical_Shield extends Ability { public Magical_Shield() { - super(CastingMode.ON_HIT, CastingMode.WHEN_HIT, CastingMode.LEFT_CLICK, CastingMode.RIGHT_CLICK, CastingMode.SHIFT_LEFT_CLICK, CastingMode.SHIFT_RIGHT_CLICK); + super(CastingMode.ON_HIT, CastingMode.WHEN_HIT, CastingMode.LEFT_CLICK, CastingMode.RIGHT_CLICK, CastingMode.SHIFT_LEFT_CLICK, + CastingMode.SHIFT_RIGHT_CLICK); addModifier("power", 40); addModifier("radius", 5); @@ -85,7 +85,9 @@ public class Magical_Shield extends Ability { for (double j = 0; j < Math.PI / 2; j += Math.PI / (28 + random.nextInt(5))) for (double i = 0; i < Math.PI * 2; i += Math.PI / (14 + random.nextInt(5))) - MMOLib.plugin.getVersion().getWrapper().spawnParticle(Particle.REDSTONE, loc.clone().add(2.5 * Math.cos(i + j) * Math.sin(j), 2.5 * Math.cos(j), 2.5 * Math.sin(i + j) * Math.sin(j)), Color.FUCHSIA); + loc.getWorld().spawnParticle(Particle.REDSTONE, + loc.clone().add(2.5 * Math.cos(i + j) * Math.sin(j), 2.5 * Math.cos(j), 2.5 * Math.sin(i + j) * Math.sin(j)), 1, + new Particle.DustOptions(Color.FUCHSIA, 1)); } } } diff --git a/src/main/java/net/Indyuce/mmoitems/ability/Shockwave.java b/src/main/java/net/Indyuce/mmoitems/ability/Shockwave.java index be007dfa..1395869b 100644 --- a/src/main/java/net/Indyuce/mmoitems/ability/Shockwave.java +++ b/src/main/java/net/Indyuce/mmoitems/ability/Shockwave.java @@ -21,11 +21,11 @@ import net.Indyuce.mmoitems.api.ability.AbilityResult; import net.Indyuce.mmoitems.api.ability.SimpleAbilityResult; import net.Indyuce.mmoitems.api.player.PlayerStats.CachedStats; import net.Indyuce.mmoitems.stat.data.AbilityData; -import net.mmogroup.mmolib.MMOLib; public class Shockwave extends Ability { public Shockwave() { - super(CastingMode.ON_HIT, CastingMode.WHEN_HIT, CastingMode.LEFT_CLICK, CastingMode.RIGHT_CLICK, CastingMode.SHIFT_LEFT_CLICK, CastingMode.SHIFT_RIGHT_CLICK); + super(CastingMode.ON_HIT, CastingMode.WHEN_HIT, CastingMode.LEFT_CLICK, CastingMode.RIGHT_CLICK, CastingMode.SHIFT_LEFT_CLICK, + CastingMode.SHIFT_RIGHT_CLICK); addModifier("cooldown", 7.5); addModifier("knock-up", 1); @@ -58,10 +58,11 @@ public class Shockwave extends Ability { loc.add(vec); loc.getWorld().playSound(loc, Sound.BLOCK_GRAVEL_BREAK, 1, 2); - MMOLib.plugin.getVersion().getWrapper().spawnParticle(Particle.BLOCK_CRACK, loc, 12, .5, 0, .5, 0, Material.DIRT); + loc.getWorld().spawnParticle(Particle.BLOCK_CRACK, loc, 12, .5, 0, .5, 0, Material.DIRT.createBlockData()); for (Entity ent : MMOUtils.getNearbyChunkEntities(loc)) - if (ent.getLocation().distance(loc) < 1.1 && ent instanceof LivingEntity && !ent.equals(stats.getPlayer()) && !hit.contains(ent.getEntityId())) { + if (ent.getLocation().distance(loc) < 1.1 && ent instanceof LivingEntity && !ent.equals(stats.getPlayer()) + && !hit.contains(ent.getEntityId())) { hit.add(ent.getEntityId()); ent.playEffect(EntityEffect.HURT); ent.setVelocity(ent.getVelocity().setY(.4 * knockUp)); diff --git a/src/main/java/net/Indyuce/mmoitems/ability/Shulker_Missile.java b/src/main/java/net/Indyuce/mmoitems/ability/Shulker_Missile.java index ecfecf4b..4a8ec2be 100644 --- a/src/main/java/net/Indyuce/mmoitems/ability/Shulker_Missile.java +++ b/src/main/java/net/Indyuce/mmoitems/ability/Shulker_Missile.java @@ -23,7 +23,6 @@ import net.Indyuce.mmoitems.api.ability.AbilityResult; import net.Indyuce.mmoitems.api.ability.VectorAbilityResult; import net.Indyuce.mmoitems.api.player.PlayerStats.CachedStats; import net.Indyuce.mmoitems.stat.data.AbilityData; -import net.mmogroup.mmolib.MMOLib; import net.mmogroup.mmolib.api.AttackResult; import net.mmogroup.mmolib.api.DamageType; import net.mmogroup.mmolib.api.item.NBTItem; @@ -121,8 +120,8 @@ public class Shulker_Missile extends Ability implements Listener { y += .04; for (int j = 0; j < 2; j++) { double xz = y * Math.PI * 1.3 + (j * Math.PI); - MMOLib.plugin.getVersion().getWrapper().spawnParticle(Particle.REDSTONE, loc.clone().add(Math.cos(xz), y, Math.sin(xz)), - Color.MAROON); + loc.getWorld().spawnParticle(Particle.REDSTONE, loc.clone().add(Math.cos(xz), y, Math.sin(xz)), 1, + new Particle.DustOptions(Color.MAROON, 1)); } } if (y >= 2) diff --git a/src/main/java/net/Indyuce/mmoitems/ability/onhit/Blind.java b/src/main/java/net/Indyuce/mmoitems/ability/onhit/Blind.java index 73103933..7e60410b 100644 --- a/src/main/java/net/Indyuce/mmoitems/ability/onhit/Blind.java +++ b/src/main/java/net/Indyuce/mmoitems/ability/onhit/Blind.java @@ -15,12 +15,12 @@ import net.Indyuce.mmoitems.api.ability.AbilityResult; import net.Indyuce.mmoitems.api.ability.TargetAbilityResult; import net.Indyuce.mmoitems.api.player.PlayerStats.CachedStats; import net.Indyuce.mmoitems.stat.data.AbilityData; -import net.mmogroup.mmolib.MMOLib; import net.mmogroup.mmolib.version.VersionSound; public class Blind extends Ability { public Blind() { - super(CastingMode.ON_HIT, CastingMode.WHEN_HIT, CastingMode.LEFT_CLICK, CastingMode.RIGHT_CLICK, CastingMode.SHIFT_LEFT_CLICK, CastingMode.SHIFT_RIGHT_CLICK); + super(CastingMode.ON_HIT, CastingMode.WHEN_HIT, CastingMode.LEFT_CLICK, CastingMode.RIGHT_CLICK, CastingMode.SHIFT_LEFT_CLICK, + CastingMode.SHIFT_RIGHT_CLICK); addModifier("duration", 5); addModifier("cooldown", 9); @@ -28,7 +28,6 @@ public class Blind extends Ability { addModifier("stamina", 0); } - @Override public AbilityResult whenRan(CachedStats stats, LivingEntity target, AbilityData ability, ItemAttackResult result) { return new TargetAbilityResult(ability, stats.getPlayer(), target); @@ -37,13 +36,14 @@ public class Blind extends Ability { @Override public void whenCast(CachedStats stats, AbilityResult ability, ItemAttackResult result) { LivingEntity target = ((TargetAbilityResult) ability).getTarget(); - + target.getWorld().playSound(target.getLocation(), VersionSound.ENTITY_ENDERMAN_HURT.toSound(), 1, 2); for (double i = 0; i < Math.PI * 2; i += Math.PI / 24) for (double j = 0; j < 2; j++) { Location loc = target.getLocation(); - Vector vec = MMOUtils.rotateFunc(new Vector(Math.cos(i), 1 + Math.cos(i + (Math.PI * j)) * .5, Math.sin(i)), stats.getPlayer().getLocation()); - MMOLib.plugin.getVersion().getWrapper().spawnParticle(Particle.REDSTONE, loc.add(vec), Color.BLACK); + Vector vec = MMOUtils.rotateFunc(new Vector(Math.cos(i), 1 + Math.cos(i + (Math.PI * j)) * .5, Math.sin(i)), + stats.getPlayer().getLocation()); + loc.getWorld().spawnParticle(Particle.REDSTONE, loc.add(vec), 1, new Particle.DustOptions(Color.BLACK, 1)); } target.addPotionEffect(new PotionEffect(PotionEffectType.BLINDNESS, (int) (ability.getModifier("duration") * 20), 0)); } diff --git a/src/main/java/net/Indyuce/mmoitems/ability/onhit/Slow.java b/src/main/java/net/Indyuce/mmoitems/ability/onhit/Slow.java index 65d02ddf..cf003f56 100644 --- a/src/main/java/net/Indyuce/mmoitems/ability/onhit/Slow.java +++ b/src/main/java/net/Indyuce/mmoitems/ability/onhit/Slow.java @@ -16,11 +16,11 @@ import net.Indyuce.mmoitems.api.ability.AbilityResult; import net.Indyuce.mmoitems.api.ability.TargetAbilityResult; import net.Indyuce.mmoitems.api.player.PlayerStats.CachedStats; import net.Indyuce.mmoitems.stat.data.AbilityData; -import net.mmogroup.mmolib.MMOLib; public class Slow extends Ability { public Slow() { - super(CastingMode.ON_HIT, CastingMode.WHEN_HIT, CastingMode.LEFT_CLICK, CastingMode.RIGHT_CLICK, CastingMode.SHIFT_LEFT_CLICK, CastingMode.SHIFT_RIGHT_CLICK); + super(CastingMode.ON_HIT, CastingMode.WHEN_HIT, CastingMode.LEFT_CLICK, CastingMode.RIGHT_CLICK, CastingMode.SHIFT_LEFT_CLICK, + CastingMode.SHIFT_RIGHT_CLICK); addModifier("cooldown", 5); addModifier("duration", 3); @@ -49,11 +49,14 @@ public class Slow extends Ability { for (double j = 0; j < Math.PI * 2; j += Math.PI) for (double r = 0; r < .7; r += .1) - MMOLib.plugin.getVersion().getWrapper().spawnParticle(Particle.REDSTONE, loc.clone().add(Math.cos((ti / 2) + j + (Math.PI * r)) * r * 2, .1, Math.sin((ti / 2) + j + (Math.PI * r)) * r * 2), Color.WHITE); + loc.getWorld().spawnParticle(Particle.REDSTONE, + loc.clone().add(Math.cos((ti / 2) + j + (Math.PI * r)) * r * 2, .1, Math.sin((ti / 2) + j + (Math.PI * r)) * r * 2), + 1, new Particle.DustOptions(Color.WHITE, 1)); } }.runTaskTimer(MMOItems.plugin, 0, 1); target.getWorld().playSound(target.getLocation(), Sound.ENTITY_LLAMA_ANGRY, 1, 2); - target.addPotionEffect(new PotionEffect(PotionEffectType.SLOW, (int) (ability.getModifier("duration") * 20), (int) ability.getModifier("amplifier"))); + target.addPotionEffect( + new PotionEffect(PotionEffectType.SLOW, (int) (ability.getModifier("duration") * 20), (int) ability.getModifier("amplifier"))); } } diff --git a/src/main/java/net/Indyuce/mmoitems/ability/onhit/Vampirism.java b/src/main/java/net/Indyuce/mmoitems/ability/onhit/Vampirism.java index bc811617..adfa226b 100644 --- a/src/main/java/net/Indyuce/mmoitems/ability/onhit/Vampirism.java +++ b/src/main/java/net/Indyuce/mmoitems/ability/onhit/Vampirism.java @@ -15,11 +15,11 @@ import net.Indyuce.mmoitems.api.ability.AbilityResult; import net.Indyuce.mmoitems.api.ability.TargetAbilityResult; import net.Indyuce.mmoitems.api.player.PlayerStats.CachedStats; import net.Indyuce.mmoitems.stat.data.AbilityData; -import net.mmogroup.mmolib.MMOLib; public class Vampirism extends Ability { public Vampirism() { - super(CastingMode.ON_HIT, CastingMode.WHEN_HIT, CastingMode.LEFT_CLICK, CastingMode.RIGHT_CLICK, CastingMode.SHIFT_LEFT_CLICK, CastingMode.SHIFT_RIGHT_CLICK); + super(CastingMode.ON_HIT, CastingMode.WHEN_HIT, CastingMode.LEFT_CLICK, CastingMode.RIGHT_CLICK, CastingMode.SHIFT_LEFT_CLICK, + CastingMode.SHIFT_RIGHT_CLICK); addModifier("cooldown", 8); addModifier("drain", 10); @@ -47,7 +47,9 @@ public class Vampirism extends Ability { dis += ti <= 10 ? .15 : -.15; for (double j = 0; j < Math.PI * 2; j += Math.PI / 4) - MMOLib.plugin.getVersion().getWrapper().spawnParticle(Particle.REDSTONE, loc.clone().add(Math.cos(j + (ti / 20)) * dis, 0, Math.sin(j + (ti / 20)) * dis), Color.RED); + loc.getWorld().spawnParticle(Particle.REDSTONE, + loc.clone().add(Math.cos(j + (ti / 20)) * dis, 0, Math.sin(j + (ti / 20)) * dis), 1, + new Particle.DustOptions(Color.RED, 1)); } if (ti >= 17) cancel(); diff --git a/src/main/java/net/Indyuce/mmoitems/ability/onhit/Weaken_Target.java b/src/main/java/net/Indyuce/mmoitems/ability/onhit/Weaken_Target.java index 6bc71e9b..0d2ae63e 100644 --- a/src/main/java/net/Indyuce/mmoitems/ability/onhit/Weaken_Target.java +++ b/src/main/java/net/Indyuce/mmoitems/ability/onhit/Weaken_Target.java @@ -26,7 +26,6 @@ import net.Indyuce.mmoitems.api.ability.AbilityResult; import net.Indyuce.mmoitems.api.ability.TargetAbilityResult; import net.Indyuce.mmoitems.api.player.PlayerStats.CachedStats; import net.Indyuce.mmoitems.stat.data.AbilityData; -import net.mmogroup.mmolib.MMOLib; import net.mmogroup.mmolib.version.VersionSound; public class Weaken_Target extends Ability implements Listener { @@ -69,14 +68,16 @@ public class Weaken_Target extends Ability implements Listener { } for (double j = 0; j < Math.PI * 2; j += Math.PI / 18) - target.getWorld().spawnParticle(Particle.SMOKE_NORMAL, target.getLocation().clone().add(Math.cos(j) * .7, .1, Math.sin(j) * .7), 0); + target.getWorld().spawnParticle(Particle.SMOKE_NORMAL, target.getLocation().clone().add(Math.cos(j) * .7, .1, Math.sin(j) * .7), + 0); } }.runTaskTimer(MMOItems.plugin, 0, 20); } @EventHandler public void a(EntityDamageEvent event) { - if (event.getCause() != DamageCause.ENTITY_ATTACK && event.getCause() != DamageCause.ENTITY_EXPLOSION && event.getCause() != DamageCause.PROJECTILE) + if (event.getCause() != DamageCause.ENTITY_ATTACK && event.getCause() != DamageCause.ENTITY_EXPLOSION + && event.getCause() != DamageCause.PROJECTILE) return; Entity entity = event.getEntity(); @@ -106,7 +107,8 @@ public class Weaken_Target extends Ability implements Listener { for (int j = 0; j < 3; j++) { y += .07; for (int k = 0; k < 3; k++) - MMOLib.plugin.getVersion().getWrapper().spawnParticle(Particle.REDSTONE, loc.clone().add(Math.cos(y * Math.PI + (k * Math.PI * 2 / 3)) * (3 - y) / 2.5, y, Math.sin(y * Math.PI + (k * Math.PI * 2 / 3)) * (3 - y) / 2.5), Color.BLACK); + loc.getWorld().spawnParticle(Particle.REDSTONE, loc.clone().add(Math.cos(y * Math.PI + (k * Math.PI * 2 / 3)) * (3 - y) / 2.5, + y, Math.sin(y * Math.PI + (k * Math.PI * 2 / 3)) * (3 - y) / 2.5), 1, new Particle.DustOptions(Color.BLACK, 1)); } if (y > 3) cancel(); diff --git a/src/main/java/net/Indyuce/mmoitems/ability/onhit/Wither.java b/src/main/java/net/Indyuce/mmoitems/ability/onhit/Wither.java index 51171ee8..d0c4648d 100644 --- a/src/main/java/net/Indyuce/mmoitems/ability/onhit/Wither.java +++ b/src/main/java/net/Indyuce/mmoitems/ability/onhit/Wither.java @@ -16,11 +16,11 @@ import net.Indyuce.mmoitems.api.ability.AbilityResult; import net.Indyuce.mmoitems.api.ability.TargetAbilityResult; import net.Indyuce.mmoitems.api.player.PlayerStats.CachedStats; import net.Indyuce.mmoitems.stat.data.AbilityData; -import net.mmogroup.mmolib.MMOLib; public class Wither extends Ability { public Wither() { - super(CastingMode.ON_HIT, CastingMode.WHEN_HIT, CastingMode.LEFT_CLICK, CastingMode.RIGHT_CLICK, CastingMode.SHIFT_LEFT_CLICK, CastingMode.SHIFT_RIGHT_CLICK); + super(CastingMode.ON_HIT, CastingMode.WHEN_HIT, CastingMode.LEFT_CLICK, CastingMode.RIGHT_CLICK, CastingMode.SHIFT_LEFT_CLICK, + CastingMode.SHIFT_RIGHT_CLICK); addModifier("cooldown", 8); addModifier("duration", 3); @@ -52,12 +52,13 @@ public class Wither extends Ability { double a = y * Math.PI + (j * Math.PI * 2 / 3); double x = Math.cos(a) * (3 - y) / 2.5; double z = Math.sin(a) * (3 - y) / 2.5; - MMOLib.plugin.getVersion().getWrapper().spawnParticle(Particle.REDSTONE, loc.clone().add(x, x, z), Color.BLACK); + loc.getWorld().spawnParticle(Particle.REDSTONE, loc.clone().add(x, x, z), 1, new Particle.DustOptions(Color.BLACK, 1)); } } } }.runTaskTimer(MMOItems.plugin, 0, 1); target.getWorld().playSound(target.getLocation(), Sound.ENTITY_WITHER_SHOOT, 2, 2); - target.addPotionEffect(new PotionEffect(PotionEffectType.WITHER, (int) (ability.getModifier("duration") * 20), (int) ability.getModifier("amplifier"))); + target.addPotionEffect( + new PotionEffect(PotionEffectType.WITHER, (int) (ability.getModifier("duration") * 20), (int) ability.getModifier("amplifier"))); } } diff --git a/src/main/java/net/Indyuce/mmoitems/api/ArrowParticles.java b/src/main/java/net/Indyuce/mmoitems/api/ArrowParticles.java index 5d2946e1..573eda2e 100644 --- a/src/main/java/net/Indyuce/mmoitems/api/ArrowParticles.java +++ b/src/main/java/net/Indyuce/mmoitems/api/ArrowParticles.java @@ -9,7 +9,6 @@ import com.google.gson.JsonObject; import com.google.gson.JsonParser; import net.Indyuce.mmoitems.MMOItems; -import net.mmogroup.mmolib.MMOLib; import net.mmogroup.mmolib.api.item.NBTItem; public class ArrowParticles extends BukkitRunnable { @@ -43,8 +42,7 @@ public class ArrowParticles extends BukkitRunnable { } if (color != null) - MMOLib.plugin.getVersion().getWrapper().spawnParticle(particle, arrow.getLocation().add(0, .25, 0), amount, offset, offset, offset, 0, 1, - color); + arrow.getWorld().spawnParticle(particle, arrow.getLocation().add(0, .25, 0), amount, offset, offset, offset, color); else arrow.getWorld().spawnParticle(particle, arrow.getLocation().add(0, .25, 0), amount, offset, offset, offset, speed); } diff --git a/src/main/java/net/Indyuce/mmoitems/api/Element.java b/src/main/java/net/Indyuce/mmoitems/api/Element.java index 693fad60..c3285563 100644 --- a/src/main/java/net/Indyuce/mmoitems/api/Element.java +++ b/src/main/java/net/Indyuce/mmoitems/api/Element.java @@ -20,7 +20,6 @@ import net.Indyuce.mmoitems.MMOItems; import net.Indyuce.mmoitems.MMOUtils; import net.Indyuce.mmoitems.api.player.PlayerStats.CachedStats; import net.Indyuce.mmoitems.listener.ElementListener; -import net.mmogroup.mmolib.MMOLib; import net.mmogroup.mmolib.api.DamageType; import net.mmogroup.mmolib.version.VersionMaterial; import net.mmogroup.mmolib.version.VersionSound; @@ -47,9 +46,8 @@ public enum Element { if ((y += .07) >= 3) cancel(); for (double k = 0; k < Math.PI * 2; k += Math.PI * 2 / 3) - MMOLib.plugin.getVersion().getWrapper().spawnParticle(Particle.REDSTONE, loc.clone() - .add(Math.cos(y * Math.PI + k) * (3 - y) / 2.5, y / 1.1, Math.sin(y * Math.PI + k) * (3 - y) / 2.5), - Color.WHITE); + loc.getWorld().spawnParticle(Particle.REDSTONE, loc.clone().add(Math.cos(y * Math.PI + k) * (3 - y) / 2.5, + y / 1.1, Math.sin(y * Math.PI + k) * (3 - y) / 2.5), 1, new Particle.DustOptions(Color.WHITE, 1)); } } }.runTaskTimer(MMOItems.plugin, 0, 1); @@ -80,8 +78,8 @@ public enum Element { new ElementHandler() { public void elementAttack(CachedStats stats, ItemAttackResult result, LivingEntity target, double attack, double absolute) { target.getWorld().playSound(target.getLocation(), Sound.BLOCK_GRASS_BREAK, 2, 0); - MMOLib.plugin.getVersion().getWrapper().spawnParticle(Particle.BLOCK_CRACK, target.getLocation().add(0, .1, 0), 64, 1, 0, 1, 0, - Material.DIRT); + target.getWorld().spawnParticle(Particle.BLOCK_CRACK, target.getLocation().add(0, .1, 0), 64, 1, 0, 1, + Material.DIRT.createBlockData()); result.addDamage(absolute); target.setVelocity(new Vector(0, 1, 0)); @@ -186,8 +184,8 @@ public enum Element { } public ElementParticle(Particle particle, float speed, int amount, Material material) { - display = (entity) -> MMOLib.plugin.getVersion().getWrapper().spawnParticle(particle, - entity.getLocation().add(0, entity.getHeight() / 2, 0), amount, 0, 0, 0, speed, material); + display = (entity) -> entity.getWorld().spawnParticle(particle, entity.getLocation().add(0, entity.getHeight() / 2, 0), amount, 0, 0, 0, + speed, material.createBlockData()); } public void displayParticle(Entity entity) { diff --git a/src/main/java/net/Indyuce/mmoitems/api/edition/NewItemEdition.java b/src/main/java/net/Indyuce/mmoitems/api/edition/NewItemEdition.java index e734c149..c0029ae7 100644 --- a/src/main/java/net/Indyuce/mmoitems/api/edition/NewItemEdition.java +++ b/src/main/java/net/Indyuce/mmoitems/api/edition/NewItemEdition.java @@ -49,7 +49,7 @@ public class NewItemEdition implements Edition { * default chat edition feature */ new ChatEdition(this); - MMOLib.plugin.getVersion().getWrapper().sendTitle(inv.getPlayer(), ChatColor.GOLD + "" + ChatColor.BOLD + "Item Creation", "See chat.", 10, 40, 10); + inv.getPlayer().sendTitle(ChatColor.GOLD + "" + ChatColor.BOLD + "Item Creation", "See chat.", 10, 40, 10); } @Override diff --git a/src/main/java/net/Indyuce/mmoitems/api/edition/StatEdition.java b/src/main/java/net/Indyuce/mmoitems/api/edition/StatEdition.java index d406dedc..36440d0a 100644 --- a/src/main/java/net/Indyuce/mmoitems/api/edition/StatEdition.java +++ b/src/main/java/net/Indyuce/mmoitems/api/edition/StatEdition.java @@ -63,8 +63,7 @@ public class StatEdition implements Edition { * default chat edition feature */ new ChatEdition(this); - MMOLib.plugin.getVersion().getWrapper().sendTitle(inv.getPlayer(), ChatColor.GOLD + "" + ChatColor.BOLD + "Item Edition", "See chat.", 10, 40, - 10); + inv.getPlayer().sendTitle(ChatColor.GOLD + "" + ChatColor.BOLD + "Item Edition", "See chat.", 10, 40, 10); } @Override diff --git a/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/staff/ManaSpirit.java b/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/staff/ManaSpirit.java index e86bfed1..c701a9f2 100644 --- a/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/staff/ManaSpirit.java +++ b/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/staff/ManaSpirit.java @@ -15,7 +15,6 @@ import net.Indyuce.mmoitems.MMOItems; import net.Indyuce.mmoitems.MMOUtils; import net.Indyuce.mmoitems.api.ItemAttackResult; import net.Indyuce.mmoitems.api.player.PlayerStats.CachedStats; -import net.mmogroup.mmolib.MMOLib; import net.mmogroup.mmolib.api.DamageType; import net.mmogroup.mmolib.api.item.NBTItem; @@ -46,11 +45,12 @@ public class ManaSpirit implements StaffAttackHandler { for (double item = 0; item < Math.PI * 2; item += Math.PI / 3.5) { Vector vec = MMOUtils.rotateFunc(new Vector(r * Math.cos(item), r * Math.sin(item), 0), loc); if (random.nextDouble() <= .6) - MMOLib.plugin.getVersion().getWrapper().spawnParticle(Particle.REDSTONE, loc.clone().add(vec), Color.AQUA); + loc.getWorld().spawnParticle(Particle.REDSTONE, loc.clone().add(vec), 1, new Particle.DustOptions(Color.AQUA, 1)); } for (Entity target : targets) if (MMOUtils.canDamage(stats.getPlayer(), loc, target)) { - new ItemAttackResult(attackDamage, DamageType.WEAPON, DamageType.MAGIC).applyEffectsAndDamage(stats, nbt, (LivingEntity) target); + new ItemAttackResult(attackDamage, DamageType.WEAPON, DamageType.MAGIC).applyEffectsAndDamage(stats, nbt, + (LivingEntity) target); loc.getWorld().spawnParticle(Particle.EXPLOSION_LARGE, loc, 0); cancel(); return; diff --git a/src/main/java/net/Indyuce/mmoitems/gui/edition/UpgradingEdition.java b/src/main/java/net/Indyuce/mmoitems/gui/edition/UpgradingEdition.java index 445c5c64..1586f3ed 100644 --- a/src/main/java/net/Indyuce/mmoitems/gui/edition/UpgradingEdition.java +++ b/src/main/java/net/Indyuce/mmoitems/gui/edition/UpgradingEdition.java @@ -11,6 +11,7 @@ import org.bukkit.event.inventory.InventoryAction; import org.bukkit.event.inventory.InventoryClickEvent; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; +import org.bukkit.inventory.meta.Damageable; import org.bukkit.inventory.meta.ItemMeta; import net.Indyuce.mmoitems.MMOItems; @@ -20,7 +21,6 @@ import net.Indyuce.mmoitems.api.edition.StatEdition; import net.Indyuce.mmoitems.api.item.template.MMOItemTemplate; import net.Indyuce.mmoitems.api.item.util.NamedItemStack; import net.Indyuce.mmoitems.stat.type.ItemStat; -import net.mmogroup.mmolib.MMOLib; import net.mmogroup.mmolib.api.util.AltChar; import net.mmogroup.mmolib.version.VersionMaterial; @@ -132,8 +132,9 @@ public class UpgradingEdition extends EditionInventory { inv.setItem(24, successItem); if (success > 0 && !template.getType().corresponds(Type.CONSUMABLE)) { - ItemStack destroyOnFail = MMOLib.plugin.getVersion().getWrapper().generate(Material.FISHING_ROD, 30); + ItemStack destroyOnFail = new ItemStack(Material.FISHING_ROD); ItemMeta destroyOnFailMeta = destroyOnFail.getItemMeta(); + ((Damageable) destroyOnFailMeta).setDamage(30); destroyOnFailMeta.setDisplayName(ChatColor.GREEN + "Destroy on fail?"); List destroyOnFailLore = new ArrayList<>(); destroyOnFailLore.add(ChatColor.GRAY + "When toggled on, the item will be"); diff --git a/src/main/java/net/Indyuce/mmoitems/stat/data/ColorData.java b/src/main/java/net/Indyuce/mmoitems/stat/data/ColorData.java index 8ae82441..fba67223 100644 --- a/src/main/java/net/Indyuce/mmoitems/stat/data/ColorData.java +++ b/src/main/java/net/Indyuce/mmoitems/stat/data/ColorData.java @@ -47,7 +47,7 @@ public class ColorData implements StatData, RandomStatData { @Override public String toString() { - return "{red=" + red + ",green=" + green + ",blue=" + blue + "}"; + return "{Red=" + red + ",Green=" + green + ",Blue=" + blue + "}"; } @Override diff --git a/src/main/java/net/Indyuce/mmoitems/stat/data/ParticleData.java b/src/main/java/net/Indyuce/mmoitems/stat/data/ParticleData.java index 04f5ae24..94ce32ff 100644 --- a/src/main/java/net/Indyuce/mmoitems/stat/data/ParticleData.java +++ b/src/main/java/net/Indyuce/mmoitems/stat/data/ParticleData.java @@ -20,7 +20,6 @@ import net.Indyuce.mmoitems.particle.api.ParticleRunnable; import net.Indyuce.mmoitems.particle.api.ParticleType; import net.Indyuce.mmoitems.stat.data.random.RandomStatData; import net.Indyuce.mmoitems.stat.data.type.StatData; -import net.mmogroup.mmolib.MMOLib; public class ParticleData implements StatData, RandomStatData { private final ParticleType type; @@ -98,15 +97,14 @@ public class ParticleData implements StatData, RandomStatData { public void display(Location location, int amount, float offsetX, float offsetY, float offsetZ, float speed) { if (isColorable(particle)) - MMOLib.plugin.getVersion().getWrapper().spawnParticle(particle, location, amount, offsetX, offsetY, offsetZ, speed, 1, color); + location.getWorld().spawnParticle(particle, location, amount, offsetX, offsetY, offsetZ, speed, new Particle.DustOptions(color, 1)); else location.getWorld().spawnParticle(particle, location, amount, offsetX, offsetY, offsetZ, speed); } public void display(Location location, Vector direction, float speed) { if (isColorable(particle)) - MMOLib.plugin.getVersion().getWrapper().spawnParticle(particle, location, 0, direction.getX(), direction.getY(), direction.getZ(), speed, - 1, color); + location.getWorld().spawnParticle(particle, location, 0, direction.getX(), direction.getY(), direction.getZ(), speed, new Particle.DustOptions(color, 1)); else location.getWorld().spawnParticle(particle, location, 0, direction.getX(), direction.getY(), direction.getZ(), speed); }