Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-12-25 15:50:06 +01:00
31 Zeilen
2.2 KiB
Diff
31 Zeilen
2.2 KiB
Diff
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||
|
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/world/entity/monster/EntityEnderman.java b/src/main/java/net/minecraft/world/entity/monster/EntityEnderman.java
|
||
|
index aa6cb15637144c9d8db1b1861e58f3f02d68357a..e993b1849beb60515c51ee4f37617faab63ca223 100644
|
||
|
--- a/src/main/java/net/minecraft/world/entity/monster/EntityEnderman.java
|
||
|
+++ b/src/main/java/net/minecraft/world/entity/monster/EntityEnderman.java
|
||
|
@@ -434,7 +434,8 @@ public class EntityEnderman extends EntityMonster implements IEntityAngerable {
|
||
|
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();
|
||
|
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);
|
||
|
@@ -474,7 +475,8 @@ public class EntityEnderman extends EntityMonster implements IEntityAngerable {
|
||
|
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
|
||
|
BlockPosition blockposition1 = blockposition.down();
|
||
|
IBlockData iblockdata1 = world.getType(blockposition1);
|
||
|
IBlockData iblockdata2 = this.a.getCarried();
|