papermc/Spigot-Server-Patches/0094-Pass-world-to-Village-creation.patch
2016-03-30 20:50:23 -04:00

45 lines
1.9 KiB
Diff

From 5e0d629b3e6a5db8d5a0151baee6c66582d768ff Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sat, 19 Mar 2016 15:16:54 -0400
Subject: [PATCH] Pass world to Village creation
fixes NPE bug #95
diff --git a/src/main/java/net/minecraft/server/PersistentVillage.java b/src/main/java/net/minecraft/server/PersistentVillage.java
index 107f582..140b14b 100644
--- a/src/main/java/net/minecraft/server/PersistentVillage.java
+++ b/src/main/java/net/minecraft/server/PersistentVillage.java
@@ -236,7 +236,7 @@ public class PersistentVillage extends PersistentBase {
for (int i = 0; i < nbttaglist.size(); ++i) {
NBTTagCompound nbttagcompound1 = nbttaglist.get(i);
- Village village = new Village();
+ Village village = new Village(world); // Paper
village.a(nbttagcompound1);
this.villages.add(village);
diff --git a/src/main/java/net/minecraft/server/Village.java b/src/main/java/net/minecraft/server/Village.java
index 932eeb7..06a06ea 100644
--- a/src/main/java/net/minecraft/server/Village.java
+++ b/src/main/java/net/minecraft/server/Village.java
@@ -22,7 +22,7 @@ public class Village {
private List<Village.Aggressor> k;
private int l;
- public Village() {
+ private Village() { // Paper - Nothing should call this - world needs to be set.
this.c = BlockPosition.ZERO;
this.d = BlockPosition.ZERO;
this.j = new TreeMap();
@@ -391,7 +391,7 @@ public class Village {
NBTTagCompound nbttagcompound2 = nbttaglist1.get(j);
if (nbttagcompound2.hasKey("UUID")) {
- UserCache usercache = this.a.getMinecraftServer().getUserCache();
+ UserCache usercache = MinecraftServer.getServer().getUserCache(); // Paper - Bandaid for world being null
GameProfile gameprofile = usercache.a(UUID.fromString(nbttagcompound2.getString("UUID")));
if (gameprofile != null) {
--
2.8.0