diff --git a/nmsutils-v1_16_R2/src/main/java/de/cubeside/nmsutils/v1_16_R2/EntityUtilsImpl.java b/nmsutils-v1_16_R2/src/main/java/de/cubeside/nmsutils/v1_16_R2/EntityUtilsImpl.java index 4b65b3f..34c8113 100644 --- a/nmsutils-v1_16_R2/src/main/java/de/cubeside/nmsutils/v1_16_R2/EntityUtilsImpl.java +++ b/nmsutils-v1_16_R2/src/main/java/de/cubeside/nmsutils/v1_16_R2/EntityUtilsImpl.java @@ -17,6 +17,7 @@ import net.minecraft.server.v1_16_R2.EnumMoveType; import net.minecraft.server.v1_16_R2.PacketPlayOutEntityTeleport; import net.minecraft.server.v1_16_R2.PathfinderGoalFloat; +import net.minecraft.server.v1_16_R2.PathfinderGoalWrapped; import net.minecraft.server.v1_16_R2.PlayerChunkMap; import net.minecraft.server.v1_16_R2.Vec3D; import org.bukkit.Bukkit; @@ -81,7 +82,13 @@ public void addGoalLimitedStrollLand(Creature mob, double velocity, Function wg.getGoal() instanceof PathfinderGoalLimitedRandomStrollLand); + for (PathfinderGoalWrapped wrappedGoal : h.goalSelector.getTasks()) { + if (wrappedGoal.getGoal() instanceof PathfinderGoalLimitedRandomStrollLand) { + wrappedGoal.d(); + h.goalSelector.removeGoal(wrappedGoal.getGoal()); + break; + } + } } @Override diff --git a/nmsutils-v1_16_R3/src/main/java/de/cubeside/nmsutils/v1_16_R3/EntityUtilsImpl.java b/nmsutils-v1_16_R3/src/main/java/de/cubeside/nmsutils/v1_16_R3/EntityUtilsImpl.java index a8c3915..1c655c3 100644 --- a/nmsutils-v1_16_R3/src/main/java/de/cubeside/nmsutils/v1_16_R3/EntityUtilsImpl.java +++ b/nmsutils-v1_16_R3/src/main/java/de/cubeside/nmsutils/v1_16_R3/EntityUtilsImpl.java @@ -17,6 +17,7 @@ import net.minecraft.server.v1_16_R3.EnumMoveType; import net.minecraft.server.v1_16_R3.PacketPlayOutEntityTeleport; import net.minecraft.server.v1_16_R3.PathfinderGoalFloat; +import net.minecraft.server.v1_16_R3.PathfinderGoalWrapped; import net.minecraft.server.v1_16_R3.PlayerChunkMap; import net.minecraft.server.v1_16_R3.Vec3D; import org.bukkit.Bukkit; @@ -81,7 +82,13 @@ public void addGoalLimitedStrollLand(Creature mob, double velocity, Function wg.getGoal() instanceof PathfinderGoalLimitedRandomStrollLand); + for (PathfinderGoalWrapped wrappedGoal : h.goalSelector.getTasks()) { + if (wrappedGoal.getGoal() instanceof PathfinderGoalLimitedRandomStrollLand) { + wrappedGoal.d(); + h.goalSelector.removeGoal(wrappedGoal.getGoal()); + break; + } + } } @Override diff --git a/nmsutils-v1_17_R1_0/src/main/java/de/cubeside/nmsutils/v1_17_R1_0/EntityUtilsImpl.java b/nmsutils-v1_17_R1_0/src/main/java/de/cubeside/nmsutils/v1_17_R1_0/EntityUtilsImpl.java index ffb1c87..23409f3 100644 --- a/nmsutils-v1_17_R1_0/src/main/java/de/cubeside/nmsutils/v1_17_R1_0/EntityUtilsImpl.java +++ b/nmsutils-v1_17_R1_0/src/main/java/de/cubeside/nmsutils/v1_17_R1_0/EntityUtilsImpl.java @@ -15,6 +15,7 @@ import net.minecraft.world.entity.MoverType; import net.minecraft.world.entity.PathfinderMob; import net.minecraft.world.entity.ai.goal.FloatGoal; +import net.minecraft.world.entity.ai.goal.WrappedGoal; import net.minecraft.world.entity.animal.Wolf; import net.minecraft.world.level.ChunkPos; import net.minecraft.world.level.entity.Visibility; @@ -82,7 +83,13 @@ public void addGoalLimitedStrollLand(Creature mob, double velocity, Function wg.getGoal() instanceof PathfinderGoalLimitedRandomStrollLand); + for (WrappedGoal wrappedGoal : h.goalSelector.getAvailableGoals()) { + if (wrappedGoal.getGoal() instanceof PathfinderGoalLimitedRandomStrollLand goal) { + wrappedGoal.stop(); + h.goalSelector.removeGoal(goal); + break; + } + } } @Override diff --git a/nmsutils-v1_17_R1_1/src/main/java/de/cubeside/nmsutils/v1_17_R1_1/EntityUtilsImpl.java b/nmsutils-v1_17_R1_1/src/main/java/de/cubeside/nmsutils/v1_17_R1_1/EntityUtilsImpl.java index 709639a..4540917 100644 --- a/nmsutils-v1_17_R1_1/src/main/java/de/cubeside/nmsutils/v1_17_R1_1/EntityUtilsImpl.java +++ b/nmsutils-v1_17_R1_1/src/main/java/de/cubeside/nmsutils/v1_17_R1_1/EntityUtilsImpl.java @@ -15,6 +15,7 @@ import net.minecraft.world.entity.MoverType; import net.minecraft.world.entity.PathfinderMob; import net.minecraft.world.entity.ai.goal.FloatGoal; +import net.minecraft.world.entity.ai.goal.WrappedGoal; import net.minecraft.world.entity.animal.Wolf; import net.minecraft.world.level.ChunkPos; import net.minecraft.world.level.entity.Visibility; @@ -82,7 +83,13 @@ public void addGoalLimitedStrollLand(Creature mob, double velocity, Function wg.getGoal() instanceof PathfinderGoalLimitedRandomStrollLand); + for (WrappedGoal wrappedGoal : h.goalSelector.getAvailableGoals()) { + if (wrappedGoal.getGoal() instanceof PathfinderGoalLimitedRandomStrollLand goal) { + wrappedGoal.stop(); + h.goalSelector.removeGoal(goal); + break; + } + } } @Override diff --git a/nmsutils-v1_18_R1/src/main/java/de/cubeside/nmsutils/v1_18_R1/EntityUtilsImpl.java b/nmsutils-v1_18_R1/src/main/java/de/cubeside/nmsutils/v1_18_R1/EntityUtilsImpl.java index 82de8fe..3de70d7 100644 --- a/nmsutils-v1_18_R1/src/main/java/de/cubeside/nmsutils/v1_18_R1/EntityUtilsImpl.java +++ b/nmsutils-v1_18_R1/src/main/java/de/cubeside/nmsutils/v1_18_R1/EntityUtilsImpl.java @@ -16,6 +16,7 @@ import net.minecraft.world.entity.MoverType; import net.minecraft.world.entity.PathfinderMob; import net.minecraft.world.entity.ai.goal.FloatGoal; +import net.minecraft.world.entity.ai.goal.WrappedGoal; import net.minecraft.world.entity.animal.Wolf; import net.minecraft.world.level.ChunkPos; import net.minecraft.world.level.entity.Visibility; @@ -81,7 +82,13 @@ public void addGoalLimitedStrollLand(Creature mob, double velocity, Function wg.getGoal() instanceof PathfinderGoalLimitedRandomStrollLand); + for (WrappedGoal wrappedGoal : h.goalSelector.getAvailableGoals()) { + if (wrappedGoal.getGoal() instanceof PathfinderGoalLimitedRandomStrollLand goal) { + wrappedGoal.stop(); + h.goalSelector.removeGoal(goal); + break; + } + } } @Override diff --git a/nmsutils-v1_18_R2/src/main/java/de/cubeside/nmsutils/v1_18_R2/EntityUtilsImpl.java b/nmsutils-v1_18_R2/src/main/java/de/cubeside/nmsutils/v1_18_R2/EntityUtilsImpl.java index 2659967..fc4aa57 100644 --- a/nmsutils-v1_18_R2/src/main/java/de/cubeside/nmsutils/v1_18_R2/EntityUtilsImpl.java +++ b/nmsutils-v1_18_R2/src/main/java/de/cubeside/nmsutils/v1_18_R2/EntityUtilsImpl.java @@ -16,6 +16,7 @@ import net.minecraft.world.entity.MoverType; import net.minecraft.world.entity.PathfinderMob; import net.minecraft.world.entity.ai.goal.FloatGoal; +import net.minecraft.world.entity.ai.goal.WrappedGoal; import net.minecraft.world.entity.animal.Wolf; import net.minecraft.world.level.ChunkPos; import net.minecraft.world.level.entity.Visibility; @@ -81,7 +82,13 @@ public void addGoalLimitedStrollLand(Creature mob, double velocity, Function wg.getGoal() instanceof PathfinderGoalLimitedRandomStrollLand); + for (WrappedGoal wrappedGoal : h.goalSelector.getAvailableGoals()) { + if (wrappedGoal.getGoal() instanceof PathfinderGoalLimitedRandomStrollLand goal) { + wrappedGoal.stop(); + h.goalSelector.removeGoal(goal); + break; + } + } } @Override diff --git a/nmsutils-v1_19_R1_0/src/main/java/de/cubeside/nmsutils/v1_19_R1_0/EntityUtilsImpl.java b/nmsutils-v1_19_R1_0/src/main/java/de/cubeside/nmsutils/v1_19_R1_0/EntityUtilsImpl.java index 7ccedfb..cb3ac88 100644 --- a/nmsutils-v1_19_R1_0/src/main/java/de/cubeside/nmsutils/v1_19_R1_0/EntityUtilsImpl.java +++ b/nmsutils-v1_19_R1_0/src/main/java/de/cubeside/nmsutils/v1_19_R1_0/EntityUtilsImpl.java @@ -16,6 +16,7 @@ import net.minecraft.world.entity.MoverType; import net.minecraft.world.entity.PathfinderMob; import net.minecraft.world.entity.ai.goal.FloatGoal; +import net.minecraft.world.entity.ai.goal.WrappedGoal; import net.minecraft.world.entity.animal.Wolf; import net.minecraft.world.level.ChunkPos; import net.minecraft.world.level.entity.Visibility; @@ -81,7 +82,13 @@ public void addGoalLimitedStrollLand(Creature mob, double velocity, Function wg.getGoal() instanceof PathfinderGoalLimitedRandomStrollLand); + for (WrappedGoal wrappedGoal : h.goalSelector.getAvailableGoals()) { + if (wrappedGoal.getGoal() instanceof PathfinderGoalLimitedRandomStrollLand goal) { + wrappedGoal.stop(); + h.goalSelector.removeGoal(goal); + break; + } + } } @Override diff --git a/nmsutils-v1_19_R1_1/src/main/java/de/cubeside/nmsutils/v1_19_R1_1/EntityUtilsImpl.java b/nmsutils-v1_19_R1_1/src/main/java/de/cubeside/nmsutils/v1_19_R1_1/EntityUtilsImpl.java index 213e857..82f66f7 100644 --- a/nmsutils-v1_19_R1_1/src/main/java/de/cubeside/nmsutils/v1_19_R1_1/EntityUtilsImpl.java +++ b/nmsutils-v1_19_R1_1/src/main/java/de/cubeside/nmsutils/v1_19_R1_1/EntityUtilsImpl.java @@ -16,6 +16,7 @@ import net.minecraft.world.entity.MoverType; import net.minecraft.world.entity.PathfinderMob; import net.minecraft.world.entity.ai.goal.FloatGoal; +import net.minecraft.world.entity.ai.goal.WrappedGoal; import net.minecraft.world.entity.animal.Wolf; import net.minecraft.world.level.ChunkPos; import net.minecraft.world.level.entity.Visibility; @@ -81,7 +82,13 @@ public void addGoalLimitedStrollLand(Creature mob, double velocity, Function wg.getGoal() instanceof PathfinderGoalLimitedRandomStrollLand); + for (WrappedGoal wrappedGoal : h.goalSelector.getAvailableGoals()) { + if (wrappedGoal.getGoal() instanceof PathfinderGoalLimitedRandomStrollLand goal) { + wrappedGoal.stop(); + h.goalSelector.removeGoal(goal); + break; + } + } } @Override diff --git a/nmsutils-v1_19_R2/src/main/java/de/cubeside/nmsutils/v1_19_R2/EntityUtilsImpl.java b/nmsutils-v1_19_R2/src/main/java/de/cubeside/nmsutils/v1_19_R2/EntityUtilsImpl.java index 289d359..09c0cbd 100644 --- a/nmsutils-v1_19_R2/src/main/java/de/cubeside/nmsutils/v1_19_R2/EntityUtilsImpl.java +++ b/nmsutils-v1_19_R2/src/main/java/de/cubeside/nmsutils/v1_19_R2/EntityUtilsImpl.java @@ -15,6 +15,7 @@ import net.minecraft.world.entity.MoverType; import net.minecraft.world.entity.PathfinderMob; import net.minecraft.world.entity.ai.goal.FloatGoal; +import net.minecraft.world.entity.ai.goal.WrappedGoal; import net.minecraft.world.entity.animal.Wolf; import net.minecraft.world.entity.animal.camel.Camel; import net.minecraft.world.level.ChunkPos; @@ -81,7 +82,13 @@ public void addGoalLimitedStrollLand(Creature mob, double velocity, Function g instanceof PathfinderGoalLimitedRandomStrollLand); + for (WrappedGoal wrappedGoal : h.goalSelector.getAvailableGoals()) { + if (wrappedGoal.getGoal() instanceof PathfinderGoalLimitedRandomStrollLand goal) { + wrappedGoal.stop(); + h.goalSelector.removeGoal(goal); + break; + } + } } @Override diff --git a/nmsutils-v1_19_R3/src/main/java/de/cubeside/nmsutils/v1_19_R3/EntityUtilsImpl.java b/nmsutils-v1_19_R3/src/main/java/de/cubeside/nmsutils/v1_19_R3/EntityUtilsImpl.java index 08dd47a..7488153 100644 --- a/nmsutils-v1_19_R3/src/main/java/de/cubeside/nmsutils/v1_19_R3/EntityUtilsImpl.java +++ b/nmsutils-v1_19_R3/src/main/java/de/cubeside/nmsutils/v1_19_R3/EntityUtilsImpl.java @@ -15,6 +15,7 @@ import net.minecraft.world.entity.MoverType; import net.minecraft.world.entity.PathfinderMob; import net.minecraft.world.entity.ai.goal.FloatGoal; +import net.minecraft.world.entity.ai.goal.WrappedGoal; import net.minecraft.world.entity.animal.Wolf; import net.minecraft.world.entity.animal.camel.Camel; import net.minecraft.world.level.ChunkPos; @@ -78,7 +79,13 @@ public void addGoalLimitedStrollLand(Creature mob, double velocity, Function g instanceof PathfinderGoalLimitedRandomStrollLand); + for (WrappedGoal wrappedGoal : h.goalSelector.getAvailableGoals()) { + if (wrappedGoal.getGoal() instanceof PathfinderGoalLimitedRandomStrollLand goal) { + wrappedGoal.stop(); + h.goalSelector.removeGoal(goal); + break; + } + } } @Override diff --git a/nmsutils-v1_20_R1/src/main/java/de/cubeside/nmsutils/v1_20_R1/EntityUtilsImpl.java b/nmsutils-v1_20_R1/src/main/java/de/cubeside/nmsutils/v1_20_R1/EntityUtilsImpl.java index f90cb59..4f2c08a 100644 --- a/nmsutils-v1_20_R1/src/main/java/de/cubeside/nmsutils/v1_20_R1/EntityUtilsImpl.java +++ b/nmsutils-v1_20_R1/src/main/java/de/cubeside/nmsutils/v1_20_R1/EntityUtilsImpl.java @@ -15,6 +15,7 @@ import net.minecraft.world.entity.MoverType; import net.minecraft.world.entity.PathfinderMob; import net.minecraft.world.entity.ai.goal.FloatGoal; +import net.minecraft.world.entity.ai.goal.WrappedGoal; import net.minecraft.world.entity.animal.Wolf; import net.minecraft.world.entity.animal.camel.Camel; import net.minecraft.world.level.ChunkPos; @@ -78,7 +79,13 @@ public void addGoalLimitedStrollLand(Creature mob, double velocity, Function g instanceof PathfinderGoalLimitedRandomStrollLand); + for (WrappedGoal wrappedGoal : h.goalSelector.getAvailableGoals()) { + if (wrappedGoal.getGoal() instanceof PathfinderGoalLimitedRandomStrollLand goal) { + wrappedGoal.stop(); + h.goalSelector.removeGoal(goal); + break; + } + } } @Override diff --git a/nmsutils-v1_20_R2/src/main/java/de/cubeside/nmsutils/v1_20_R2/EntityUtilsImpl.java b/nmsutils-v1_20_R2/src/main/java/de/cubeside/nmsutils/v1_20_R2/EntityUtilsImpl.java index e91f66b..398fb67 100644 --- a/nmsutils-v1_20_R2/src/main/java/de/cubeside/nmsutils/v1_20_R2/EntityUtilsImpl.java +++ b/nmsutils-v1_20_R2/src/main/java/de/cubeside/nmsutils/v1_20_R2/EntityUtilsImpl.java @@ -15,6 +15,7 @@ import net.minecraft.world.entity.MoverType; import net.minecraft.world.entity.PathfinderMob; import net.minecraft.world.entity.ai.goal.FloatGoal; +import net.minecraft.world.entity.ai.goal.WrappedGoal; import net.minecraft.world.entity.animal.Wolf; import net.minecraft.world.entity.animal.camel.Camel; import net.minecraft.world.level.ChunkPos; @@ -78,7 +79,13 @@ public void addGoalLimitedStrollLand(Creature mob, double velocity, Function g instanceof PathfinderGoalLimitedRandomStrollLand); + for (WrappedGoal wrappedGoal : h.goalSelector.getAvailableGoals()) { + if (wrappedGoal.getGoal() instanceof PathfinderGoalLimitedRandomStrollLand goal) { + wrappedGoal.stop(); + h.goalSelector.removeGoal(goal); + break; + } + } } @Override