aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/server/0293-Prevent-Enderman-from-loading-chunks.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/server/0293-Prevent-Enderman-from-loading-chunks.patch')
-rw-r--r--patches/server/0293-Prevent-Enderman-from-loading-chunks.patch30
1 files changed, 30 insertions, 0 deletions
diff --git a/patches/server/0293-Prevent-Enderman-from-loading-chunks.patch b/patches/server/0293-Prevent-Enderman-from-loading-chunks.patch
new file mode 100644
index 0000000000..60ad30486e
--- /dev/null
+++ b/patches/server/0293-Prevent-Enderman-from-loading-chunks.patch
@@ -0,0 +1,30 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Shane Freeder <[email protected]>
+Date: Tue, 18 Dec 2018 02:15:08 +0000
+Subject: [PATCH] Prevent Enderman from loading chunks
+
+
+diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+index 102cab5a2104d32440ad489847bb7a443beead51..4920f5465298b4da33b53f80b8af6220cb0e8ccc 100644
+--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
++++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+@@ -489,7 +489,8 @@ public class EnderMan extends Monster implements NeutralMob {
+ int j = Mth.floor(this.enderman.getY() + random.nextDouble() * 2.0D);
+ int k = Mth.floor(this.enderman.getZ() - 1.0D + random.nextDouble() * 2.0D);
+ BlockPos blockposition = new BlockPos(i, j, k);
+- BlockState iblockdata = world.getBlockState(blockposition);
++ BlockState iblockdata = world.getBlockStateIfLoaded(blockposition); // Paper
++ if (iblockdata == null) return; // Paper
+ BlockPos blockposition1 = blockposition.below();
+ BlockState iblockdata1 = world.getBlockState(blockposition1);
+ BlockState iblockdata2 = this.enderman.getCarriedBlock();
+@@ -535,7 +536,8 @@ public class EnderMan extends Monster implements NeutralMob {
+ int j = Mth.floor(this.enderman.getY() + random.nextDouble() * 3.0D);
+ int k = Mth.floor(this.enderman.getZ() - 2.0D + random.nextDouble() * 4.0D);
+ BlockPos blockposition = new BlockPos(i, j, k);
+- BlockState iblockdata = world.getBlockState(blockposition);
++ BlockState iblockdata = world.getBlockStateIfLoaded(blockposition); // Paper
++ if (iblockdata == null) return; // Paper
+ Vec3 vec3d = new Vec3((double) this.enderman.getBlockX() + 0.5D, (double) j + 0.5D, (double) this.enderman.getBlockZ() + 0.5D);
+ Vec3 vec3d1 = new Vec3((double) i + 0.5D, (double) j + 0.5D, (double) k + 0.5D);
+ BlockHitResult movingobjectpositionblock = world.clip(new ClipContext(vec3d, vec3d1, ClipContext.Block.OUTLINE, ClipContext.Fluid.NONE, this.enderman));