aboutsummaryrefslogtreecommitdiffhomepage
path: root/Spigot-Server-Patches/0185-Configurable-Cartographer-Treasure-Maps.patch
diff options
context:
space:
mode:
authorZach Brown <[email protected]>2017-03-25 00:22:02 -0500
committerZach Brown <[email protected]>2017-03-25 00:22:02 -0500
commit5e2784e941ba2873facc44b30be906485fcdae95 (patch)
treebd89c6f56ded2bfabe6ffe468f15bc7ce329a1b9 /Spigot-Server-Patches/0185-Configurable-Cartographer-Treasure-Maps.patch
parent246712ed92d21dbc90f9e8437dc42c79b558308d (diff)
downloadPaper-5e2784e941ba2873facc44b30be906485fcdae95.tar.gz
Paper-5e2784e941ba2873facc44b30be906485fcdae95.zip
Switch to a bStats based Metrics system
Diffstat (limited to 'Spigot-Server-Patches/0185-Configurable-Cartographer-Treasure-Maps.patch')
-rw-r--r--Spigot-Server-Patches/0185-Configurable-Cartographer-Treasure-Maps.patch46
1 files changed, 46 insertions, 0 deletions
diff --git a/Spigot-Server-Patches/0185-Configurable-Cartographer-Treasure-Maps.patch b/Spigot-Server-Patches/0185-Configurable-Cartographer-Treasure-Maps.patch
new file mode 100644
index 0000000000..db079a6048
--- /dev/null
+++ b/Spigot-Server-Patches/0185-Configurable-Cartographer-Treasure-Maps.patch
@@ -0,0 +1,46 @@
+From 050363c48f3b9da488e55f8eeed6f6ab536e8a49 Mon Sep 17 00:00:00 2001
+From: Aikar <[email protected]>
+Date: Tue, 20 Dec 2016 15:26:27 -0500
+Subject: [PATCH] Configurable Cartographer Treasure Maps
+
+Allow configuring for cartographers to return the same map location
+
+Also allow turning off treasure maps all together as they can eat up Map ID's
+which are limited in quantity.
+
+diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+index dcf64efcc..bf2916802 100644
+--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
++++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+@@ -393,4 +393,14 @@ public class PaperWorldConfig {
+ Bukkit.getLogger().warning("Spawn Egg and Armor Stand NBT filtering disabled, this is a potential security risk");
+ }
+ }
++
++ public boolean enableTreasureMaps = true;
++ public boolean treasureMapsAlreadyDiscovered = false;
++ private void treasureMapsAlreadyDiscovered() {
++ enableTreasureMaps = getBoolean("enable-treasure-maps", true);
++ treasureMapsAlreadyDiscovered = getBoolean("treasure-maps-return-already-discovered", false);
++ if (treasureMapsAlreadyDiscovered) {
++ log("Treasure Maps will return already discovered locations");
++ }
++ }
+ }
+diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
+index 4ad75468c..ac6e2a9aa 100644
+--- a/src/main/java/net/minecraft/server/EntityVillager.java
++++ b/src/main/java/net/minecraft/server/EntityVillager.java
+@@ -761,7 +761,8 @@ public class EntityVillager extends EntityAgeable implements NPC, IMerchant {
+ public void a(IMerchant imerchant, MerchantRecipeList merchantrecipelist, Random random) {
+ int i = this.a.a(random);
+ World world = imerchant.t_();
+- BlockPosition blockposition = world.a(this.b, imerchant.u_(), true);
++ if (!world.paperConfig.enableTreasureMaps) return; // Paper
++ BlockPosition blockposition = world.a(this.b, imerchant.u_(), !world.paperConfig.treasureMapsAlreadyDiscovered); // Paper - pass false to return first structure, regardless of if its been discovered. true returns only undiscovered.
+
+ if (blockposition != null) {
+ ItemStack itemstack = ItemWorldMap.a(world, (double) blockposition.getX(), (double) blockposition.getZ(), (byte) 2, true, true);
+--
+2.12.0.windows.1
+