From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jake Potrebic Date: Sat, 21 Aug 2021 12:13:53 -0700 Subject: [PATCH] Change EnderEye target without changing other things diff --git a/src/main/java/net/minecraft/world/entity/projectile/EyeOfEnder.java b/src/main/java/net/minecraft/world/entity/projectile/EyeOfEnder.java index f1582be22ffdd916eaab8998e3f367f2aac29d51..855e85e8d0d1f15304b0a42b46ef845325e103aa 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/EyeOfEnder.java +++ b/src/main/java/net/minecraft/world/entity/projectile/EyeOfEnder.java @@ -73,6 +73,11 @@ public class EyeOfEnder extends Entity implements ItemSupplier { } public void signalTo(BlockPos pos) { + // Paper start + this.signalTo(pos, true); + } + public void signalTo(BlockPos pos, boolean update) { + // Paper end double d0 = (double) pos.getX(); int i = pos.getY(); double d1 = (double) pos.getZ(); @@ -90,8 +95,10 @@ public class EyeOfEnder extends Entity implements ItemSupplier { this.tz = d1; } + if (update) { // Paper this.life = 0; this.surviveAfterDeath = this.random.nextInt(5) > 0; + } // Paper } @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEnderSignal.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEnderSignal.java index 705dcae8f881cbdf5ff468f945b9269f9eae0e58..13c1188639e00cd96e00b179c4e353582bf66e64 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEnderSignal.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEnderSignal.java @@ -38,8 +38,15 @@ public class CraftEnderSignal extends CraftEntity implements EnderSignal { @Override public void setTargetLocation(Location location) { + // Paper start + this.setTargetLocation(location, true); + } + + @Override + public void setTargetLocation(Location location, boolean update) { + // Paper end Preconditions.checkArgument(getWorld().equals(location.getWorld()), "Cannot target EnderSignal across worlds"); - this.getHandle().signalTo(new BlockPos(location.getX(), location.getY(), location.getZ())); + this.getHandle().signalTo(new BlockPos(location.getX(), location.getY(), location.getZ()), update); // Paper } @Override