diff --git a/plugin/src/main/java/com/denizenscript/denizen/objects/properties/entity/EntityRiptide.java b/plugin/src/main/java/com/denizenscript/denizen/objects/properties/entity/EntityRiptide.java index 2d96e57413..a5f0504b8b 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/objects/properties/entity/EntityRiptide.java +++ b/plugin/src/main/java/com/denizenscript/denizen/objects/properties/entity/EntityRiptide.java @@ -91,7 +91,10 @@ public void adjust(Mechanism mechanism) { // // --> if (mechanism.matches("is_using_riptide") && mechanism.requireBoolean()) { - NMSHandler.getInstance().getEntityHelper().setRiptide(entity.getBukkitEntity(), mechanism.getValue().asBoolean()); + boolean shouldRiptide = mechanism.getValue().asBoolean(); + if (shouldRiptide != entity.getLivingEntity().isRiptiding()) { + NMSHandler.getInstance().getEntityHelper().setRiptide(entity.getBukkitEntity(), shouldRiptide); + } } } } diff --git a/v1_14_R1/src/main/java/com/denizenscript/denizen/nms/helpers/EntityHelper_v1_14_R1.java b/v1_14_R1/src/main/java/com/denizenscript/denizen/nms/helpers/EntityHelper_v1_14_R1.java index 11e2d651de..4dddd26203 100644 --- a/v1_14_R1/src/main/java/com/denizenscript/denizen/nms/helpers/EntityHelper_v1_14_R1.java +++ b/v1_14_R1/src/main/java/com/denizenscript/denizen/nms/helpers/EntityHelper_v1_14_R1.java @@ -62,8 +62,7 @@ public void setCarriedItem(Enderman entity, ItemStack item) { @Override public void setRiptide(Entity entity, boolean state) { - // https://wiki.vg/Entity_metadata#Living - ((CraftEntity) entity).getHandle().getDataWatcher().set(DataWatcherRegistry.a.a(6), (byte) (state ? 4 : 0)); + ((CraftLivingEntity) entity).getHandle().q(state ? 0 : 1); } @Override