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 ee6bbe96503e9205349e9a5c411dc60dd952ec9e..eb7c16b0291357445d408c0748a03f1a9b562a90 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/EyeOfEnder.java +++ b/src/main/java/net/minecraft/world/entity/projectile/EyeOfEnder.java @@ -70,6 +70,11 @@ public class EyeOfEnder extends Entity implements ItemSupplier { } public void signalTo(BlockPos pos) { + // Paper start - Change EnderEye target without changing other things + this.signalTo(pos, true); + } + public void signalTo(BlockPos pos, boolean update) { + // Paper end - Change EnderEye target without changing other things double d0 = (double) pos.getX(); int i = pos.getY(); double d1 = (double) pos.getZ(); @@ -87,8 +92,10 @@ public class EyeOfEnder extends Entity implements ItemSupplier { this.tz = d1; } + if (update) { // Paper - Change EnderEye target without changing other things this.life = 0; this.surviveAfterDeath = this.random.nextInt(5) > 0; + } // Paper - Change EnderEye target without changing other things } @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEnderSignal.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEnderSignal.java index d4dfc7a0266086b9bf2c3966c6e149453d0583ba..27f56fa4b7ef92a9a4dfa6b782350424b88210f2 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEnderSignal.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEnderSignal.java @@ -32,8 +32,15 @@ public class CraftEnderSignal extends CraftEntity implements EnderSignal { @Override public void setTargetLocation(Location location) { + // Paper start - Change EnderEye target without changing other things + this.setTargetLocation(location, true); + } + + @Override + public void setTargetLocation(Location location, boolean update) { + // Paper end - Change EnderEye target without changing other things Preconditions.checkArgument(this.getWorld().equals(location.getWorld()), "Cannot target EnderSignal across worlds"); - this.getHandle().signalTo(CraftLocation.toBlockPosition(location)); + this.getHandle().signalTo(CraftLocation.toBlockPosition(location), update); // Paper - Change EnderEye target without changing other things } @Override