aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/server/0583-Change-EnderEye-target-without-changing-other-things.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/server/0583-Change-EnderEye-target-without-changing-other-things.patch')
-rw-r--r--patches/server/0583-Change-EnderEye-target-without-changing-other-things.patch54
1 files changed, 54 insertions, 0 deletions
diff --git a/patches/server/0583-Change-EnderEye-target-without-changing-other-things.patch b/patches/server/0583-Change-EnderEye-target-without-changing-other-things.patch
new file mode 100644
index 0000000000..53d06a36ec
--- /dev/null
+++ b/patches/server/0583-Change-EnderEye-target-without-changing-other-things.patch
@@ -0,0 +1,54 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Jake Potrebic <[email protected]>
+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 8b0ccd1aa0f2f1d2326c6071f16e641afc101751..fca3786d0a3f99a3e61e7a4b2251361276eff9d7 100644
+--- a/src/main/java/net/minecraft/world/entity/projectile/EyeOfEnder.java
++++ b/src/main/java/net/minecraft/world/entity/projectile/EyeOfEnder.java
+@@ -69,6 +69,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();
+@@ -86,8 +91,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