From 25496ec74347f65858d1b02bf856dc89c3e44a65 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 12 Sep 2018 21:12:57 -0400 Subject: [PATCH] Prevent mob spawning from loading/generating chunks also prevents if out of world border bounds diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java index d125fae03b..297c53d15c 100644 --- a/src/main/java/net/minecraft/server/SpawnerCreature.java +++ b/src/main/java/net/minecraft/server/SpawnerCreature.java @@ -129,9 +129,9 @@ public final class SpawnerCreature { int i2 = blockposition1.getX(); int j2 = blockposition1.getY(); int k2 = blockposition1.getZ(); - IBlockData iblockdata = worldserver.getType(blockposition1); + IBlockData iblockdata = worldserver.getTypeIfLoadedAndInBounds(blockposition1); // Paper - don't load chunks for mob spawn - if (!iblockdata.isOccluding()) { + if (iblockdata != null && !iblockdata.isOccluding()) { // Paper - don't load chunks for mob spawn int l2 = 0; int i3 = 0; @@ -158,7 +158,7 @@ public final class SpawnerCreature { float f1 = (float) l3 + 0.5F; EntityHuman entityhuman1 = worldserver.a((double) f, (double) f1, -1.0D); - if (entityhuman1 != null) { + if (entityhuman1 != null && worldserver.isLoadedAndInBounds(blockposition_mutableblockposition)) { // Paper - don't load chunks for mob spawn double d0 = entityhuman1.d((double) f, (double) k3, (double) f1); if (d0 > 576.0D && blockposition.distanceSquared((double) f, (double) k3, (double) f1) >= 576.0D) { -- 2.21.0