diff --git a/patches/server/0158-Fix-drops-when-curing-zombie-villager.patch b/patches/server/0158-Fix-drops-when-curing-zombie-villager.patch new file mode 100644 index 000000000..37d94b8a0 --- /dev/null +++ b/patches/server/0158-Fix-drops-when-curing-zombie-villager.patch @@ -0,0 +1,39 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: BillyGalbreath +Date: Thu, 3 Dec 2020 15:13:59 -0600 +Subject: [PATCH] Fix drops when curing zombie villager + + +diff --git a/src/main/java/net/minecraft/server/EntityZombieVillager.java b/src/main/java/net/minecraft/server/EntityZombieVillager.java +index 7db942c659..d5d07b8042 100644 +--- a/src/main/java/net/minecraft/server/EntityZombieVillager.java ++++ b/src/main/java/net/minecraft/server/EntityZombieVillager.java +@@ -207,7 +207,9 @@ public class EntityZombieVillager extends EntityZombie implements VillagerDataHo + double d0 = (double) this.e(enumitemslot); + + if (d0 > 1.0D) { ++ this.forceDrops = world.purpurConfig.zombieVillagerFixCureDrops; // Purpur + this.a(itemstack); ++ this.forceDrops = false; // Purpur + } + } + } +diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +index de16aee87d..5375c6c9ca 100644 +--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java ++++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +@@ -1185,6 +1185,7 @@ public class PurpurWorldConfig { + public double zombieVillagerJockeyChance = 0.05D; + public boolean zombieVillagerJockeyTryExistingChickens = true; + public boolean zombieVillagerResetReputationsWhenCured = false; ++ public boolean zombieVillagerFixCureDrops = false; + private void zombieVillagerSettings() { + zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); + zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); +@@ -1192,5 +1193,6 @@ public class PurpurWorldConfig { + zombieVillagerJockeyChance = getDouble("mobs.zombie_villager.jockey.chance", zombieVillagerJockeyChance); + zombieVillagerJockeyTryExistingChickens = getBoolean("mobs.zombie_villager.jockey.try-existing-chickens", zombieVillagerJockeyTryExistingChickens); + zombieVillagerResetReputationsWhenCured = getBoolean("mobs.zombie_villager.reset-reputation-when-cured", zombieVillagerResetReputationsWhenCured); ++ zombieVillagerFixCureDrops = getBoolean("mobs.zombie_villager.fix-drops-on-cure", zombieVillagerFixCureDrops); + } + }