diff --git a/README.md b/README.md
index 447e49150f..8993207a99 100644
--- a/README.md
+++ b/README.md
@@ -3,7 +3,7 @@ The Denizen Scripting Language - Spigot Impl
An implementation of the Denizen Scripting Language for Spigot servers, with strong Citizens interlinks to emphasize the power of using Denizen with NPCs!
-**Version 1.2.6**: Compatible with Spigot 1.16.5, 1.17.1, 1.18.2, and 1.19.3!
+**Version 1.2.6**: Compatible with Spigot 1.17.1, 1.18.2, and 1.19.3!
**Learn about Denizen from the Beginner's guide:** https://guide.denizenscript.com/guides/background/index.html
diff --git a/dist/pom.xml b/dist/pom.xml
index 51cddd2b69..e4e68a8581 100644
--- a/dist/pom.xml
+++ b/dist/pom.xml
@@ -26,12 +26,6 @@
compile
true
-
- com.denizenscript
- denizen-v1_16
- ${project.parent.version}
- compile
-
com.denizenscript
denizen-v1_17
diff --git a/paper/src/main/java/com/denizenscript/denizen/paper/properties/PaperEntityProperties.java b/paper/src/main/java/com/denizenscript/denizen/paper/properties/PaperEntityProperties.java
index d456a37c76..96676b4abf 100644
--- a/paper/src/main/java/com/denizenscript/denizen/paper/properties/PaperEntityProperties.java
+++ b/paper/src/main/java/com/denizenscript/denizen/paper/properties/PaperEntityProperties.java
@@ -1,7 +1,5 @@
package com.denizenscript.denizen.paper.properties;
-import com.denizenscript.denizen.nms.NMSHandler;
-import com.denizenscript.denizen.nms.NMSVersion;
import com.denizenscript.denizen.objects.EntityFormObject;
import com.denizenscript.denizen.objects.EntityTag;
import com.denizenscript.denizen.objects.LocationTag;
@@ -170,7 +168,6 @@ public void adjust(Mechanism mechanism) {
// Causes a goat to ram the specified entity.
// -->
if (mechanism.matches("goat_ram") && mechanism.requireObject(EntityTag.class)
- && NMSHandler.getVersion().isAtLeast(NMSVersion.v1_17)
&& entity.getBukkitEntity() instanceof Goat) {
((Goat) entity.getBukkitEntity()).ram(mechanism.valueAsType(EntityTag.class).getLivingEntity());
}
diff --git a/plugin/src/main/java/com/denizenscript/denizen/Denizen.java b/plugin/src/main/java/com/denizenscript/denizen/Denizen.java
index 24fb2fe4af..0fcbd68fdc 100644
--- a/plugin/src/main/java/com/denizenscript/denizen/Denizen.java
+++ b/plugin/src/main/java/com/denizenscript/denizen/Denizen.java
@@ -4,7 +4,6 @@
import com.denizenscript.denizen.events.bukkit.SavesReloadEvent;
import com.denizenscript.denizen.events.server.ServerPrestartScriptEvent;
import com.denizenscript.denizen.events.server.ServerStartScriptEvent;
-import com.denizenscript.denizen.nms.NMSVersion;
import com.denizenscript.denizen.objects.InventoryTag;
import com.denizenscript.denizen.objects.NPCTag;
import com.denizenscript.denizen.objects.PlayerTag;
@@ -42,7 +41,6 @@
import com.denizenscript.denizen.npc.TraitRegistry;
import com.denizenscript.denizen.npc.DenizenNPCHelper;
import com.denizenscript.denizen.utilities.packets.NetworkInterceptHelper;
-import com.denizenscript.denizen.utilities.world.VoidGenerator;
import com.denizenscript.denizen.utilities.world.VoidGenerator1_17;
import com.denizenscript.denizencore.DenizenCore;
import com.denizenscript.denizencore.objects.ObjectFetcher;
@@ -608,10 +606,7 @@ private boolean suggestClosestModifier(CommandSender sender, String command, Str
@Override
public ChunkGenerator getDefaultWorldGenerator(String worldName, String id) {
if (CoreUtilities.toLowerCase(id).equals("void")) {
- if (NMSHandler.getVersion().isAtLeast(NMSVersion.v1_17)) {
- return new VoidGenerator1_17();
- }
- return new VoidGenerator();
+ return new VoidGenerator1_17();
}
return null;
}
diff --git a/plugin/src/main/java/com/denizenscript/denizen/events/BukkitScriptEvent.java b/plugin/src/main/java/com/denizenscript/denizen/events/BukkitScriptEvent.java
index b73f0656da..61fadf7f33 100644
--- a/plugin/src/main/java/com/denizenscript/denizen/events/BukkitScriptEvent.java
+++ b/plugin/src/main/java/com/denizenscript/denizen/events/BukkitScriptEvent.java
@@ -646,7 +646,7 @@ public static boolean runFlaggedCheck(ScriptPath path, String switchName, Abstra
}
public boolean runLocationFlaggedCheck(ScriptPath path, String switchName, Location location) {
- if (!path.switches.containsKey(switchName)) { // NOTE: opti to avoid 'getFlagTracker' call, also prevents pre-1.16 borks
+ if (!path.switches.containsKey(switchName)) { // NOTE: opti to avoid 'getFlagTracker' call
return true;
}
return runFlaggedCheck(path, switchName, location == null ? null : new LocationTag(location).getFlagTracker());
diff --git a/plugin/src/main/java/com/denizenscript/denizen/events/ScriptEventRegistry.java b/plugin/src/main/java/com/denizenscript/denizen/events/ScriptEventRegistry.java
index 3f5b8dc652..802f627fd5 100644
--- a/plugin/src/main/java/com/denizenscript/denizen/events/ScriptEventRegistry.java
+++ b/plugin/src/main/java/com/denizenscript/denizen/events/ScriptEventRegistry.java
@@ -12,8 +12,6 @@
import com.denizenscript.denizen.events.server.*;
import com.denizenscript.denizen.events.vehicle.*;
import com.denizenscript.denizen.events.world.*;
-import com.denizenscript.denizen.nms.NMSHandler;
-import com.denizenscript.denizen.nms.NMSVersion;
import com.denizenscript.denizen.utilities.depends.Depends;
import com.denizenscript.denizencore.events.ScriptEvent;
import com.denizenscript.denizencore.events.ScriptEventCouldMatcher;
@@ -78,9 +76,7 @@ public static void registerMainEvents() {
ScriptEvent.registerScriptEvent(BrewsScriptEvent.class);
ScriptEvent.registerScriptEvent(CauldronLevelChangeScriptEvent.class);
ScriptEvent.registerScriptEvent(FurnaceBurnsItemScriptEvent.class);
- if (NMSHandler.getVersion().isAtLeast(NMSVersion.v1_17)) {
- ScriptEvent.registerScriptEvent(FurnaceStartsSmeltingScriptEvent.class);
- }
+ ScriptEvent.registerScriptEvent(FurnaceStartsSmeltingScriptEvent.class);
ScriptEvent.registerScriptEvent(LeafDecaysScriptEvent.class);
ScriptEvent.registerScriptEvent(LiquidLevelChangeScriptEvent.class);
ScriptEvent.registerScriptEvent(LiquidSpreadScriptEvent.class);
@@ -262,17 +258,11 @@ public static void registerMainEvents() {
ScriptEvent.registerScriptEvent(VehicleMoveScriptEvent.class);
// World events
- if (NMSHandler.getVersion().isAtLeast(NMSVersion.v1_17)) {
- ScriptEvent.registerScriptEvent(ChunkLoadEntitiesScriptEvent.class);
- }
+ ScriptEvent.registerScriptEvent(ChunkLoadEntitiesScriptEvent.class);
ScriptEvent.registerScriptEvent(ChunkLoadScriptEvent.class);
- if (NMSHandler.getVersion().isAtLeast(NMSVersion.v1_17)) {
- ScriptEvent.registerScriptEvent(ChunkUnloadEntitiesScriptEvent.class);
- }
+ ScriptEvent.registerScriptEvent(ChunkUnloadEntitiesScriptEvent.class);
ScriptEvent.registerScriptEvent(ChunkUnloadScriptEvent.class);
- if (NMSHandler.getVersion().isAtLeast(NMSVersion.v1_17)) {
- ScriptEvent.registerScriptEvent(GenericGameEventScriptEvent.class);
- }
+ ScriptEvent.registerScriptEvent(GenericGameEventScriptEvent.class);
ScriptEvent.registerScriptEvent(LightningStrikesScriptEvent.class);
ScriptEvent.registerScriptEvent(LingeringPotionSplashScriptEvent.class);
ScriptEvent.registerScriptEvent(LootGenerateScriptEvent.class);
diff --git a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerPlacesHangingScriptEvent.java b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerPlacesHangingScriptEvent.java
index 718a6d89dc..3d51136ec3 100644
--- a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerPlacesHangingScriptEvent.java
+++ b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerPlacesHangingScriptEvent.java
@@ -1,7 +1,5 @@
package com.denizenscript.denizen.events.player;
-import com.denizenscript.denizen.nms.NMSHandler;
-import com.denizenscript.denizen.nms.NMSVersion;
import com.denizenscript.denizen.objects.EntityTag;
import com.denizenscript.denizen.objects.ItemTag;
import com.denizenscript.denizen.objects.LocationTag;
@@ -9,7 +7,6 @@
import com.denizenscript.denizen.events.BukkitScriptEvent;
import com.denizenscript.denizencore.objects.ObjectTag;
import com.denizenscript.denizencore.scripts.ScriptEntryData;
-import org.bukkit.Material;
import org.bukkit.entity.Entity;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
@@ -89,7 +86,7 @@ public void onPlayerPlacesHanging(HangingPlaceEvent event) {
EntityTag.rememberEntity(hangingEntity);
hanging = new EntityTag(hangingEntity);
location = new LocationTag(event.getBlock().getLocation());
- item = NMSHandler.getVersion().isAtLeast(NMSVersion.v1_17) ? new ItemTag(event.getItemStack()) : new ItemTag(Material.AIR);
+ item = new ItemTag(event.getItemStack());
this.event = event;
fire(event);
EntityTag.forgetEntity(hangingEntity);
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 80fdaf1c73..f6531c976d 100644
--- a/plugin/src/main/java/com/denizenscript/denizen/nms/NMSHandler.java
+++ b/plugin/src/main/java/com/denizenscript/denizen/nms/NMSHandler.java
@@ -56,9 +56,6 @@ public static boolean initialize(JavaPlugin plugin) {
if (NMSHandler.class.isAssignableFrom(clazz)) {
// Found and loaded - good to go!
instance = (NMSHandler) clazz.newInstance();
- if (version.isAtMost(NMSVersion.v1_16)) {
- enchantmentHelper = new EnchantmentHelper();
- }
return true;
}
}
diff --git a/plugin/src/main/java/com/denizenscript/denizen/nms/NMSVersion.java b/plugin/src/main/java/com/denizenscript/denizen/nms/NMSVersion.java
index 53daa19d83..edf6ed423d 100644
--- a/plugin/src/main/java/com/denizenscript/denizen/nms/NMSVersion.java
+++ b/plugin/src/main/java/com/denizenscript/denizen/nms/NMSVersion.java
@@ -3,7 +3,6 @@
public enum NMSVersion {
NOT_SUPPORTED,
- v1_16,
v1_17,
v1_18,
v1_19;
diff --git a/plugin/src/main/java/com/denizenscript/denizen/npc/traits/SleepingTrait.java b/plugin/src/main/java/com/denizenscript/denizen/npc/traits/SleepingTrait.java
index 7e1fd595d8..a4e4af43d8 100644
--- a/plugin/src/main/java/com/denizenscript/denizen/npc/traits/SleepingTrait.java
+++ b/plugin/src/main/java/com/denizenscript/denizen/npc/traits/SleepingTrait.java
@@ -2,12 +2,10 @@
import com.denizenscript.denizen.Denizen;
import com.denizenscript.denizen.nms.NMSHandler;
-import com.denizenscript.denizen.nms.NMSVersion;
import com.denizenscript.denizen.utilities.Utilities;
import com.denizenscript.denizencore.utilities.debugging.Debug;
import net.citizensnpcs.api.persistence.Persist;
import net.citizensnpcs.api.trait.Trait;
-import net.citizensnpcs.util.PlayerAnimation;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.block.data.type.Bed;
@@ -59,12 +57,7 @@ else if (npc.getEntity() instanceof Player) {
((Player) npc.getEntity()).sleep(bedLocation.clone(), true);
}
else {
- if (NMSHandler.getVersion().isAtLeast(NMSVersion.v1_17)) {
- NMSHandler.entityHelper.setPose(npc.getEntity(), Pose.SLEEPING);
- }
- else {
- PlayerAnimation.SLEEP.play((Player) npc.getEntity());
- }
+ NMSHandler.entityHelper.setPose(npc.getEntity(), Pose.SLEEPING);
}
}
else {
@@ -130,12 +123,7 @@ public void wakeUp() {
if (((Player) npc.getEntity()).isSleeping()) {
((Player) npc.getEntity()).wakeup(false);
}
- if (NMSHandler.getVersion().isAtLeast(NMSVersion.v1_17)) {
- NMSHandler.entityHelper.setPose(npc.getEntity(), Pose.STANDING);
- }
- else {
- PlayerAnimation.STOP_SLEEPING.play((Player) npc.getEntity());
- }
+ NMSHandler.entityHelper.setPose(npc.getEntity(), Pose.STANDING);
}
bedLocation = null;
}
diff --git a/plugin/src/main/java/com/denizenscript/denizen/objects/BiomeTag.java b/plugin/src/main/java/com/denizenscript/denizen/objects/BiomeTag.java
index 1e1dd3adb6..485a030d25 100644
--- a/plugin/src/main/java/com/denizenscript/denizen/objects/BiomeTag.java
+++ b/plugin/src/main/java/com/denizenscript/denizen/objects/BiomeTag.java
@@ -1,6 +1,5 @@
package com.denizenscript.denizen.objects;
-import com.denizenscript.denizen.nms.NMSVersion;
import com.denizenscript.denizencore.DenizenCore;
import com.denizenscript.denizencore.flags.AbstractFlagTracker;
import com.denizenscript.denizencore.flags.FlaggableObject;
@@ -98,14 +97,12 @@ public static boolean matches(String arg) {
/////////////
public BiomeTag(Biome biome) {
- String key = biome.name();
- if (NMSHandler.getVersion().isAtLeast(NMSVersion.v1_17)) {
- if (biome.getKey().getNamespace().equals("minecraft")) {
- key = biome.getKey().getKey();
- }
- else {
- key = biome.getKey().toString();
- }
+ String key;
+ if (biome.getKey().getNamespace().equals("minecraft")) {
+ key = biome.getKey().getKey();
+ }
+ else {
+ key = biome.getKey().toString();
}
this.biome = NMSHandler.instance.getBiomeNMS(Bukkit.getWorlds().get(0), key);
}
diff --git a/plugin/src/main/java/com/denizenscript/denizen/objects/ChunkTag.java b/plugin/src/main/java/com/denizenscript/denizen/objects/ChunkTag.java
index ad9a536d4c..24fcc01f79 100644
--- a/plugin/src/main/java/com/denizenscript/denizen/objects/ChunkTag.java
+++ b/plugin/src/main/java/com/denizenscript/denizen/objects/ChunkTag.java
@@ -469,12 +469,10 @@ public static void register() {
// -->
tagProcessor.registerTag(CuboidTag.class, "cuboid", (attribute, object) -> {
int yMin = 0, yMax = 255;
- if (NMSHandler.getVersion().isAtLeast(NMSVersion.v1_17)) {
- World world = object.getBukkitWorld();
- if (world != null) {
- yMin = world.getMinHeight();
- yMax = world.getMaxHeight();
- }
+ World world = object.getBukkitWorld();
+ if (world != null) {
+ yMin = world.getMinHeight();
+ yMax = world.getMaxHeight();
}
return new CuboidTag(new LocationTag(object.getWorldName(), object.getX() * 16, yMin, object.getZ() * 16, 0, 0),
new LocationTag(object.getWorldName(), object.getX() * 16 + 15, yMax, object.getZ() * 16 + 15, 0, 0));
diff --git a/plugin/src/main/java/com/denizenscript/denizen/objects/WorldTag.java b/plugin/src/main/java/com/denizenscript/denizen/objects/WorldTag.java
index efd87f6831..700901c586 100644
--- a/plugin/src/main/java/com/denizenscript/denizen/objects/WorldTag.java
+++ b/plugin/src/main/java/com/denizenscript/denizen/objects/WorldTag.java
@@ -2,7 +2,6 @@
import com.denizenscript.denizen.events.BukkitScriptEvent;
import com.denizenscript.denizen.nms.NMSHandler;
-import com.denizenscript.denizen.nms.NMSVersion;
import com.denizenscript.denizen.nms.abstracts.BiomeNMS;
import com.denizenscript.denizencore.utilities.debugging.Debug;
import com.denizenscript.denizen.utilities.flags.WorldFlagHandler;
@@ -953,14 +952,13 @@ else if (time >= 12500) {
// By default, automatically checks the playersSleepingPercentage gamerule,
// but this can optionally be overridden by specifying a percentage integer.
// Any integer above 100 will always yield 'false'. Requires at least one player to be sleeping to return 'true'.
- // NOTE: In 1.16, input is ignored and assumed to be 100%.
// -->
registerTag(ElementTag.class, "enough_sleeping", (attribute, world) -> {
- int percentage = 100;
+ int percentage;
if (attribute.hasParam()) {
percentage = attribute.getIntParam();
}
- else if (NMSHandler.getVersion().isAtLeast(NMSVersion.v1_17)) {
+ else {
percentage = world.getGameRuleOrDefault(GameRule.PLAYERS_SLEEPING_PERCENTAGE);
}
return new ElementTag(NMSHandler.worldHelper.areEnoughSleeping(world.getWorld(), percentage));
@@ -975,14 +973,13 @@ else if (NMSHandler.getVersion().isAtLeast(NMSVersion.v1_17)) {
// By default, automatically checks the playersSleepingPercentage gamerule,
// but this can optionally be overridden by specifying a percentage integer.
// Any integer above 100 will always yield 'false'. Requires at least one player to be sleeping to return 'true'.
- // NOTE: In 1.16, input is ignored and assumed to be 100%.
// -->
registerTag(ElementTag.class, "enough_deep_sleeping", (attribute, world) -> {
- int percentage = 100;
+ int percentage;
if (attribute.hasParam()) {
percentage = attribute.getIntParam();
}
- else if (NMSHandler.getVersion().isAtLeast(NMSVersion.v1_17)) {
+ else {
percentage = world.getGameRuleOrDefault(GameRule.PLAYERS_SLEEPING_PERCENTAGE);
}
return new ElementTag(NMSHandler.worldHelper.areEnoughDeepSleeping(world.getWorld(), percentage));
diff --git a/plugin/src/main/java/com/denizenscript/denizen/objects/properties/PropertyRegistry.java b/plugin/src/main/java/com/denizenscript/denizen/objects/properties/PropertyRegistry.java
index 29d7dd5459..be7e21c0df 100644
--- a/plugin/src/main/java/com/denizenscript/denizen/objects/properties/PropertyRegistry.java
+++ b/plugin/src/main/java/com/denizenscript/denizen/objects/properties/PropertyRegistry.java
@@ -53,9 +53,7 @@ public static void registerMainProperties() {
PropertyParser.registerProperty(EntityCritical.class, EntityTag.class);
PropertyParser.registerProperty(EntityCustomName.class, EntityTag.class);
PropertyParser.registerProperty(EntityCustomNameVisible.class, EntityTag.class);
- if (NMSHandler.getVersion().isAtLeast(NMSVersion.v1_17)) {
- PropertyParser.registerProperty(EntityDarkDuration.class, EntityTag.class);
- }
+ PropertyParser.registerProperty(EntityDarkDuration.class, EntityTag.class);
PropertyParser.registerProperty(EntityDirection.class, EntityTag.class);
PropertyParser.registerProperty(EntityDisabledSlots.class, EntityTag.class);
PropertyParser.registerProperty(EntityPotionEffects.class, EntityTag.class);
@@ -63,15 +61,11 @@ public static void registerMainProperties() {
PropertyParser.registerProperty(EntityExplosionFire.class, EntityTag.class);
PropertyParser.registerProperty(EntityExplosionRadius.class, EntityTag.class);
PropertyParser.registerProperty(EntityFirework.class, EntityTag.class);
- if (NMSHandler.getVersion().isAtLeast(NMSVersion.v1_17)) {
- PropertyParser.registerProperty(EntityFireworkLifetime.class, EntityTag.class);
- }
+ PropertyParser.registerProperty(EntityFireworkLifetime.class, EntityTag.class);
PropertyParser.registerProperty(EntityFixed.class, EntityTag.class);
PropertyParser.registerProperty(EntityFlags.class, EntityTag.class);
PropertyParser.registerProperty(EntityFlower.class, EntityTag.class);
- if (NMSHandler.getVersion().isAtLeast(NMSVersion.v1_17)) {
- PropertyParser.registerProperty(EntityFreezeDuration.class, EntityTag.class);
- }
+ PropertyParser.registerProperty(EntityFreezeDuration.class, EntityTag.class);
PropertyParser.registerProperty(EntityFramed.class, EntityTag.class);
PropertyParser.registerProperty(EntityGravity.class, EntityTag.class);
PropertyParser.registerProperty(EntityHasNectar.class, EntityTag.class);
@@ -84,9 +78,7 @@ public static void registerMainProperties() {
PropertyParser.registerProperty(EntityImmune.class, EntityTag.class);
PropertyParser.registerProperty(EntityInventory.class, EntityTag.class);
PropertyParser.registerProperty(EntityInvulnerable.class, EntityTag.class);
- if (NMSHandler.getVersion().isAtLeast(NMSVersion.v1_17)) {
- PropertyParser.registerProperty(EntityInWaterTime.class, EntityTag.class);
- }
+ PropertyParser.registerProperty(EntityInWaterTime.class, EntityTag.class);
PropertyParser.registerProperty(EntityIsShowingBottom.class, EntityTag.class);
PropertyParser.registerProperty(EntityItem.class, EntityTag.class);
PropertyParser.registerProperty(EntityItemInHand.class, EntityTag.class);
@@ -101,9 +93,7 @@ public static void registerMainProperties() {
PropertyParser.registerProperty(EntityPatrolTarget.class, EntityTag.class);
PropertyParser.registerProperty(EntityPickupStatus.class, EntityTag.class);
PropertyParser.registerProperty(EntityPlayerCreated.class, EntityTag.class);
- if (NMSHandler.getVersion().isAtLeast(NMSVersion.v1_17)) {
- PropertyParser.registerProperty(EntityPlayingDead.class, EntityTag.class);
- }
+ PropertyParser.registerProperty(EntityPlayingDead.class, EntityTag.class);
PropertyParser.registerProperty(EntityPotion.class, EntityTag.class);
PropertyParser.registerProperty(EntityPowered.class, EntityTag.class);
PropertyParser.registerProperty(EntityProfession.class, EntityTag.class);
diff --git a/plugin/src/main/java/com/denizenscript/denizen/objects/properties/entity/EntityCharged.java b/plugin/src/main/java/com/denizenscript/denizen/objects/properties/entity/EntityCharged.java
index f64d745c0d..deed805ee7 100644
--- a/plugin/src/main/java/com/denizenscript/denizen/objects/properties/entity/EntityCharged.java
+++ b/plugin/src/main/java/com/denizenscript/denizen/objects/properties/entity/EntityCharged.java
@@ -1,7 +1,5 @@
package com.denizenscript.denizen.objects.properties.entity;
-import com.denizenscript.denizen.nms.NMSHandler;
-import com.denizenscript.denizen.nms.NMSVersion;
import com.denizenscript.denizen.objects.EntityTag;
import com.denizenscript.denizencore.objects.ObjectTag;
import com.denizenscript.denizencore.objects.core.ElementTag;
@@ -21,7 +19,7 @@ public static boolean describes(ObjectTag object) {
Entity entity = ((EntityTag) object).getBukkitEntity();
return entity instanceof WitherSkull
|| entity instanceof Vex
- || (NMSHandler.getVersion().isAtLeast(NMSVersion.v1_17) && entity instanceof Guardian);
+ || entity instanceof Guardian;
}
public static EntityCharged getFrom(ObjectTag entity) {
@@ -107,7 +105,7 @@ public boolean isVex() {
}
public boolean isGuardian() {
- return NMSHandler.getVersion().isAtLeast(NMSVersion.v1_17) && entity.getBukkitEntity() instanceof Guardian;
+ return entity.getBukkitEntity() instanceof Guardian;
}
public WitherSkull getWitherSkull() {
diff --git a/plugin/src/main/java/com/denizenscript/denizen/objects/properties/entity/EntityColor.java b/plugin/src/main/java/com/denizenscript/denizen/objects/properties/entity/EntityColor.java
index 4e18478775..e81b6f1a0d 100644
--- a/plugin/src/main/java/com/denizenscript/denizen/objects/properties/entity/EntityColor.java
+++ b/plugin/src/main/java/com/denizenscript/denizen/objects/properties/entity/EntityColor.java
@@ -4,7 +4,6 @@
import com.denizenscript.denizen.nms.NMSVersion;
import com.denizenscript.denizen.objects.ColorTag;
import com.denizenscript.denizen.objects.EntityTag;
-import com.denizenscript.denizen.utilities.MultiVersionHelper1_17;
import com.denizenscript.denizen.utilities.MultiVersionHelper1_19;
import com.denizenscript.denizencore.objects.core.ElementTag;
import com.denizenscript.denizencore.objects.Mechanism;
@@ -42,7 +41,8 @@ public static boolean describes(ObjectTag entity) {
type == EntityType.ZOMBIE_VILLAGER ||
type == EntityType.TRADER_LLAMA ||
type == EntityType.TROPICAL_FISH ||
- (NMSHandler.getVersion().isAtLeast(NMSVersion.v1_17) && MultiVersionHelper1_17.colorIsApplicable(type)) ||
+ type == EntityType.GOAT ||
+ type == EntityType.AXOLOTL ||
(NMSHandler.getVersion().isAtLeast(NMSVersion.v1_19) && MultiVersionHelper1_19.colorIsApplicable(type));
}
@@ -114,9 +114,10 @@ public String getColor(boolean includeDeprecated) {
catch (Exception e) {
return null;
}
- }
- if (NMSHandler.getVersion().isAtLeast(NMSVersion.v1_17) && MultiVersionHelper1_17.colorIsApplicable(type)) {
- return MultiVersionHelper1_17.getColor(colored.getBukkitEntity());
+ case GOAT:
+ return ((Goat) colored.getBukkitEntity()).isScreaming() ? "screaming" : "normal";
+ case AXOLOTL:
+ return ((Axolotl) colored.getBukkitEntity()).getVariant().name();
}
if (NMSHandler.getVersion().isAtLeast(NMSVersion.v1_19) && MultiVersionHelper1_19.colorIsApplicable(type)) {
return MultiVersionHelper1_19.getColor(colored.getBukkitEntity());
@@ -165,9 +166,13 @@ public ListTag getAllowedColors() {
case VILLAGER:
case ZOMBIE_VILLAGER:
return listForEnum(Villager.Type.values());
- }
- if (NMSHandler.getVersion().isAtLeast(NMSVersion.v1_17) && MultiVersionHelper1_17.colorIsApplicable(type)) {
- return MultiVersionHelper1_17.getAllowedColors(type);
+ case GOAT:
+ ListTag result = new ListTag();
+ result.add("screaming");
+ result.add("normal");
+ return result;
+ case AXOLOTL:
+ return EntityColor.listForEnum(Axolotl.Variant.values());
}
if (NMSHandler.getVersion().isAtLeast(NMSVersion.v1_19) && MultiVersionHelper1_19.colorIsApplicable(type)) {
return MultiVersionHelper1_19.getAllowedColors(type);
@@ -393,8 +398,11 @@ else if (type == EntityType.ZOMBIE_VILLAGER && mechanism.requireEnum(Villager.Ty
else if (type == EntityType.ARROW && mechanism.requireObject(ColorTag.class)) {
((Arrow) colored.getBukkitEntity()).setColor(mechanism.valueAsType(ColorTag.class).getColor());
}
- else if (NMSHandler.getVersion().isAtLeast(NMSVersion.v1_17) && MultiVersionHelper1_17.colorIsApplicable(type)) {
- MultiVersionHelper1_17.setColor(colored.getBukkitEntity(), mechanism);
+ else if (type == EntityType.GOAT) {
+ ((Goat) colored.getBukkitEntity()).setScreaming(CoreUtilities.toLowerCase(mechanism.getValue().asString()).equals("screaming"));
+ }
+ else if (type == EntityType.AXOLOTL && mechanism.requireEnum(Axolotl.Variant.class)) {
+ ((Axolotl) colored.getBukkitEntity()).setVariant(Axolotl.Variant.valueOf(mechanism.getValue().asString().toUpperCase()));
}
else if (NMSHandler.getVersion().isAtLeast(NMSVersion.v1_19) && MultiVersionHelper1_19.colorIsApplicable(type)) {
MultiVersionHelper1_19.setColor(colored.getBukkitEntity(), mechanism);
diff --git a/plugin/src/main/java/com/denizenscript/denizen/objects/properties/item/ItemFrameInvisible.java b/plugin/src/main/java/com/denizenscript/denizen/objects/properties/item/ItemFrameInvisible.java
index 87924ba25e..ef8be4f917 100644
--- a/plugin/src/main/java/com/denizenscript/denizen/objects/properties/item/ItemFrameInvisible.java
+++ b/plugin/src/main/java/com/denizenscript/denizen/objects/properties/item/ItemFrameInvisible.java
@@ -1,7 +1,6 @@
package com.denizenscript.denizen.objects.properties.item;
import com.denizenscript.denizen.nms.NMSHandler;
-import com.denizenscript.denizen.nms.NMSVersion;
import com.denizenscript.denizen.nms.util.jnbt.ByteTag;
import com.denizenscript.denizen.nms.util.jnbt.CompoundTag;
import com.denizenscript.denizen.nms.util.jnbt.Tag;
@@ -21,7 +20,7 @@ public class ItemFrameInvisible implements Property {
public static boolean describes(ObjectTag object) {
return object instanceof ItemTag &&
(((ItemTag) object).getBukkitMaterial() == Material.ITEM_FRAME
- || (NMSHandler.getVersion().isAtLeast(NMSVersion.v1_17) && (((ItemTag) object).getBukkitMaterial().name().equals("GLOW_ITEM_FRAME"))));
+ || ((ItemTag) object).getBukkitMaterial() == Material.GLOW_ITEM_FRAME);
}
public static ItemFrameInvisible getFrom(ObjectTag object) {
diff --git a/plugin/src/main/java/com/denizenscript/denizen/objects/properties/item/ItemInventory.java b/plugin/src/main/java/com/denizenscript/denizen/objects/properties/item/ItemInventory.java
index 34cee29f7f..1e9933449d 100644
--- a/plugin/src/main/java/com/denizenscript/denizen/objects/properties/item/ItemInventory.java
+++ b/plugin/src/main/java/com/denizenscript/denizen/objects/properties/item/ItemInventory.java
@@ -1,7 +1,5 @@
package com.denizenscript.denizen.objects.properties.item;
-import com.denizenscript.denizen.nms.NMSHandler;
-import com.denizenscript.denizen.nms.NMSVersion;
import com.denizenscript.denizen.objects.properties.inventory.InventoryContents;
import com.denizenscript.denizen.utilities.Conversion;
import com.denizenscript.denizen.objects.InventoryTag;
@@ -39,7 +37,7 @@ public static boolean describes(ObjectTag item) {
&& ((BlockStateMeta) meta).getBlockState() instanceof InventoryHolder) {
return true;
}
- else if (NMSHandler.getVersion().isAtLeast(NMSVersion.v1_17) && meta instanceof BundleMeta) {
+ else if (meta instanceof BundleMeta) {
return true;
}
return false;
@@ -117,16 +115,13 @@ public ListTag getInventoryContents() {
}
return InventoryContents.getFrom(inventory).getContents(false);
}
- else if (NMSHandler.getVersion().isAtLeast(NMSVersion.v1_17)) {
- ListTag result = new ListTag();
- for (ItemStack item : ((BundleMeta) item.getItemMeta()).getItems()) {
- if (item != null && item.getType() != Material.AIR) {
- result.addObject(new ItemTag(item));
- }
+ ListTag result = new ListTag();
+ for (ItemStack item : ((BundleMeta) item.getItemMeta()).getItems()) {
+ if (item != null && item.getType() != Material.AIR) {
+ result.addObject(new ItemTag(item));
}
- return result;
}
- return null;
+ return result;
}
@Override
@@ -168,7 +163,7 @@ public void adjust(Mechanism mechanism) {
bsm.setBlockState((BlockState) invHolder);
item.setItemMeta(bsm);
}
- else if (NMSHandler.getVersion().isAtLeast(NMSVersion.v1_17)) {
+ else {
BundleMeta bundle = (BundleMeta) item.getItemMeta();
bundle.setItems(items);
item.setItemMeta(bundle);
@@ -200,7 +195,7 @@ else if (NMSHandler.getVersion().isAtLeast(NMSVersion.v1_17)) {
bsm.setBlockState((BlockState) invHolder);
item.setItemMeta(bsm);
}
- else if (NMSHandler.getVersion().isAtLeast(NMSVersion.v1_17)) {
+ else {
BundleMeta bundle = (BundleMeta) item.getItemMeta();
bundle.setItems(Arrays.asList(itemArray));
item.setItemMeta(bundle);
diff --git a/plugin/src/main/java/com/denizenscript/denizen/objects/properties/material/MaterialBlockType.java b/plugin/src/main/java/com/denizenscript/denizen/objects/properties/material/MaterialBlockType.java
index e4ed47904c..7544f2670c 100644
--- a/plugin/src/main/java/com/denizenscript/denizen/objects/properties/material/MaterialBlockType.java
+++ b/plugin/src/main/java/com/denizenscript/denizen/objects/properties/material/MaterialBlockType.java
@@ -1,9 +1,6 @@
package com.denizenscript.denizen.objects.properties.material;
-import com.denizenscript.denizen.nms.NMSHandler;
-import com.denizenscript.denizen.nms.NMSVersion;
import com.denizenscript.denizen.objects.MaterialTag;
-import com.denizenscript.denizen.utilities.MultiVersionHelper1_17;
import com.denizenscript.denizencore.objects.Mechanism;
import com.denizenscript.denizencore.objects.ObjectTag;
import com.denizenscript.denizencore.objects.core.ElementTag;
@@ -28,8 +25,8 @@ public static boolean describes(ObjectTag material) {
|| data instanceof TechnicalPiston
|| data instanceof Campfire
|| data instanceof Scaffolding
- || (NMSHandler.getVersion().isAtLeast(NMSVersion.v1_17) && (data instanceof PointedDripstone
- || data instanceof CaveVinesPlant));
+ || data instanceof PointedDripstone
+ || data instanceof CaveVinesPlant;
}
public static MaterialBlockType getFrom(ObjectTag _material) {
@@ -85,11 +82,11 @@ public boolean isCampfire() {
}
public boolean isDripstone() {
- return NMSHandler.getVersion().isAtLeast(NMSVersion.v1_17) && material.getModernData() instanceof PointedDripstone;
+ return material.getModernData() instanceof PointedDripstone;
}
public boolean isCaveVines() {
- return NMSHandler.getVersion().isAtLeast(NMSVersion.v1_17) && material.getModernData() instanceof CaveVinesPlant;
+ return material.getModernData() instanceof CaveVinesPlant;
}
public boolean isScaffolding() {
@@ -112,13 +109,13 @@ public Scaffolding getScaffolding() {
return (Scaffolding) material.getModernData();
}
- /*public PointedDripstone getDripstone() { // TODO: 1.17
+ public PointedDripstone getDripstone() {
return (PointedDripstone) material.getModernData();
}
public CaveVinesPlant getCaveVines() {
return (CaveVinesPlant) material.getModernData();
- }*/
+ }
@Override
public String getPropertyString() {
@@ -135,10 +132,10 @@ else if (isScaffolding()) {
return getScaffolding().isBottom() ? "BOTTOM" : "NORMAL";
}
else if (isDripstone()) {
- return ((PointedDripstone) material.getModernData()).getThickness().name(); // TODO: 1.17
+ return getDripstone().getThickness().name();
}
else if (isCaveVines()) {
- return ((CaveVinesPlant) material.getModernData()).isBerries() ? "BERRIES" : "NORMAL"; // TODO: 1.17
+ return getCaveVines().isBerries() ? "BERRIES" : "NORMAL";
}
return null; // Unreachable.
}
@@ -179,11 +176,11 @@ else if (isPistonHead() && mechanism.requireEnum(TechnicalPiston.Type.class)) {
else if (isScaffolding()) {
getScaffolding().setBottom(CoreUtilities.equalsIgnoreCase(mechanism.getValue().asString(), "bottom"));
}
- else if (isDripstone()) {
- MultiVersionHelper1_17.materialBlockTypeRunMech(mechanism, this);
+ else if (isDripstone() && mechanism.requireEnum(PointedDripstone.Thickness.class)) {
+ ((PointedDripstone) material.getModernData()).setThickness(PointedDripstone.Thickness.valueOf(mechanism.getValue().asString().toUpperCase()));
}
else if (isCaveVines()) {
- ((CaveVinesPlant) material.getModernData()).setBerries(CoreUtilities.equalsIgnoreCase(mechanism.getValue().asString(), "berries")); // TODO: 1.17
+ getCaveVines().setBerries(CoreUtilities.equalsIgnoreCase(mechanism.getValue().asString(), "berries"));
}
}
}
diff --git a/plugin/src/main/java/com/denizenscript/denizen/objects/properties/material/MaterialCount.java b/plugin/src/main/java/com/denizenscript/denizen/objects/properties/material/MaterialCount.java
index d226e00613..8216dc9335 100644
--- a/plugin/src/main/java/com/denizenscript/denizen/objects/properties/material/MaterialCount.java
+++ b/plugin/src/main/java/com/denizenscript/denizen/objects/properties/material/MaterialCount.java
@@ -1,7 +1,5 @@
package com.denizenscript.denizen.objects.properties.material;
-import com.denizenscript.denizen.nms.NMSHandler;
-import com.denizenscript.denizen.nms.NMSVersion;
import com.denizenscript.denizen.objects.MaterialTag;
import com.denizenscript.denizencore.objects.Mechanism;
import com.denizenscript.denizencore.objects.ObjectTag;
@@ -28,7 +26,7 @@ public static boolean describes(ObjectTag material) {
return data instanceof SeaPickle
|| data instanceof TurtleEgg
|| data instanceof RespawnAnchor
- || (NMSHandler.getVersion().isAtLeast(NMSVersion.v1_17) && data instanceof Candle);
+ || data instanceof Candle;
}
public static MaterialCount getFrom(ObjectTag _material) {
@@ -102,7 +100,7 @@ public boolean isRespawnAnchor() {
}
public boolean isCandle() {
- return NMSHandler.getVersion().isAtLeast(NMSVersion.v1_17) && material.getModernData() instanceof Candle;
+ return material.getModernData() instanceof Candle;
}
public TurtleEgg getTurtleEgg() {
@@ -117,9 +115,9 @@ public RespawnAnchor getRespawnAnchor() {
return (RespawnAnchor) material.getModernData();
}
- /*public Candle getCandle() { // TODO: 1.17
+ public Candle getCandle() {
return (Candle) material.getModernData();
- }*/
+ }
public int getCurrent() {
if (isSeaPickle()) {
@@ -132,7 +130,7 @@ else if (isRespawnAnchor()) {
return getRespawnAnchor().getCharges();
}
else if (isCandle()) {
- return ((Candle) material.getModernData()).getCandles(); // TODO: 1.17
+ return getCandle().getCandles();
}
throw new UnsupportedOperationException();
}
@@ -148,7 +146,7 @@ else if (isRespawnAnchor()) {
return getRespawnAnchor().getMaximumCharges();
}
else if (isCandle()) {
- return ((Candle) material.getModernData()).getMaximumCandles(); // TODO: 1.17
+ return getCandle().getMaximumCandles();
}
throw new UnsupportedOperationException();
}
@@ -209,7 +207,7 @@ else if (isRespawnAnchor()) {
getRespawnAnchor().setCharges(count);
}
else if (isCandle()) {
- ((Candle) material.getModernData()).setCandles(count); // TODO: 1.17
+ getCandle().setCandles(count);
}
}
}
diff --git a/plugin/src/main/java/com/denizenscript/denizen/objects/properties/material/MaterialDirectional.java b/plugin/src/main/java/com/denizenscript/denizen/objects/properties/material/MaterialDirectional.java
index 647f0910d4..ea703c99c8 100644
--- a/plugin/src/main/java/com/denizenscript/denizen/objects/properties/material/MaterialDirectional.java
+++ b/plugin/src/main/java/com/denizenscript/denizen/objects/properties/material/MaterialDirectional.java
@@ -1,7 +1,5 @@
package com.denizenscript.denizen.objects.properties.material;
-import com.denizenscript.denizen.nms.NMSHandler;
-import com.denizenscript.denizen.nms.NMSVersion;
import com.denizenscript.denizen.objects.MaterialTag;
import com.denizenscript.denizencore.utilities.debugging.Debug;
import com.denizenscript.denizencore.objects.core.ElementTag;
@@ -33,7 +31,7 @@ public static boolean describes(ObjectTag material) {
|| data instanceof Rotatable
|| data instanceof Rail
|| data instanceof Jigsaw
- || (NMSHandler.getVersion().isAtLeast(NMSVersion.v1_17) && data instanceof PointedDripstone);
+ || data instanceof PointedDripstone;
}
public static MaterialDirectional getFrom(ObjectTag _material) {
@@ -95,7 +93,7 @@ else if (material.isRotatable()) {
}
}
else if (material.isDripstone()) {
- for (BlockFace face : ((PointedDripstone) material.material.getModernData()).getVerticalDirections()) { // TODO: 1.17
+ for (BlockFace face : material.getDripstone().getVerticalDirections()) {
toReturn.add(face.name());
}
}
@@ -168,7 +166,7 @@ else if (isDirectional()) {
return getDirectional().getFacing().getDirection();
}
else if (isDripstone()) {
- return ((PointedDripstone) material.getModernData()).getVerticalDirection().getDirection(); // TODO: 1.17
+ return getDripstone().getVerticalDirection().getDirection();
}
else if (isJigsaw()) {
switch (getJigsaw().getOrientation()) {
@@ -211,7 +209,7 @@ else if (isDirectional()) {
return getDirectional().getFacing().name();
}
else if (isDripstone()) {
- return ((PointedDripstone) material.getModernData()).getVerticalDirection().name(); // TODO: 1.17
+ return getDripstone().getVerticalDirection().name();
}
else if (isJigsaw()) {
return getJigsaw().getOrientation().name();
@@ -232,7 +230,7 @@ public boolean isDirectional() {
}
public boolean isDripstone() {
- return NMSHandler.getVersion().isAtLeast(NMSVersion.v1_17) && material.getModernData() instanceof PointedDripstone;
+ return material.getModernData() instanceof PointedDripstone;
}
public boolean isRail() {
@@ -259,9 +257,9 @@ public Jigsaw getJigsaw() {
return (Jigsaw) material.getModernData();
}
- /*public PointedDripstone getDripstone() { // TODO: 1.17
+ public PointedDripstone getDripstone() {
return (PointedDripstone) material.getModernData();
- }*/
+ }
public Rail getRail() {
return (Rail) material.getModernData();
@@ -309,7 +307,7 @@ else if (isDirectional()) {
getDirectional().setFacing(face);
}
else if (isDripstone()) {
- ((PointedDripstone) material.getModernData()).setVerticalDirection(face); // TODO: 1.17
+ getDripstone().setVerticalDirection(face);
}
}
diff --git a/plugin/src/main/java/com/denizenscript/denizen/objects/properties/material/MaterialMode.java b/plugin/src/main/java/com/denizenscript/denizen/objects/properties/material/MaterialMode.java
index 40c0e26cbb..0abf9f097f 100644
--- a/plugin/src/main/java/com/denizenscript/denizen/objects/properties/material/MaterialMode.java
+++ b/plugin/src/main/java/com/denizenscript/denizen/objects/properties/material/MaterialMode.java
@@ -3,7 +3,6 @@
import com.denizenscript.denizen.nms.NMSHandler;
import com.denizenscript.denizen.nms.NMSVersion;
import com.denizenscript.denizen.objects.MaterialTag;
-import com.denizenscript.denizen.utilities.MultiVersionHelper1_17;
import com.denizenscript.denizencore.objects.Mechanism;
import com.denizenscript.denizencore.objects.ObjectTag;
import com.denizenscript.denizencore.objects.core.ElementTag;
@@ -30,8 +29,8 @@ public static boolean describes(ObjectTag material) {
|| data instanceof StructureBlock
|| data instanceof DaylightDetector
|| data instanceof CommandBlock
- || (NMSHandler.getVersion().isAtLeast(NMSVersion.v1_17) && (data instanceof SculkSensor
- || data instanceof BigDripleaf))
+ || data instanceof SculkSensor
+ || data instanceof BigDripleaf
|| (NMSHandler.getVersion().isAtLeast(NMSVersion.v1_19) && (data instanceof SculkCatalyst
|| data instanceof SculkShrieker));
}
@@ -105,11 +104,11 @@ public boolean isCommandBlock() {
}
public boolean isBigDripleaf() {
- return NMSHandler.getVersion().isAtLeast(NMSVersion.v1_17) && material.getModernData() instanceof BigDripleaf;
+ return material.getModernData() instanceof BigDripleaf;
}
public boolean isSculkSensor() {
- return NMSHandler.getVersion().isAtLeast(NMSVersion.v1_17) && material.getModernData() instanceof SculkSensor;
+ return material.getModernData() instanceof SculkSensor;
}
public boolean isSculkCatalyst() {
@@ -144,13 +143,13 @@ public CommandBlock getCommandBlock() {
return (CommandBlock) material.getModernData();
}
- /*public SculkSensor getSculkSensor() { // TODO: 1.17
+ public SculkSensor getSculkSensor() {
return (SculkSensor) material.getModernData();
}
public BigDripleaf getBigDripleaf() {
return (BigDripleaf) material.getModernData();
- }*/
+ }
/*public SculkCatalyst getSculkCatalyst() { // TODO: 1.19
return (SculkCatalyst) material.getModernData();
@@ -181,10 +180,10 @@ else if (isCommandBlock()) {
return getCommandBlock().isConditional() ? "CONDITIONAL" : "NORMAL";
}
else if (isSculkSensor()) {
- return ((SculkSensor) material.getModernData()).getPhase().name(); // TODO: 1.17
+ return getSculkSensor().getPhase().name();
}
else if (isBigDripleaf()) {
- return ((BigDripleaf) material.getModernData()).getTilt().name(); // TODO: 1.17
+ return getBigDripleaf().getTilt().name();
}
else if (isSculkCatalyst()) {
return ((SculkCatalyst) material.getModernData()).isBloom() ? "BLOOM" : "NORMAL"; // TODO: 1.19
@@ -241,8 +240,11 @@ else if (isDaylightDetector()) {
else if (isCommandBlock()) {
getCommandBlock().setConditional(CoreUtilities.equalsIgnoreCase(mechanism.getValue().asString(), "conditional"));
}
- else if (isSculkSensor() || isBigDripleaf()) {
- MultiVersionHelper1_17.materialModeRunMech(mechanism, this);
+ else if (isSculkSensor() && mechanism.requireEnum(SculkSensor.Phase.class)) {
+ ((SculkSensor) material.getModernData()).setPhase(SculkSensor.Phase.valueOf(mechanism.getValue().asString().toUpperCase()));
+ }
+ else if (isBigDripleaf() && mechanism.requireEnum(BigDripleaf.Tilt.class)) {
+ ((BigDripleaf) material.getModernData()).setTilt(BigDripleaf.Tilt.valueOf(mechanism.getValue().asString().toUpperCase()));
}
else if (isSculkCatalyst()) {
((SculkCatalyst) material.getModernData()).setBloom(CoreUtilities.equalsIgnoreCase(mechanism.getValue().asString(), "bloom")); // TODO: 1.19
diff --git a/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/BukkitCommandRegistry.java b/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/BukkitCommandRegistry.java
index 7b7021c484..79fd56b2ea 100644
--- a/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/BukkitCommandRegistry.java
+++ b/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/BukkitCommandRegistry.java
@@ -1,7 +1,5 @@
package com.denizenscript.denizen.scripts.commands;
-import com.denizenscript.denizen.nms.NMSHandler;
-import com.denizenscript.denizen.nms.NMSVersion;
import com.denizenscript.denizen.scripts.commands.core.*;
import com.denizenscript.denizen.scripts.commands.entity.*;
import com.denizenscript.denizen.scripts.commands.item.*;
@@ -125,9 +123,7 @@ public static void registerCommands() {
registerCommand(BlockCrackCommand.class);
registerCommand(ClickableCommand.class);
registerCommand(CompassCommand.class);
- if (NMSHandler.getVersion().isAtLeast(NMSVersion.v1_17)) {
- registerCommand(DebugBlockCommand.class);
- }
+ registerCommand(DebugBlockCommand.class);
registerCommand(DisguiseCommand.class);
registerCommand(ExperienceCommand.class);
registerCommand(FakeSpawnCommand.class);
diff --git a/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/world/ModifyBlockCommand.java b/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/world/ModifyBlockCommand.java
index ad01374963..8735ba8629 100644
--- a/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/world/ModifyBlockCommand.java
+++ b/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/world/ModifyBlockCommand.java
@@ -1,7 +1,6 @@
package com.denizenscript.denizen.scripts.commands.world;
import com.denizenscript.denizen.Denizen;
-import com.denizenscript.denizen.nms.NMSVersion;
import com.denizenscript.denizen.objects.*;
import com.denizenscript.denizen.utilities.Utilities;
import com.denizenscript.denizen.utilities.command.TabCompleteHelper;
@@ -476,12 +475,10 @@ public static void setBlock(Location location, MaterialTag material, boolean phy
return;
}
if (natural != null && material.getMaterial() == Material.AIR) {
- if (NMSHandler.getVersion().isAtLeast(NMSVersion.v1_17)) {
- int xp = NMSHandler.blockHelper.getExpDrop(location.getBlock(), natural.getItemStack());
- if (xp > 0) {
- ExperienceOrb orb = (ExperienceOrb) location.getWorld().spawnEntity(location, EntityType.EXPERIENCE_ORB);
- orb.setExperience(xp);
- }
+ int xp = NMSHandler.blockHelper.getExpDrop(location.getBlock(), natural.getItemStack());
+ if (xp > 0) {
+ ExperienceOrb orb = (ExperienceOrb) location.getWorld().spawnEntity(location, EntityType.EXPERIENCE_ORB);
+ orb.setExperience(xp);
}
location.getBlock().breakNaturally(natural.getItemStack());
}
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 809beca665..af8160088a 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
@@ -2,7 +2,8 @@
import com.denizenscript.denizen.nms.NMSVersion;
import com.denizenscript.denizen.objects.*;
-import com.denizenscript.denizen.utilities.MultiVersionHelper1_17;
+import com.denizenscript.denizencore.objects.ObjectTag;
+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;
@@ -292,8 +293,7 @@ else if (clazz == ItemStack.class) {
ItemTag itemType = ItemTag.valueOf(special_data.asString(), scriptEntry.getContext());
dataObject = itemType.getItemStack();
}
- // Intentionally list last due to requiring 1.17+
- else if (NMSHandler.getVersion().isAtLeast(NMSVersion.v1_17) && clazz == org.bukkit.Particle.DustTransition.class) {
+ else if (clazz == org.bukkit.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());
@@ -306,14 +306,24 @@ else if (NMSHandler.getVersion().isAtLeast(NMSVersion.v1_17) && clazz == org.buk
dataObject = new org.bukkit.Particle.DustTransition(fromColor.getColor(), toColor.getColor(), size);
}
}
- else if (NMSHandler.getVersion().isAtLeast(NMSVersion.v1_17) && clazz == Vibration.class) {
+ 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());
return;
}
else {
- dataObject = MultiVersionHelper1_17.getPlayEffectVibrationObject(dataList, scriptEntry);
+ DurationTag duration = dataList.getObject(0).asType(DurationTag.class, scriptEntry.context);
+ LocationTag origin = dataList.getObject(1).asType(LocationTag.class, scriptEntry.context);
+ ObjectTag destination = dataList.getObject(2);
+ Vibration.Destination destObj;
+ if (destination.shouldBeType(EntityTag.class)) {
+ destObj = new Vibration.Destination.EntityDestination(destination.asType(EntityTag.class, scriptEntry.context).getBukkitEntity());
+ }
+ else {
+ destObj = new Vibration.Destination.BlockDestination(destination.asType(LocationTag.class, scriptEntry.context));
+ }
+ dataObject = new Vibration(origin, destObj, duration.getTicksAsInt());
}
}
else {
diff --git a/plugin/src/main/java/com/denizenscript/denizen/scripts/containers/ContainerRegistry.java b/plugin/src/main/java/com/denizenscript/denizen/scripts/containers/ContainerRegistry.java
index ebe315ba1e..26ccb3050f 100644
--- a/plugin/src/main/java/com/denizenscript/denizen/scripts/containers/ContainerRegistry.java
+++ b/plugin/src/main/java/com/denizenscript/denizen/scripts/containers/ContainerRegistry.java
@@ -1,7 +1,5 @@
package com.denizenscript.denizen.scripts.containers;
-import com.denizenscript.denizen.nms.NMSHandler;
-import com.denizenscript.denizen.nms.NMSVersion;
import com.denizenscript.denizen.scripts.containers.core.*;
import com.denizenscript.denizen.utilities.depends.Depends;
import com.denizenscript.denizencore.scripts.ScriptRegistry;
@@ -15,9 +13,7 @@ public static void registerMainContainers() {
if (Depends.vault != null) {
ScriptRegistry._registerType("economy", EconomyScriptContainer.class);
}
- if (NMSHandler.getVersion().isAtLeast(NMSVersion.v1_17)) {
- ScriptRegistry._registerType("enchantment", EnchantmentScriptContainer.class);
- }
+ ScriptRegistry._registerType("enchantment", EnchantmentScriptContainer.class);
ScriptRegistry._registerType("entity", EntityScriptContainer.class);
ScriptRegistry._registerType("format", FormatScriptContainer.class);
ScriptRegistry._registerType("interact", InteractScriptContainer.class);
diff --git a/plugin/src/main/java/com/denizenscript/denizen/utilities/MultiVersionHelper1_17.java b/plugin/src/main/java/com/denizenscript/denizen/utilities/MultiVersionHelper1_17.java
deleted file mode 100644
index dfd8550f06..0000000000
--- a/plugin/src/main/java/com/denizenscript/denizen/utilities/MultiVersionHelper1_17.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package com.denizenscript.denizen.utilities;
-
-import com.denizenscript.denizen.objects.EntityTag;
-import com.denizenscript.denizen.objects.LocationTag;
-import com.denizenscript.denizen.objects.properties.entity.EntityColor;
-import com.denizenscript.denizen.objects.properties.material.MaterialBlockType;
-import com.denizenscript.denizen.objects.properties.material.MaterialMode;
-import com.denizenscript.denizencore.objects.Mechanism;
-import com.denizenscript.denizencore.objects.ObjectTag;
-import com.denizenscript.denizencore.objects.core.DurationTag;
-import com.denizenscript.denizencore.objects.core.ListTag;
-import com.denizenscript.denizencore.scripts.ScriptEntry;
-import com.denizenscript.denizencore.utilities.CoreUtilities;
-import org.bukkit.Vibration;
-import org.bukkit.block.data.type.BigDripleaf;
-import org.bukkit.block.data.type.PointedDripstone;
-import org.bukkit.block.data.type.SculkSensor;
-import org.bukkit.entity.Axolotl;
-import org.bukkit.entity.Entity;
-import org.bukkit.entity.EntityType;
-import org.bukkit.entity.Goat;
-
-public class MultiVersionHelper1_17 { // TODO: 1.17
-
- public static boolean colorIsApplicable(EntityType type) {
- return type == EntityType.GOAT || type == EntityType.AXOLOTL;
- }
-
- public static String getColor(Entity entity) {
- if (entity instanceof Goat) {
- return ((Goat) entity).isScreaming() ? "screaming" : "normal";
- }
- else if (entity instanceof Axolotl) {
- return ((Axolotl) entity).getVariant().name();
- }
- return null;
- }
-
- public static ListTag getAllowedColors(EntityType type) {
- if (type == EntityType.GOAT) {
- ListTag result = new ListTag();
- result.add("screaming");
- result.add("normal");
- return result;
- }
- else if (type == EntityType.AXOLOTL) {
- return EntityColor.listForEnum(Axolotl.Variant.values());
- }
- return null;
- }
-
- public static void setColor(Entity entity, Mechanism mech) {
- if (entity instanceof Goat) {
- ((Goat) entity).setScreaming(CoreUtilities.toLowerCase(mech.getValue().asString()).equals("screaming"));
- }
- else if (entity instanceof Axolotl && mech.requireEnum(Axolotl.Variant.class)) {
- ((Axolotl) entity).setVariant(Axolotl.Variant.valueOf(mech.getValue().asString().toUpperCase()));
- }
- }
-
- public static void materialBlockTypeRunMech(Mechanism mechanism, MaterialBlockType object) {
- if (object.isDripstone() && mechanism.requireEnum(PointedDripstone.Thickness.class)) {
- ((PointedDripstone) object.material.getModernData()).setThickness(PointedDripstone.Thickness.valueOf(mechanism.getValue().asString().toUpperCase()));
- }
- }
-
- public static void materialModeRunMech(Mechanism mechanism, MaterialMode object) {
- if (object.isSculkSensor() && mechanism.requireEnum(SculkSensor.Phase.class)) {
- ((SculkSensor) object.material.getModernData()).setPhase(SculkSensor.Phase.valueOf(mechanism.getValue().asString().toUpperCase()));
- }
- else if (object.isBigDripleaf() && mechanism.requireEnum(BigDripleaf.Tilt.class)) {
- ((BigDripleaf) object.material.getModernData()).setTilt(BigDripleaf.Tilt.valueOf(mechanism.getValue().asString().toUpperCase()));
- }
- }
-
- public static Object getPlayEffectVibrationObject(ListTag dataList, ScriptEntry scriptEntry) {
- DurationTag duration = dataList.getObject(0).asType(DurationTag.class, scriptEntry.context);
- LocationTag origin = dataList.getObject(1).asType(LocationTag.class, scriptEntry.context);
- ObjectTag destination = dataList.getObject(2);
- Vibration.Destination destObj;
- if (destination.shouldBeType(EntityTag.class)) {
- destObj = new Vibration.Destination.EntityDestination(destination.asType(EntityTag.class, scriptEntry.context).getBukkitEntity());
- }
- else {
- destObj = new Vibration.Destination.BlockDestination(destination.asType(LocationTag.class, scriptEntry.context));
- }
- return new Vibration(origin, destObj, duration.getTicksAsInt());
- }
-}
diff --git a/plugin/src/main/java/com/denizenscript/denizen/utilities/packets/DenizenPacketHandler.java b/plugin/src/main/java/com/denizenscript/denizen/utilities/packets/DenizenPacketHandler.java
index 5be324ea08..8df87a24c6 100644
--- a/plugin/src/main/java/com/denizenscript/denizen/utilities/packets/DenizenPacketHandler.java
+++ b/plugin/src/main/java/com/denizenscript/denizen/utilities/packets/DenizenPacketHandler.java
@@ -2,8 +2,6 @@
import com.denizenscript.denizen.Denizen;
import com.denizenscript.denizen.events.player.*;
-import com.denizenscript.denizen.nms.NMSHandler;
-import com.denizenscript.denizen.nms.NMSVersion;
import com.denizenscript.denizen.nms.interfaces.packets.*;
import com.denizenscript.denizencore.utilities.debugging.Debug;
import com.denizenscript.denizen.objects.EntityTag;
@@ -76,9 +74,7 @@ public boolean receivePacket(final Player player, final PacketInSteerVehicle ste
raisableItems.add(Material.CROSSBOW);
raisableItems.add(Material.BOW);
raisableItems.add(Material.TRIDENT);
- if (NMSHandler.getVersion().isAtLeast(NMSVersion.v1_17)) {
- raisableItems.add(Material.valueOf("SPYGLASS"));
- }
+ raisableItems.add(Material.SPYGLASS);
}
public static boolean isHoldingRaisable(Player player) {
diff --git a/plugin/src/main/java/com/denizenscript/denizen/utilities/world/VoidGenerator.java b/plugin/src/main/java/com/denizenscript/denizen/utilities/world/VoidGenerator.java
deleted file mode 100644
index fb4297e259..0000000000
--- a/plugin/src/main/java/com/denizenscript/denizen/utilities/world/VoidGenerator.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.denizenscript.denizen.utilities.world;
-
-import org.bukkit.World;
-import org.bukkit.block.Biome;
-import org.bukkit.generator.ChunkGenerator;
-
-import java.util.Random;
-
-public class VoidGenerator extends ChunkGenerator {
-
- @Override
- public ChunkData generateChunkData(World world, Random random, int chunkX, int chunkZ, BiomeGrid biome) {
- if (biome != null) {
- for (int x = 0; x < 16; x++) {
- for (int z = 0; z < 16; z++) {
- biome.setBiome(x, 0, z, Biome.THE_VOID);
- }
- }
- }
- return createChunkData(world);
- }
-}
diff --git a/plugin/src/main/resources/plugin.yml b/plugin/src/main/resources/plugin.yml
index b54503ebb4..9c522be7ac 100644
--- a/plugin/src/main/resources/plugin.yml
+++ b/plugin/src/main/resources/plugin.yml
@@ -4,7 +4,7 @@ version: ${project.version} (build ${BUILD_NUMBER}-${BUILD_CLASS})
main: com.denizenscript.denizen.Denizen
softdepend: [Citizens, Vault]
-api-version: '1.16'
+api-version: '1.17'
libraries:
- org.mongodb:mongodb-driver-sync:4.7.0
diff --git a/pom.xml b/pom.xml
index fbfad7a91b..a3fff29a6f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -24,7 +24,6 @@
v1_19
v1_18
v1_17
- v1_16
dist