diff --git a/patches/api/0054-Explorer-Map-API.patch b/patches/api/0054-Explorer-Map-API.patch new file mode 100644 index 000000000..91241d8f1 --- /dev/null +++ b/patches/api/0054-Explorer-Map-API.patch @@ -0,0 +1,23 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: William Blake Galbreath +Date: Wed, 5 Jul 2023 12:48:08 -0500 +Subject: [PATCH] Explorer Map API + + +diff --git a/src/main/java/org/bukkit/map/MapRenderer.java b/src/main/java/org/bukkit/map/MapRenderer.java +index cb7040876a99a5a7e49b81684ef0f3b79584c376..22d8f31b1b8a5dbb5ab3275068642937c097abfe 100644 +--- a/src/main/java/org/bukkit/map/MapRenderer.java ++++ b/src/main/java/org/bukkit/map/MapRenderer.java +@@ -54,4 +54,12 @@ public abstract class MapRenderer { + */ + public abstract void render(@NotNull MapView map, @NotNull MapCanvas canvas, @NotNull Player player); + ++ // Purpur - start ++ /** ++ * Check if this is an explorer (aka treasure) map. ++ * ++ * @return True if explorer map ++ */ ++ public abstract boolean isExplorerMap(); ++ // Purpur - end + } diff --git a/patches/server/0307-Explorer-Map-API.patch b/patches/server/0307-Explorer-Map-API.patch new file mode 100644 index 000000000..4ce466e5c --- /dev/null +++ b/patches/server/0307-Explorer-Map-API.patch @@ -0,0 +1,45 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: William Blake Galbreath +Date: Wed, 5 Jul 2023 12:48:15 -0500 +Subject: [PATCH] Explorer Map API + + +diff --git a/src/main/java/net/minecraft/world/item/MapItem.java b/src/main/java/net/minecraft/world/item/MapItem.java +index d3c29e6bf8b3c2dd628809177dac50220a7de415..735486b46581bb3b91c85f57490b560ff490787e 100644 +--- a/src/main/java/net/minecraft/world/item/MapItem.java ++++ b/src/main/java/net/minecraft/world/item/MapItem.java +@@ -243,6 +243,7 @@ public class MapItem extends ComplexItem { + MapItemSavedData worldmap = MapItem.getSavedData(map, world); + + if (worldmap != null) { ++ worldmap.isExplorerMap = true; // Purpur + if (world.dimension() == worldmap.dimension) { + int i = 1 << worldmap.scale; + int j = worldmap.centerX; +diff --git a/src/main/java/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java b/src/main/java/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java +index 3b12030b49b1c539684d75ca3896eb498400ef99..23c7ded4049c08bc62f8b823e0967da4f3df4bf9 100644 +--- a/src/main/java/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java ++++ b/src/main/java/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java +@@ -66,6 +66,7 @@ public class MapItemSavedData extends SavedData { + private final Map frameMarkers = Maps.newHashMap(); + private int trackedDecorationCount; + private org.bukkit.craftbukkit.map.RenderData vanillaRender = new org.bukkit.craftbukkit.map.RenderData(); // Paper ++ public boolean isExplorerMap; // Purpur + + // CraftBukkit start + public final CraftMapView mapView; +diff --git a/src/main/java/org/bukkit/craftbukkit/map/CraftMapRenderer.java b/src/main/java/org/bukkit/craftbukkit/map/CraftMapRenderer.java +index 9683d7d103af66fffd68c11abc38fb4fd2f99482..18a4de76021ff8b500801ef0121003f8dd62a961 100644 +--- a/src/main/java/org/bukkit/craftbukkit/map/CraftMapRenderer.java ++++ b/src/main/java/org/bukkit/craftbukkit/map/CraftMapRenderer.java +@@ -46,4 +46,10 @@ public class CraftMapRenderer extends MapRenderer { + } + } + ++ // Purpur - start ++ @Override ++ public boolean isExplorerMap() { ++ return this.worldMap.isExplorerMap; ++ } ++ // Purpur - end + }