PaperMC/Spigot-Server-Patches/Don-t-load-chunks-for-villager-door-checks.patch

44 lines
No EOL
1.8 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Tue, 5 Jun 2018 00:32:22 -0400
Subject: [PATCH] Don't load chunks for villager door checks
This avoids villages spam loading chunks sync
diff --git a/src/main/java/net/minecraft/server/PersistentVillage.java b/src/main/java/net/minecraft/server/PersistentVillage.java
index 01f7cee38..a3aa9f82e 100644
--- a/src/main/java/net/minecraft/server/PersistentVillage.java
+++ b/src/main/java/net/minecraft/server/PersistentVillage.java
@@ -0,0 +0,0 @@ public class PersistentVillage extends PersistentBase {
}
private boolean f(BlockPosition blockposition) {
- IBlockData iblockdata = this.world.getType(blockposition);
+ // Paper start
+ IBlockData iblockdata = this.world.getTypeIfLoaded(blockposition);
+ if (iblockdata == null) {
+ return false;
+ }
+ // Paper end
Block block = iblockdata.getBlock();
return block instanceof BlockDoor ? iblockdata.getMaterial() == Material.WOOD : false;
diff --git a/src/main/java/net/minecraft/server/Village.java b/src/main/java/net/minecraft/server/Village.java
index 2eb33a986..9f1867ddd 100644
--- a/src/main/java/net/minecraft/server/Village.java
+++ b/src/main/java/net/minecraft/server/Village.java
@@ -0,0 +0,0 @@ public class Village {
}
private boolean f(BlockPosition blockposition) {
- IBlockData iblockdata = this.a.getType(blockposition);
+ // Paper start
+ IBlockData iblockdata = this.a.getTypeIfLoaded(blockposition);
+ if (iblockdata == null) {
+ return false;
+ }
+ // Paper end
Block block = iblockdata.getBlock();
return block instanceof BlockDoor ? iblockdata.getMaterial() == Material.WOOD : false;
--