From adb892fc2deb3eaf58d04007eb6df36dbf9e8b7b Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Tue, 7 Jan 2025 18:16:01 -0800 Subject: [PATCH] Dispensers place anvils option --- .../dispenser/DispenseItemBehavior.java.patch | 29 ++----------------- .../purpurmc/purpur/PurpurWorldConfig.java | 2 ++ 2 files changed, 5 insertions(+), 26 deletions(-) rename patches/server/0078-Dispensers-place-anvils-option.patch => purpur-server/minecraft-patches/sources/net/minecraft/core/dispenser/DispenseItemBehavior.java.patch (52%) diff --git a/patches/server/0078-Dispensers-place-anvils-option.patch b/purpur-server/minecraft-patches/sources/net/minecraft/core/dispenser/DispenseItemBehavior.java.patch similarity index 52% rename from patches/server/0078-Dispensers-place-anvils-option.patch rename to purpur-server/minecraft-patches/sources/net/minecraft/core/dispenser/DispenseItemBehavior.java.patch index 15f233981..067298651 100644 --- a/patches/server/0078-Dispensers-place-anvils-option.patch +++ b/purpur-server/minecraft-patches/sources/net/minecraft/core/dispenser/DispenseItemBehavior.java.patch @@ -1,18 +1,10 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: William Blake Galbreath -Date: Tue, 4 Aug 2020 21:11:03 -0500 -Subject: [PATCH] Dispensers place anvils option - - -diff --git a/net/minecraft/core/dispenser/DispenseItemBehavior.java b/net/minecraft/core/dispenser/DispenseItemBehavior.java -index c9d7ac819ce26f5301df7df56edce59b7ef377e0..cdd73bb358e309844bef576175a9026cb8563e7e 100644 --- a/net/minecraft/core/dispenser/DispenseItemBehavior.java +++ b/net/minecraft/core/dispenser/DispenseItemBehavior.java -@@ -930,5 +930,22 @@ public interface DispenseItemBehavior { +@@ -892,5 +_,22 @@ DispenserBlock.registerBehavior(Items.TNT_MINECART, new MinecartDispenseItemBehavior(EntityType.TNT_MINECART)); DispenserBlock.registerBehavior(Items.HOPPER_MINECART, new MinecartDispenseItemBehavior(EntityType.HOPPER_MINECART)); DispenserBlock.registerBehavior(Items.COMMAND_BLOCK_MINECART, new MinecartDispenseItemBehavior(EntityType.COMMAND_BLOCK_MINECART)); -+ // Purpur start ++ // Purpur start - Dispensers place anvils option + DispenserBlock.registerBehavior(Items.ANVIL, (new OptionalDispenseItemBehavior() { + @Override + public ItemStack execute(BlockSource dispenser, ItemStack stack) { @@ -28,21 +20,6 @@ index c9d7ac819ce26f5301df7df56edce59b7ef377e0..cdd73bb358e309844bef576175a9026c + return stack; + } + })); -+ // Purpur end ++ // Purpur end - Dispensers place anvils option } } -diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index a4c20f7b679150425b192a9e4411fa987aed8e1f..efebca2a6dd217d853a27516c29be89421c1df68 100644 ---- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -310,8 +310,10 @@ public class PurpurWorldConfig { - } - - public boolean dispenserApplyCursedArmor = true; -+ public boolean dispenserPlaceAnvils = false; - private void dispenserSettings() { - dispenserApplyCursedArmor = getBoolean("blocks.dispenser.apply-cursed-to-armor-slots", dispenserApplyCursedArmor); -+ dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils); - } - - public boolean farmlandGetsMoistFromBelow = false; diff --git a/purpur-server/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/purpur-server/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java index 019d328d3..2a996523c 100644 --- a/purpur-server/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/purpur-server/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -299,8 +299,10 @@ public class PurpurWorldConfig { } public boolean dispenserApplyCursedArmor = true; + public boolean dispenserPlaceAnvils = false; private void dispenserSettings() { dispenserApplyCursedArmor = getBoolean("blocks.dispenser.apply-cursed-to-armor-slots", dispenserApplyCursedArmor); + dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils); } public boolean farmlandGetsMoistFromBelow = false;