summaryrefslogtreecommitdiffstats
path: root/nms-patches/ItemWorldMap.patch
diff options
context:
space:
mode:
authormd_5 <git@md-5.net>2018-07-16 12:45:01 +1000
committermd_5 <git@md-5.net>2018-07-16 12:45:01 +1000
commit84676f363c9513da5e4dab2891689ff318f4726c (patch)
tree345883bf4bfc21a024d123309f6432a4d91b1028 /nms-patches/ItemWorldMap.patch
parent8fbc72b714a5051c6df8f05ac97528d747f1bdeb (diff)
downloadcraftbukkit-84676f363c9513da5e4dab2891689ff318f4726c.tar
craftbukkit-84676f363c9513da5e4dab2891689ff318f4726c.tar.gz
craftbukkit-84676f363c9513da5e4dab2891689ff318f4726c.tar.lz
craftbukkit-84676f363c9513da5e4dab2891689ff318f4726c.tar.xz
craftbukkit-84676f363c9513da5e4dab2891689ff318f4726c.zip
Fix MapInitializeEvent firing every tick
Diffstat (limited to 'nms-patches/ItemWorldMap.patch')
-rw-r--r--nms-patches/ItemWorldMap.patch16
1 files changed, 9 insertions, 7 deletions
diff --git a/nms-patches/ItemWorldMap.patch b/nms-patches/ItemWorldMap.patch
index c5dfff5d..237da62e 100644
--- a/nms-patches/ItemWorldMap.patch
+++ b/nms-patches/ItemWorldMap.patch
@@ -30,7 +30,7 @@
}
return worldmap;
-@@ -33,26 +38,40 @@
+@@ -33,26 +38,42 @@
public static int e(ItemStack itemstack) {
NBTTagCompound nbttagcompound = itemstack.getTag();
@@ -59,12 +59,14 @@
@Nullable
public static WorldMap a(GeneratorAccess generatoraccess, String s) {
- return (WorldMap) generatoraccess.a(WorldMap::new, s);
-+ // CraftBukkit start
-+ WorldMap worldmap = (WorldMap) MinecraftServer.getServer().worlds.get(0).a(WorldMap::new, s); // CraftBukkit - use primary world for maps
-+ if (worldmap != null) {
-+ MapInitializeEvent event = new MapInitializeEvent(worldmap.mapView);
++ // CraftBukkit start - use primary world for maps and call event
++ WorldMap worldmap = (WorldMap) MinecraftServer.getServer().worlds.get(0).a((id) -> {
++ // We only get here when the data file exists, but is not a valid map
++ WorldMap newMap = new WorldMap(id);
++ MapInitializeEvent event = new MapInitializeEvent(newMap.mapView);
+ Bukkit.getServer().getPluginManager().callEvent(event);
-+ }
++ return newMap;
++ }, s);
+ return worldmap;
+ // CraftBukkit end
}
@@ -76,7 +78,7 @@
int i = 1 << worldmap.scale;
int j = worldmap.centerX;
int k = worldmap.centerZ;
-@@ -199,7 +218,8 @@
+@@ -199,7 +220,8 @@
WorldMap worldmap = getSavedMap(itemstack, world);
if (worldmap != null) {