aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/server/0637-Fix-incosistency-issue-with-empty-map-items-in-CB.patch
diff options
context:
space:
mode:
authorJake Potrebic <[email protected]>2023-11-04 14:11:55 -0700
committerGitHub <[email protected]>2023-11-04 14:11:55 -0700
commit0cdce89d595a2c1c097c9e2a5ff96687977b3b25 (patch)
treede63d6aa8112811f93b5d6afebbb069b9980870f /patches/server/0637-Fix-incosistency-issue-with-empty-map-items-in-CB.patch
parent15a0de2eefb70ea8162cbb31056920adf80265fa (diff)
downloadPaper-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.patch31
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;
+ }
+