45 lines
1.9 KiB
Diff
45 lines
1.9 KiB
Diff
From dc0d3dd73071c17da61f90d233b070cca91d1896 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
|
|
|