diff --git a/plugin/src/main/java/com/denizenscript/denizen/events/entity/EntityTargetsScriptEvent.java b/plugin/src/main/java/com/denizenscript/denizen/events/entity/EntityTargetsScriptEvent.java index baa019d83a..c5b0412b33 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/events/entity/EntityTargetsScriptEvent.java +++ b/plugin/src/main/java/com/denizenscript/denizen/events/entity/EntityTargetsScriptEvent.java @@ -23,12 +23,12 @@ public class EntityTargetsScriptEvent extends BukkitScriptEvent implements Liste // // @Cancellable true // - // @Triggers when an entity targets a new entity - usually a hostile mob preparing to attack something. + // @Triggers when an entity targets a new entity (usually a hostile mob preparing to attack something), or un-targets one. // // @Context // returns the targeting entity. // returns the reason the entity changed targets. Refer to <@link url https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/entity/EntityTargetEvent.TargetReason.html>. - // returns the targeted entity. + // returns the targeted entity, if any. // // @Determine // EntityTag to make the entity target a different entity instead. diff --git a/plugin/src/main/java/com/denizenscript/denizen/nms/NMSHandler.java b/plugin/src/main/java/com/denizenscript/denizen/nms/NMSHandler.java index b8bb558fa3..19a8def9e6 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/nms/NMSHandler.java +++ b/plugin/src/main/java/com/denizenscript/denizen/nms/NMSHandler.java @@ -84,7 +84,6 @@ public static JavaPlugin getJavaPlugin() { public static FishingHelper fishingHelper; public static ItemHelper itemHelper; public static PacketHelper packetHelper; - public static ParticleHelper particleHelper; public static PlayerHelper playerHelper; public static WorldHelper worldHelper; public static EnchantmentHelper enchantmentHelper; diff --git a/plugin/src/main/java/com/denizenscript/denizen/nms/abstracts/ParticleHelper.java b/plugin/src/main/java/com/denizenscript/denizen/nms/abstracts/ParticleHelper.java deleted file mode 100644 index 2c3b9888c6..0000000000 --- a/plugin/src/main/java/com/denizenscript/denizen/nms/abstracts/ParticleHelper.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.denizenscript.denizen.nms.abstracts; - -import com.denizenscript.denizen.nms.NMSHandler; -import com.denizenscript.denizen.nms.NMSVersion; -import com.denizenscript.denizen.nms.interfaces.Particle; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -public class ParticleHelper { - - public ParticleHelper() { - for (org.bukkit.Particle particle : org.bukkit.Particle.values()) { - register(particle.name(), new Particle(particle)); - } - // TODO: 1.20.6: enum names are different now, can change to valueOf and let Spigot's runtime updating handle it - register("SMOKE", new Particle(org.bukkit.Particle.SMOKE_NORMAL)); - register("HUGE_EXPLOSION", new Particle(org.bukkit.Particle.EXPLOSION_HUGE)); - register("LARGE_EXPLODE", new Particle(org.bukkit.Particle.EXPLOSION_LARGE)); - register("BUBBLE", new Particle(org.bukkit.Particle.WATER_BUBBLE)); - register("SUSPEND", new Particle(org.bukkit.Particle.SUSPENDED)); - register("DEPTH_SUSPEND", new Particle(org.bukkit.Particle.SUSPENDED_DEPTH)); - register("CRIT", new Particle(org.bukkit.Particle.CRIT)); - register("MAGIC_CRIT", new Particle(org.bukkit.Particle.CRIT_MAGIC)); - register("MOB_SPELL", new Particle(org.bukkit.Particle.SPELL_MOB)); - // TODO: 1.20.6: this particle type was removed in favor of entity_effect now having a color option - if (NMSHandler.getVersion().isAtMost(NMSVersion.v1_19)) { - register("MOB_SPELL_AMBIENT", new Particle(org.bukkit.Particle.SPELL_MOB_AMBIENT)); - } - register("INSTANT_SPELL", new Particle(org.bukkit.Particle.SPELL_INSTANT)); - register("WITCH_MAGIC", new Particle(org.bukkit.Particle.SPELL_WITCH)); - register("STEP_SOUND", new Particle(org.bukkit.Particle.HEART)); - register("EXPLODE", new Particle(org.bukkit.Particle.EXPLOSION_NORMAL)); - register("SPLASH", new Particle(org.bukkit.Particle.WATER_SPLASH)); - register("LARGE_SMOKE", new Particle(org.bukkit.Particle.SMOKE_LARGE)); - register("RED_DUST", new Particle(org.bukkit.Particle.REDSTONE)); - register("SNOWBALL_POOF", new Particle(org.bukkit.Particle.SNOWBALL)); - register("ANGRY_VILLAGER", new Particle(org.bukkit.Particle.VILLAGER_ANGRY)); - register("HAPPY_VILLAGER", new Particle(org.bukkit.Particle.VILLAGER_HAPPY)); - } - - public final Map particles = new HashMap<>(); - public final List visibleParticles = new ArrayList<>(); - - public void register(String name, Particle particle) { - particles.put(name.toUpperCase(), particle); - if (particle.isVisible()) { - visibleParticles.add(particle); - } - } - - public boolean hasParticle(String name) { - return particles.containsKey(name.toUpperCase()); - } - - public Particle getParticle(String name) { - return particles.get(name.toUpperCase()); - } - - public List getVisibleParticles() { - return visibleParticles; - } -} diff --git a/plugin/src/main/java/com/denizenscript/denizen/nms/interfaces/Particle.java b/plugin/src/main/java/com/denizenscript/denizen/nms/interfaces/Particle.java deleted file mode 100644 index 614e0cd10e..0000000000 --- a/plugin/src/main/java/com/denizenscript/denizen/nms/interfaces/Particle.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.denizenscript.denizen.nms.interfaces; - -import org.bukkit.Location; -import org.bukkit.entity.Player; -import org.bukkit.util.Vector; - -public class Particle { - - public org.bukkit.Particle particle; - - public Particle(org.bukkit.Particle particle) { - this.particle = particle; - } - - public void playFor(Player player, Location location, int count, Vector offset, double extra, T data) { - player.spawnParticle(particle, location, count, offset.getX(), offset.getY(), offset.getZ(), extra, data); - } - - public boolean isVisible() { - // TODO: 1.20.6: enum names are different now, can change to valueOf and let Spigot's runtime updating handle it - return particle != org.bukkit.Particle.SUSPENDED && particle != org.bukkit.Particle.SUSPENDED_DEPTH - && particle != org.bukkit.Particle.WATER_BUBBLE; - } - - public String getName() { - return particle.name(); - } - - public Class neededData() { - Class clazz = particle.getDataType(); - if (clazz == Void.class) { - return null; - } - return clazz; - } -} diff --git a/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/world/PlayEffectCommand.java b/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/world/PlayEffectCommand.java index 3c685c6eaf..11620e9fb5 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/world/PlayEffectCommand.java +++ b/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/world/PlayEffectCommand.java @@ -1,33 +1,44 @@ package com.denizenscript.denizen.scripts.commands.world; +import com.denizenscript.denizen.nms.NMSHandler; import com.denizenscript.denizen.nms.NMSVersion; import com.denizenscript.denizen.objects.*; import com.denizenscript.denizen.objects.properties.bukkit.BukkitColorExtensions; +import com.denizenscript.denizen.utilities.BukkitImplDeprecations; +import com.denizenscript.denizen.utilities.LegacyNamingHelper; +import com.denizenscript.denizen.utilities.LegacyParticleNaming; +import com.denizenscript.denizencore.exceptions.InvalidArgumentsException; +import com.denizenscript.denizencore.objects.Argument; import com.denizenscript.denizencore.objects.ObjectTag; import com.denizenscript.denizencore.objects.core.ColorTag; import com.denizenscript.denizencore.objects.core.DurationTag; -import com.denizenscript.denizencore.utilities.debugging.Debug; -import com.denizenscript.denizen.nms.NMSHandler; -import com.denizenscript.denizen.nms.interfaces.Particle; -import com.denizenscript.denizencore.exceptions.InvalidArgumentsException; -import com.denizenscript.denizencore.objects.Argument; import com.denizenscript.denizencore.objects.core.ElementTag; import com.denizenscript.denizencore.objects.core.ListTag; import com.denizenscript.denizencore.scripts.ScriptEntry; import com.denizenscript.denizencore.scripts.commands.AbstractCommand; import com.denizenscript.denizencore.utilities.CoreUtilities; -import com.denizenscript.denizen.utilities.BukkitImplDeprecations; +import com.denizenscript.denizencore.utilities.debugging.Debug; import org.bukkit.Effect; +import org.bukkit.Particle; import org.bukkit.Vibration; import org.bukkit.block.data.BlockData; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; -import org.bukkit.util.Vector; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Random; public class PlayEffectCommand extends AbstractCommand { + public static final LegacyNamingHelper PARTICLE_NAMING = new LegacyNamingHelper<>(Particle.class); + public static final List VISIBLE_PARTICLES = new ArrayList<>(Arrays.asList(Particle.values())); + + static { + VISIBLE_PARTICLES.removeAll(List.of(Particle.valueOf("SUSPENDED"), Particle.valueOf("SUSPENDED_DEPTH"), Particle.valueOf("WATER_BUBBLE"))); + } + public PlayEffectCommand() { setName("playeffect"); setSyntax("playeffect [effect:] [at:|...] (data:<#.#>) (special_data:) (visibility:<#.#>) (quantity:<#>) (offset:<#.#>,<#.#>,<#.#>) (targets:|...) (velocity:)"); @@ -39,7 +50,7 @@ public PlayEffectCommand() { // @name Particle Effects // @group Useful Lists // @description - // All of the effects listed here can be used by <@link command PlayEffect> to display visual effects or play sounds + // All the effects listed here can be used by <@link command PlayEffect> to display visual effects or play sounds // // Effects: // - Everything on <@link url https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Particle.html> @@ -98,7 +109,7 @@ public PlayEffectCommand() { @Override public void addCustomTabCompletions(TabCompletionsBuilder tab) { - tab.addWithPrefix("effect:", NMSHandler.particleHelper.particles.keySet()); + tab.addWithPrefix("effect:", Particle.values()); tab.addWithPrefix("effect:", Effect.values()); } @@ -117,19 +128,26 @@ public void parseArgs(ScriptEntry scriptEntry) throws InvalidArgumentsException else if (!scriptEntry.hasObject("effect") && !scriptEntry.hasObject("particleeffect") && !scriptEntry.hasObject("iconcrack")) { - if (NMSHandler.particleHelper.hasParticle(arg.getValue())) { - scriptEntry.addObject("particleeffect", NMSHandler.particleHelper.getParticle(arg.getValue())); + String particleName = CoreUtilities.toUpperCase(arg.getValue()); + Particle particle = PARTICLE_NAMING.fromName(particleName, scriptEntry.getContext()); + if (particle != null) { + scriptEntry.addObject("particleeffect", particle); + continue; + } + particle = LegacyParticleNaming.legacyParticleNames.get(particleName); + if (particle != null) { + BukkitImplDeprecations.oldSpigotNames.warn(scriptEntry); + scriptEntry.addObject("particleeffect", particle); continue; } - else if (arg.matches("barrier") && NMSHandler.getVersion().isAtLeast(NMSVersion.v1_18)) { - scriptEntry.addObject("particleeffect", NMSHandler.particleHelper.getParticle("block_marker")); + if (arg.matches("barrier") && NMSHandler.getVersion().isAtLeast(NMSVersion.v1_18)) { + scriptEntry.addObject("particleeffect", Particle.BLOCK_MARKER); scriptEntry.addObject("special_data", new ElementTag("barrier")); continue; } else if (arg.matches("random")) { // Get another effect if "RANDOM" is used - List visible = NMSHandler.particleHelper.getVisibleParticles(); - scriptEntry.addObject("particleeffect", visible.get(CoreUtilities.getRandom().nextInt(visible.size()))); + scriptEntry.addObject("particleeffect", VISIBLE_PARTICLES.get(CoreUtilities.getRandom().nextInt(VISIBLE_PARTICLES.size()))); continue; } else if (arg.startsWith("iconcrack_")) { @@ -227,7 +245,7 @@ public void execute(ScriptEntry scriptEntry) { ElementTag special_data = scriptEntry.getElement("special_data"); LocationTag velocity = scriptEntry.getObjectTag("velocity"); if (scriptEntry.dbCallShouldDebug()) { - Debug.report(scriptEntry, getName(), (effect != null ? db("effect", effect.name()) : particleEffect != null ? db("special effect", particleEffect.getName()) : iconcrack), + Debug.report(scriptEntry, getName(), (effect != null ? db("effect", effect.name()) : particleEffect != null ? db("special effect", particleEffect.name()) : iconcrack), db("locations", locations), db("targets", targets), radius, data, quantity, offset, special_data, velocity, (should_offset ? db("note", "Location will be offset 1 block-height upward (see documentation)") : "")); } for (LocationTag location : locations) { @@ -268,23 +286,23 @@ else if (particleEffect != null) { } } } - Class clazz = particleEffect.neededData(); + Class clazz = particleEffect.getDataType() == Void.class ? null : particleEffect.getDataType(); Object dataObject = null; if (clazz != null) { if (special_data == null) { - Debug.echoError("Missing required special data for particle: " + particleEffect.getName()); + Debug.echoError("Missing required special data for particle: " + particleEffect.name()); return; } - else if (clazz == org.bukkit.Particle.DustOptions.class) { + else if (clazz == Particle.DustOptions.class) { ListTag dataList = ListTag.valueOf(special_data.asString(), scriptEntry.getContext()); if (dataList.size() != 2) { - Debug.echoError("DustOptions special_data must have 2 list entries for particle: " + particleEffect.getName()); + Debug.echoError("DustOptions special_data must have 2 list entries for particle: " + particleEffect.name()); return; } else { float size = Float.parseFloat(dataList.get(0)); ColorTag color = ColorTag.valueOf(dataList.get(1), scriptEntry.context); - dataObject = new org.bukkit.Particle.DustOptions(BukkitColorExtensions.getColor(color), size); + dataObject = new Particle.DustOptions(BukkitColorExtensions.getColor(color), size); } } else if (clazz == BlockData.class) { @@ -295,23 +313,23 @@ else if (clazz == ItemStack.class) { ItemTag itemType = ItemTag.valueOf(special_data.asString(), scriptEntry.getContext()); dataObject = itemType.getItemStack(); } - else if (clazz == org.bukkit.Particle.DustTransition.class) { + else if (clazz == Particle.DustTransition.class) { ListTag dataList = ListTag.valueOf(special_data.asString(), scriptEntry.getContext()); if (dataList.size() != 3) { - Debug.echoError("DustTransition special_data must have 3 list entries for particle: " + particleEffect.getName()); + Debug.echoError("DustTransition special_data must have 3 list entries for particle: " + particleEffect.name()); return; } else { float size = Float.parseFloat(dataList.get(0)); ColorTag fromColor = ColorTag.valueOf(dataList.get(1), scriptEntry.context); ColorTag toColor = ColorTag.valueOf(dataList.get(2), scriptEntry.context); - dataObject = new org.bukkit.Particle.DustTransition(BukkitColorExtensions.getColor(fromColor), BukkitColorExtensions.getColor(toColor), size); + dataObject = new Particle.DustTransition(BukkitColorExtensions.getColor(fromColor), BukkitColorExtensions.getColor(toColor), size); } } else if (clazz == Vibration.class) { ListTag dataList = ListTag.valueOf(special_data.asString(), scriptEntry.getContext()); if (dataList.size() != 3) { - Debug.echoError("Vibration special_data must have 3 list entries for particle: " + particleEffect.getName()); + Debug.echoError("Vibration special_data must have 3 list entries for particle: " + particleEffect.name()); return; } else { @@ -329,27 +347,26 @@ else if (clazz == Vibration.class) { } } else { - Debug.echoError("Unknown particle data type: " + clazz.getCanonicalName() + " for particle: " + particleEffect.getName()); + Debug.echoError("Unknown particle data type: " + clazz.getCanonicalName() + " for particle: " + particleEffect.name()); return; } } else if (special_data != null) { - Debug.echoError("Particles of type '" + particleEffect.getName() + "' cannot take special_data as input."); + Debug.echoError("Particles of type '" + particleEffect.name() + "' cannot take special_data as input."); return; } Random random = CoreUtilities.getRandom(); int quantityInt = quantity.asInt(); for (Player player : players) { if (velocity == null) { - particleEffect.playFor(player, location, quantityInt, offset.toVector(), data.asDouble(), dataObject); + player.spawnParticle(particleEffect, location, quantityInt, offset.getX(), offset.getY(), offset.getZ(), data.asDouble(), dataObject); } else { - Vector velocityVector = velocity.toVector(); for (int i = 0; i < quantityInt; i++) { LocationTag singleLocation = location.clone().add((random.nextDouble() - 0.5) * offset.getX(), (random.nextDouble() - 0.5) * offset.getY(), (random.nextDouble() - 0.5) * offset.getZ()); - particleEffect.playFor(player, singleLocation, 0, velocityVector, 1f, dataObject); + player.spawnParticle(particleEffect, singleLocation, 0, velocity.getX(), velocity.getY(), velocity.getZ(), 1, dataObject); } } } @@ -374,9 +391,9 @@ else if (special_data != null) { } if (iconcrack != null) { ItemStack itemStack = iconcrack.getItemStack(); - Particle particle = NMSHandler.particleHelper.getParticle("ITEM_CRACK"); + Particle particle = Particle.valueOf("ITEM_CRACK"); for (Player player : players) { - particle.playFor(player, location, quantity.asInt(), offset.toVector(), data.asFloat(), itemStack); + player.spawnParticle(particle, location, quantity.asInt(), offset.getX(), offset.getY(), offset.getZ(), data.asFloat(), itemStack); } } } diff --git a/plugin/src/main/java/com/denizenscript/denizen/utilities/BukkitImplDeprecations.java b/plugin/src/main/java/com/denizenscript/denizen/utilities/BukkitImplDeprecations.java index 09eabf93a7..9be448ff50 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/utilities/BukkitImplDeprecations.java +++ b/plugin/src/main/java/com/denizenscript/denizen/utilities/BukkitImplDeprecations.java @@ -306,6 +306,10 @@ public class BukkitImplDeprecations { // 2023-year-end commonality: #30 public static Warning debugBlockAlpha = new VerySlowWarning("debugBlockAlpha", "The 'alpha' argument for the 'debugblock' command is deprecated: put the alpha in the color input instead."); + // Added 2024/6/17 + // Good candidate for SlowWarning, due to ease of update and the newer names already being more "normal"/well-known + public static Warning oldSpigotNames = new VerySlowWarning("oldSpigotNames", "Several features (particles, entities, etc.) had alternative naming added by Spigot, which is now deprecated in favor of the official Minecraft naming; see relevant feature's meta docs for more information."); + // ==================== FUTURE deprecations ==================== // Added 2023/01/15, deprecate officially by 2026 diff --git a/plugin/src/main/java/com/denizenscript/denizen/utilities/LegacyNamingHelper.java b/plugin/src/main/java/com/denizenscript/denizen/utilities/LegacyNamingHelper.java new file mode 100644 index 0000000000..5ccbd016b9 --- /dev/null +++ b/plugin/src/main/java/com/denizenscript/denizen/utilities/LegacyNamingHelper.java @@ -0,0 +1,39 @@ +package com.denizenscript.denizen.utilities; + +import com.denizenscript.denizen.nms.NMSHandler; +import com.denizenscript.denizen.nms.NMSVersion; +import com.denizenscript.denizencore.tags.TagContext; +import com.denizenscript.denizencore.utilities.CoreUtilities; + +import java.util.HashSet; +import java.util.Set; + +public class LegacyNamingHelper> { + + private final Set modernNames; + private final Class enumType; + + public LegacyNamingHelper(Class enumType) { + this.enumType = enumType; + T[] enumConstants = enumType.getEnumConstants(); + modernNames = new HashSet<>(enumConstants.length); + for (T enumConstant : enumConstants) { + modernNames.add(enumConstant.name()); + } + } + + public T fromName(String name, TagContext context) { + String nameUpper = CoreUtilities.toUpperCase(name); + T value; + try { + value = Enum.valueOf(enumType, nameUpper); + } + catch (IllegalArgumentException ignored) { + return null; + } + if (NMSHandler.getVersion().isAtLeast(NMSVersion.v1_20) && !modernNames.contains(nameUpper)) { + BukkitImplDeprecations.oldSpigotNames.warn(context); + } + return value; + } +} diff --git a/plugin/src/main/java/com/denizenscript/denizen/utilities/LegacyParticleNaming.java b/plugin/src/main/java/com/denizenscript/denizen/utilities/LegacyParticleNaming.java new file mode 100644 index 0000000000..cd8e779b92 --- /dev/null +++ b/plugin/src/main/java/com/denizenscript/denizen/utilities/LegacyParticleNaming.java @@ -0,0 +1,43 @@ +package com.denizenscript.denizen.utilities; + + +import com.denizenscript.denizen.nms.NMSHandler; +import com.denizenscript.denizen.nms.NMSVersion; +import org.bukkit.Particle; + +import java.util.HashMap; +import java.util.Map; + +public class LegacyParticleNaming { + + public static final Map legacyParticleNames = new HashMap<>(); + + public static void registerLegacyName(String name, String particle) { + legacyParticleNames.put(name, Particle.valueOf(particle)); + } + + static { + registerLegacyName("SMOKE", "SMOKE_NORMAL"); + registerLegacyName("HUGE_EXPLOSION", "EXPLOSION_HUGE"); + registerLegacyName("LARGE_EXPLODE", "EXPLOSION_LARGE"); + registerLegacyName("BUBBLE", "WATER_BUBBLE"); + registerLegacyName("SUSPEND", "SUSPENDED"); + registerLegacyName("DEPTH_SUSPEND", "SUSPENDED_DEPTH"); + registerLegacyName("CRIT", "CRIT"); + registerLegacyName("MAGIC_CRIT", "CRIT_MAGIC"); + registerLegacyName("MOB_SPELL", "SPELL_MOB"); + if (NMSHandler.getVersion().isAtMost(NMSVersion.v1_19)) { + registerLegacyName("MOB_SPELL_AMBIENT", "SPELL_MOB_AMBIENT"); + } + registerLegacyName("INSTANT_SPELL", "SPELL_INSTANT"); + registerLegacyName("WITCH_MAGIC", "SPELL_WITCH"); + registerLegacyName("STEP_SOUND", "HEART"); + registerLegacyName("EXPLODE", "EXPLOSION_NORMAL"); + registerLegacyName("SPLASH", "WATER_SPLASH"); + registerLegacyName("LARGE_SMOKE", "SMOKE_LARGE"); + registerLegacyName("RED_DUST", "REDSTONE"); + registerLegacyName("SNOWBALL_POOF", "SNOWBALL"); + registerLegacyName("ANGRY_VILLAGER", "VILLAGER_ANGRY"); + registerLegacyName("HAPPY_VILLAGER", "VILLAGER_HAPPY"); + } +} diff --git a/v1_17/src/main/java/com/denizenscript/denizen/nms/v1_17/Handler.java b/v1_17/src/main/java/com/denizenscript/denizen/nms/v1_17/Handler.java index 82b81e02d4..3a196de10b 100644 --- a/v1_17/src/main/java/com/denizenscript/denizen/nms/v1_17/Handler.java +++ b/v1_17/src/main/java/com/denizenscript/denizen/nms/v1_17/Handler.java @@ -80,7 +80,6 @@ public Handler() { fishingHelper = new FishingHelperImpl(); itemHelper = new ItemHelperImpl(); packetHelper = new PacketHelperImpl(); - particleHelper = new ParticleHelperImpl(); playerHelper = new PlayerHelperImpl(); worldHelper = new WorldHelperImpl(); enchantmentHelper = new EnchantmentHelperImpl(); diff --git a/v1_17/src/main/java/com/denizenscript/denizen/nms/v1_17/helpers/ParticleHelperImpl.java b/v1_17/src/main/java/com/denizenscript/denizen/nms/v1_17/helpers/ParticleHelperImpl.java deleted file mode 100644 index ed623d1ca9..0000000000 --- a/v1_17/src/main/java/com/denizenscript/denizen/nms/v1_17/helpers/ParticleHelperImpl.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.denizenscript.denizen.nms.v1_17.helpers; - -import com.denizenscript.denizen.nms.abstracts.ParticleHelper; -import com.denizenscript.denizen.nms.v1_17.impl.ParticleImpl; -import com.denizenscript.denizen.nms.interfaces.Particle; - -public class ParticleHelperImpl extends ParticleHelper { - - @Override - public void register(String name, Particle particle) { - super.register(name, new ParticleImpl(particle.particle)); - } -} diff --git a/v1_17/src/main/java/com/denizenscript/denizen/nms/v1_17/impl/ParticleImpl.java b/v1_17/src/main/java/com/denizenscript/denizen/nms/v1_17/impl/ParticleImpl.java deleted file mode 100644 index 57dd756ae2..0000000000 --- a/v1_17/src/main/java/com/denizenscript/denizen/nms/v1_17/impl/ParticleImpl.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.denizenscript.denizen.nms.v1_17.impl; - -import com.denizenscript.denizen.nms.interfaces.Particle; -import org.bukkit.Location; -import org.bukkit.craftbukkit.v1_17_R1.block.data.CraftBlockData; -import org.bukkit.craftbukkit.v1_17_R1.util.CraftMagicNumbers; -import org.bukkit.entity.Player; -import org.bukkit.material.MaterialData; -import org.bukkit.util.Vector; - -public class ParticleImpl extends Particle { - - public ParticleImpl(org.bukkit.Particle particle) { - super(particle); - } - - @Override - public void playFor(Player player, Location location, int count, Vector offset, double extra, T data) { - if (data instanceof MaterialData) { - super.playFor(player, location, count, offset, extra, CraftBlockData.fromData(CraftMagicNumbers.getBlock((MaterialData) data))); - } - else { - super.playFor(player, location, count, offset, extra, data); - } - } -} diff --git a/v1_18/src/main/java/com/denizenscript/denizen/nms/v1_18/Handler.java b/v1_18/src/main/java/com/denizenscript/denizen/nms/v1_18/Handler.java index 428c8ddc80..6e611dfe04 100644 --- a/v1_18/src/main/java/com/denizenscript/denizen/nms/v1_18/Handler.java +++ b/v1_18/src/main/java/com/denizenscript/denizen/nms/v1_18/Handler.java @@ -85,7 +85,6 @@ public Handler() { fishingHelper = new FishingHelperImpl(); itemHelper = new ItemHelperImpl(); packetHelper = new PacketHelperImpl(); - particleHelper = new ParticleHelper(); playerHelper = new PlayerHelperImpl(); worldHelper = new WorldHelperImpl(); enchantmentHelper = new EnchantmentHelperImpl(); diff --git a/v1_19/src/main/java/com/denizenscript/denizen/nms/v1_19/Handler.java b/v1_19/src/main/java/com/denizenscript/denizen/nms/v1_19/Handler.java index 1eda7cca30..e19e762ab2 100644 --- a/v1_19/src/main/java/com/denizenscript/denizen/nms/v1_19/Handler.java +++ b/v1_19/src/main/java/com/denizenscript/denizen/nms/v1_19/Handler.java @@ -89,7 +89,6 @@ public Handler() { fishingHelper = new FishingHelperImpl(); itemHelper = new ItemHelperImpl(); packetHelper = new PacketHelperImpl(); - particleHelper = new ParticleHelper(); playerHelper = new PlayerHelperImpl(); worldHelper = new WorldHelperImpl(); enchantmentHelper = new EnchantmentHelperImpl(); diff --git a/v1_20/src/main/java/com/denizenscript/denizen/nms/v1_20/Handler.java b/v1_20/src/main/java/com/denizenscript/denizen/nms/v1_20/Handler.java index b6dc825435..559ea7a158 100644 --- a/v1_20/src/main/java/com/denizenscript/denizen/nms/v1_20/Handler.java +++ b/v1_20/src/main/java/com/denizenscript/denizen/nms/v1_20/Handler.java @@ -108,7 +108,6 @@ public Handler() { fishingHelper = new FishingHelperImpl(); itemHelper = new ItemHelperImpl(); packetHelper = new PacketHelperImpl(); - particleHelper = new ParticleHelper(); playerHelper = new PlayerHelperImpl(); worldHelper = new WorldHelperImpl(); enchantmentHelper = new EnchantmentHelperImpl(); diff --git a/v1_21/src/main/java/com/denizenscript/denizen/nms/v1_21/Handler.java b/v1_21/src/main/java/com/denizenscript/denizen/nms/v1_21/Handler.java index 361575f396..74e4ec8fda 100644 --- a/v1_21/src/main/java/com/denizenscript/denizen/nms/v1_21/Handler.java +++ b/v1_21/src/main/java/com/denizenscript/denizen/nms/v1_21/Handler.java @@ -107,7 +107,6 @@ public Handler() { fishingHelper = new FishingHelperImpl(); itemHelper = new ItemHelperImpl(); packetHelper = new PacketHelperImpl(); - particleHelper = new ParticleHelper(); playerHelper = new PlayerHelperImpl(); worldHelper = new WorldHelperImpl(); enchantmentHelper = new EnchantmentHelperImpl();