Paper/Spigot-Server-Patches/0348-Prevent-Enderman-from-loading-chunks.patch

34 Zeilen
2.1 KiB
Diff

2019-07-20 06:01:24 +02:00
From 27a2999cffd04b8c7d4310a2aba040bad333a70a Mon Sep 17 00:00:00 2001
2018-12-18 03:20:03 +01:00
From: Shane Freeder <theboyetronic@gmail.com>
Date: Tue, 18 Dec 2018 02:15:08 +0000
Subject: [PATCH] Prevent Enderman from loading chunks
diff --git a/src/main/java/net/minecraft/server/EntityEnderman.java b/src/main/java/net/minecraft/server/EntityEnderman.java
2019-07-20 06:01:24 +02:00
index 2d29da8560..a94ed1ae08 100644
2018-12-18 03:20:03 +01:00
--- a/src/main/java/net/minecraft/server/EntityEnderman.java
+++ b/src/main/java/net/minecraft/server/EntityEnderman.java
2019-05-14 04:20:58 +02:00
@@ -325,7 +325,8 @@ public class EntityEnderman extends EntityMonster {
2018-12-18 03:20:03 +01:00
int j = MathHelper.floor(this.enderman.locY + random.nextDouble() * 3.0D);
int k = MathHelper.floor(this.enderman.locZ - 2.0D + random.nextDouble() * 4.0D);
BlockPosition blockposition = new BlockPosition(i, j, k);
- IBlockData iblockdata = world.getType(blockposition);
+ IBlockData iblockdata = world.getTypeIfLoaded(blockposition); // Paper
+ if (iblockdata == null) return; // Paper
Block block = iblockdata.getBlock();
2019-05-05 19:19:34 +02:00
Vec3D vec3d = new Vec3D((double) MathHelper.floor(this.enderman.locX) + 0.5D, (double) j + 0.5D, (double) MathHelper.floor(this.enderman.locZ) + 0.5D);
Vec3D vec3d1 = new Vec3D((double) i + 0.5D, (double) j + 0.5D, (double) k + 0.5D);
2019-05-14 04:20:58 +02:00
@@ -367,7 +368,8 @@ public class EntityEnderman extends EntityMonster {
2018-12-18 03:20:03 +01:00
int j = MathHelper.floor(this.a.locY + random.nextDouble() * 2.0D);
int k = MathHelper.floor(this.a.locZ - 1.0D + random.nextDouble() * 2.0D);
BlockPosition blockposition = new BlockPosition(i, j, k);
- IBlockData iblockdata = world.getType(blockposition);
+ IBlockData iblockdata = world.getTypeIfLoaded(blockposition); // Paper
+ if (iblockdata == null) return; // Paper
2019-05-05 19:19:34 +02:00
BlockPosition blockposition1 = blockposition.down();
IBlockData iblockdata1 = world.getType(blockposition1);
2018-12-18 03:20:03 +01:00
IBlockData iblockdata2 = Block.getValidBlockForPosition(getEnderman().getCarried(), getEnderman().world, blockposition); // Paper - Fix MC-124320
--
2.22.0
2018-12-18 03:20:03 +01:00