32 Zeilen
1.9 KiB
Diff
32 Zeilen
1.9 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Shane Freeder <theboyetronic@gmail.com>
|
|
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 75b110c6fb685390306fe3b8504aeea9bd6deedd..d3c29e6bf8b3c2dd628809177dac50220a7de415 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 70b365afc40f11d4da3aea2b5d6b2467f517deac..a74ea06e3a190916527ab2c85d13f1e34c08d50a 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;
|
|
}
|
|
|