diff --git a/paper/src/main/java/com/denizenscript/denizen/paper/PaperModule.java b/paper/src/main/java/com/denizenscript/denizen/paper/PaperModule.java index 7a51a8ae25..2386ca5084 100644 --- a/paper/src/main/java/com/denizenscript/denizen/paper/PaperModule.java +++ b/paper/src/main/java/com/denizenscript/denizen/paper/PaperModule.java @@ -1,8 +1,6 @@ package com.denizenscript.denizen.paper; import com.denizenscript.denizen.Denizen; -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.PlayerTag; diff --git a/plugin/src/main/java/com/denizenscript/denizen/npc/traits/MobproxTrait.java b/plugin/src/main/java/com/denizenscript/denizen/npc/traits/MobproxTrait.java index cd3ea2aee2..120630dea2 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/npc/traits/MobproxTrait.java +++ b/plugin/src/main/java/com/denizenscript/denizen/npc/traits/MobproxTrait.java @@ -3,7 +3,6 @@ import com.denizenscript.denizen.objects.EntityTag; import com.denizenscript.denizen.objects.NPCTag; import com.denizenscript.denizencore.objects.ObjectTag; -import com.denizenscript.denizencore.objects.core.ElementTag; import net.citizensnpcs.api.event.NPCTraitCommandAttachEvent; import net.citizensnpcs.api.trait.Trait; import org.bukkit.ChatColor; diff --git a/plugin/src/main/java/com/denizenscript/denizen/objects/LocationTag.java b/plugin/src/main/java/com/denizenscript/denizen/objects/LocationTag.java index b8d0f08006..ec6ce4877a 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/objects/LocationTag.java +++ b/plugin/src/main/java/com/denizenscript/denizen/objects/LocationTag.java @@ -20,7 +20,6 @@ import com.denizenscript.denizencore.objects.*; import com.denizenscript.denizen.utilities.Settings; import com.denizenscript.denizen.nms.NMSHandler; -import com.denizenscript.denizen.nms.NMSVersion; import com.denizenscript.denizen.nms.interfaces.EntityHelper; import com.denizenscript.denizen.nms.util.PlayerProfile; import com.denizenscript.denizen.tags.BukkitTagContext; diff --git a/plugin/src/main/java/com/denizenscript/denizen/objects/properties/entity/EntityAnger.java b/plugin/src/main/java/com/denizenscript/denizen/objects/properties/entity/EntityAnger.java index ecc20513e3..06ccbd5461 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/objects/properties/entity/EntityAnger.java +++ b/plugin/src/main/java/com/denizenscript/denizen/objects/properties/entity/EntityAnger.java @@ -100,7 +100,7 @@ public void adjust(Mechanism mechanism) { // --> if (mechanism.matches("anger") && mechanism.requireObject(DurationTag.class)) { DurationTag duration; - if (mechanism.getValue().isInt()) { + if (mechanism.getValue().isInt()) { // Soft-deprecated - backwards compatibility, as this used to use a tick count duration = new DurationTag(mechanism.getValue().asLong()); } else { diff --git a/plugin/src/main/java/com/denizenscript/denizen/objects/properties/entity/EntityArmorPose.java b/plugin/src/main/java/com/denizenscript/denizen/objects/properties/entity/EntityArmorPose.java index ec0ca93c4d..60858a7f2b 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/objects/properties/entity/EntityArmorPose.java +++ b/plugin/src/main/java/com/denizenscript/denizen/objects/properties/entity/EntityArmorPose.java @@ -12,7 +12,6 @@ import com.denizenscript.denizencore.utilities.Deprecations; import com.denizenscript.denizencore.utilities.text.StringHolder; import org.bukkit.entity.ArmorStand; -import org.bukkit.entity.EntityType; import org.bukkit.util.EulerAngle; import java.util.Iterator; diff --git a/plugin/src/main/java/com/denizenscript/denizen/objects/properties/entity/EntityItem.java b/plugin/src/main/java/com/denizenscript/denizen/objects/properties/entity/EntityItem.java index 6de2aa21e2..d6ae6e32a2 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/objects/properties/entity/EntityItem.java +++ b/plugin/src/main/java/com/denizenscript/denizen/objects/properties/entity/EntityItem.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.denizen.objects.ItemTag; import com.denizenscript.denizencore.objects.Mechanism; diff --git a/plugin/src/main/java/com/denizenscript/denizen/scripts/containers/core/BukkitWorldScriptHelper.java b/plugin/src/main/java/com/denizenscript/denizen/scripts/containers/core/BukkitWorldScriptHelper.java index 56db7573f1..1279faad12 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/scripts/containers/core/BukkitWorldScriptHelper.java +++ b/plugin/src/main/java/com/denizenscript/denizen/scripts/containers/core/BukkitWorldScriptHelper.java @@ -3,7 +3,6 @@ import com.denizenscript.denizen.Denizen; import com.denizenscript.denizen.events.world.TimeChangeScriptEvent; import com.denizenscript.denizen.nms.NMSHandler; -import com.denizenscript.denizen.nms.NMSVersion; import com.denizenscript.denizen.objects.*; import com.denizenscript.denizen.utilities.ScoreboardHelper; import com.denizenscript.denizen.utilities.debugging.Debug; diff --git a/plugin/src/main/java/com/denizenscript/denizen/scripts/containers/core/FormatScriptContainer.java b/plugin/src/main/java/com/denizenscript/denizen/scripts/containers/core/FormatScriptContainer.java index 6cdc972c95..594af7f26f 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/scripts/containers/core/FormatScriptContainer.java +++ b/plugin/src/main/java/com/denizenscript/denizen/scripts/containers/core/FormatScriptContainer.java @@ -30,6 +30,7 @@ public class FormatScriptContainer extends ScriptContainer { // # The only key is the format. The format can use '<[text]>' as a special def to contain the message being sent. // # '<[name]>' is available as a special def as well for use with the 'on player chats' event to fill the player's name properly. // # Note that 'special' means special: these tags behave a little funny in certain circumstances. + // # In particular, these can't be used as real tags in some cases, including for example when using a format script as a determine in the 'player chats' event. // # | All format scripts MUST have this key! // format: <[name]> says <[text]> // diff --git a/plugin/src/main/java/com/denizenscript/denizen/utilities/FormattedTextHelper.java b/plugin/src/main/java/com/denizenscript/denizen/utilities/FormattedTextHelper.java index fb6b574d7e..1ab6ce96f9 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/utilities/FormattedTextHelper.java +++ b/plugin/src/main/java/com/denizenscript/denizen/utilities/FormattedTextHelper.java @@ -1,9 +1,6 @@ package com.denizenscript.denizen.utilities; 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.denizencore.utilities.AsciiMatcher; import com.denizenscript.denizencore.utilities.CoreUtilities; import com.denizenscript.denizencore.utilities.debugging.Debug; diff --git a/plugin/src/main/java/com/denizenscript/denizen/utilities/blocks/FullBlockData.java b/plugin/src/main/java/com/denizenscript/denizen/utilities/blocks/FullBlockData.java index d9a38b645d..4457176d6e 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/utilities/blocks/FullBlockData.java +++ b/plugin/src/main/java/com/denizenscript/denizen/utilities/blocks/FullBlockData.java @@ -1,7 +1,6 @@ package com.denizenscript.denizen.utilities.blocks; import com.denizenscript.denizen.nms.NMSHandler; -import com.denizenscript.denizen.nms.NMSVersion; import com.denizenscript.denizen.nms.util.jnbt.CompoundTag; import com.denizenscript.denizen.objects.LocationTag; import com.denizenscript.denizencore.flags.MapTagBasedFlagTracker; diff --git a/plugin/src/main/java/com/denizenscript/denizen/utilities/entity/EntityAttachmentHelper.java b/plugin/src/main/java/com/denizenscript/denizen/utilities/entity/EntityAttachmentHelper.java index c4317bf505..35386b7e5d 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/utilities/entity/EntityAttachmentHelper.java +++ b/plugin/src/main/java/com/denizenscript/denizen/utilities/entity/EntityAttachmentHelper.java @@ -44,6 +44,22 @@ public Vector fixedForOffset(Vector offset, float yaw, float pitch) { } } + public void doServerSync() { + Location goal = to.getLocation(); + if (positionalOffset != null) { + goal = fixedForOffset(goal.toVector(), goal.getYaw(), goal.getPitch()).toLocation(goal.getWorld()); + } + if (noRotate) { + Location attachLoc = attached.getLocation(); + goal.setYaw(attachLoc.getYaw()); + goal.setPitch(attachLoc.getPitch()); + } + else if (noPitch) { + goal.setPitch(attached.getLocation().getPitch()); + } + attached.teleport(goal); + } + public void startTask() { if (checkTask != null) { checkTask.cancel(); @@ -61,19 +77,7 @@ public void run() { ticks = 0; } if (syncServer) { - Location goal = to.getLocation(); - if (positionalOffset != null) { - goal = fixedForOffset(goal.toVector(), goal.getYaw(), goal.getPitch()).toLocation(goal.getWorld()); - } - if (noRotate) { - Location attachLoc = attached.getLocation(); - goal.setYaw(attachLoc.getYaw()); - goal.setPitch(attachLoc.getPitch()); - } - else if (noPitch) { - goal.setPitch(attached.getLocation().getPitch()); - } - attached.teleport(goal); + doServerSync(); } } }; @@ -261,6 +265,9 @@ public static void registerAttachment(AttachmentData attachment) { toEntityToData.put(attachment.to.getUUID(), toMap); } toMap.attachedToMap.put(attachment.attached.getUUID(), map); + if (attachment.syncServer) { + attachment.doServerSync(); + } } public static void forceAttachMove(EntityTag attached, EntityTag to, Vector offset, boolean matchRotation) { diff --git a/plugin/src/main/java/com/denizenscript/denizen/utilities/nbt/CustomNBT.java b/plugin/src/main/java/com/denizenscript/denizen/utilities/nbt/CustomNBT.java index 0ec84472d2..5ca82265a1 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/utilities/nbt/CustomNBT.java +++ b/plugin/src/main/java/com/denizenscript/denizen/utilities/nbt/CustomNBT.java @@ -1,7 +1,6 @@ package com.denizenscript.denizen.utilities.nbt; import com.denizenscript.denizen.nms.NMSHandler; -import com.denizenscript.denizen.nms.NMSVersion; import com.denizenscript.denizen.nms.util.jnbt.*; import com.denizenscript.denizen.objects.properties.entity.EntityDisabledSlots.Action; import com.denizenscript.denizencore.utilities.AsciiMatcher; diff --git a/v1_16/src/main/java/com/denizenscript/denizen/nms/v1_16/helpers/EntityHelperImpl.java b/v1_16/src/main/java/com/denizenscript/denizen/nms/v1_16/helpers/EntityHelperImpl.java index 8bd122cf54..df876bf0a9 100644 --- a/v1_16/src/main/java/com/denizenscript/denizen/nms/v1_16/helpers/EntityHelperImpl.java +++ b/v1_16/src/main/java/com/denizenscript/denizen/nms/v1_16/helpers/EntityHelperImpl.java @@ -10,7 +10,6 @@ import com.denizenscript.denizen.utilities.Utilities; import com.denizenscript.denizen.utilities.debugging.Debug; import net.minecraft.server.v1_16_R3.*; -import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.World; import org.bukkit.attribute.Attribute; diff --git a/v1_17/src/main/java/com/denizenscript/denizen/nms/v1_17/helpers/EntityHelperImpl.java b/v1_17/src/main/java/com/denizenscript/denizen/nms/v1_17/helpers/EntityHelperImpl.java index 7f8e4c01f3..8d4ee041b7 100644 --- a/v1_17/src/main/java/com/denizenscript/denizen/nms/v1_17/helpers/EntityHelperImpl.java +++ b/v1_17/src/main/java/com/denizenscript/denizen/nms/v1_17/helpers/EntityHelperImpl.java @@ -42,7 +42,6 @@ import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.HitResult; import net.minecraft.world.phys.Vec3; -import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.World; import org.bukkit.attribute.Attribute; diff --git a/v1_18/src/main/java/com/denizenscript/denizen/nms/v1_18/helpers/EntityHelperImpl.java b/v1_18/src/main/java/com/denizenscript/denizen/nms/v1_18/helpers/EntityHelperImpl.java index a9f25b6ceb..b20342e4f8 100644 --- a/v1_18/src/main/java/com/denizenscript/denizen/nms/v1_18/helpers/EntityHelperImpl.java +++ b/v1_18/src/main/java/com/denizenscript/denizen/nms/v1_18/helpers/EntityHelperImpl.java @@ -42,7 +42,6 @@ import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.HitResult; import net.minecraft.world.phys.Vec3; -import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.World; import org.bukkit.attribute.Attribute; diff --git a/v1_18/src/main/java/com/denizenscript/denizen/nms/v1_18/impl/network/handlers/DenizenNetworkManagerImpl.java b/v1_18/src/main/java/com/denizenscript/denizen/nms/v1_18/impl/network/handlers/DenizenNetworkManagerImpl.java index b9e484339b..4ff3448a20 100644 --- a/v1_18/src/main/java/com/denizenscript/denizen/nms/v1_18/impl/network/handlers/DenizenNetworkManagerImpl.java +++ b/v1_18/src/main/java/com/denizenscript/denizen/nms/v1_18/impl/network/handlers/DenizenNetworkManagerImpl.java @@ -294,6 +294,9 @@ public void send(Packet packet, GenericFutureListener