diff options
author | Jake Potrebic <[email protected]> | 2023-11-04 14:11:55 -0700 |
---|---|---|
committer | GitHub <[email protected]> | 2023-11-04 14:11:55 -0700 |
commit | 0cdce89d595a2c1c097c9e2a5ff96687977b3b25 (patch) | |
tree | de63d6aa8112811f93b5d6afebbb069b9980870f /patches/server/0637-Fix-incosistency-issue-with-empty-map-items-in-CB.patch | |
parent | 15a0de2eefb70ea8162cbb31056920adf80265fa (diff) | |
download | Paper-0cdce89d595a2c1c097c9e2a5ff96687977b3b25.tar.gz Paper-0cdce89d595a2c1c097c9e2a5ff96687977b3b25.zip |
Fix a bunch of stuff with player spawn locations (#9887)
If a playerdata doesn't contain a valid, loaded world, reset
to the main world spawn point
Diffstat (limited to 'patches/server/0637-Fix-incosistency-issue-with-empty-map-items-in-CB.patch')
-rw-r--r-- | patches/server/0637-Fix-incosistency-issue-with-empty-map-items-in-CB.patch | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/patches/server/0637-Fix-incosistency-issue-with-empty-map-items-in-CB.patch b/patches/server/0637-Fix-incosistency-issue-with-empty-map-items-in-CB.patch new file mode 100644 index 0000000000..d3cf90c2af --- /dev/null +++ b/patches/server/0637-Fix-incosistency-issue-with-empty-map-items-in-CB.patch @@ -0,0 +1,31 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Shane Freeder <[email protected]> +Date: Sun, 1 Aug 2021 09:49:06 +0100 +Subject: [PATCH] Fix incosistency issue with empty map items in CB + + +diff --git a/src/main/java/net/minecraft/world/item/MapItem.java b/src/main/java/net/minecraft/world/item/MapItem.java +index 53515854d05a0c27a65f71193424236a21b11f5f..c368b437597edf7e165326727ae778a69c3fcc83 100644 +--- a/src/main/java/net/minecraft/world/item/MapItem.java ++++ b/src/main/java/net/minecraft/world/item/MapItem.java +@@ -73,7 +73,7 @@ public class MapItem extends ComplexItem { + public static Integer getMapId(ItemStack stack) { + CompoundTag nbttagcompound = stack.getTag(); + +- return nbttagcompound != null && nbttagcompound.contains("map", 99) ? nbttagcompound.getInt("map") : -1; // CraftBukkit - make new maps for no tag ++ return nbttagcompound != null && nbttagcompound.contains("map", 99) ? nbttagcompound.getInt("map") : null; // CraftBukkit - make new maps for no tag // Paper - don't return invalid ID + } + + public static int createNewSavedData(Level world, int x, int z, int scale, boolean showIcons, boolean unlimitedTracking, ResourceKey<Level> dimension) { +diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaMap.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaMap.java +index 0c7280621cce9855dcc9569e0aefba77bfd555cb..0c7c67e1eea44487c52ebf650d35b3b43cd00c3a 100644 +--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaMap.java ++++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaMap.java +@@ -133,6 +133,7 @@ class CraftMetaMap extends CraftMetaItem implements MapMeta { + + @Override + public int getMapId() { ++ Preconditions.checkState(this.hasMapView(), "Item does not have map associated - check hasMapView() first!"); // Paper - more friendly message + return this.mapId; + } + |