From b947caf957c7e4286ebf9e75bc44242cf83a2c41 Mon Sep 17 00:00:00 2001 From: 12emin34 Date: Sun, 12 Jan 2025 14:52:55 -0800 Subject: [PATCH] Anvil repair/damage options --- .../world/level/block/AnvilBlock.java.patch | 38 +++---------------- .../purpurmc/purpur/PurpurWorldConfig.java | 4 ++ 2 files changed, 10 insertions(+), 32 deletions(-) rename patches/server/0234-Anvil-repair-damage-options.patch => purpur-server/minecraft-patches/sources/net/minecraft/world/level/block/AnvilBlock.java.patch (65%) diff --git a/patches/server/0234-Anvil-repair-damage-options.patch b/purpur-server/minecraft-patches/sources/net/minecraft/world/level/block/AnvilBlock.java.patch similarity index 65% rename from patches/server/0234-Anvil-repair-damage-options.patch rename to purpur-server/minecraft-patches/sources/net/minecraft/world/level/block/AnvilBlock.java.patch index 96572f9c5..7522ef907 100644 --- a/patches/server/0234-Anvil-repair-damage-options.patch +++ b/purpur-server/minecraft-patches/sources/net/minecraft/world/level/block/AnvilBlock.java.patch @@ -1,18 +1,10 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: 12emin34 -Date: Sat, 12 Feb 2022 01:08:18 +0100 -Subject: [PATCH] Anvil repair/damage options - - -diff --git a/net/minecraft/world/level/block/AnvilBlock.java b/net/minecraft/world/level/block/AnvilBlock.java -index 50c907c962f936d2035bb7550750cdbd220b29c2..f9a2d2d4f798efa0d691996ec5ff7fe00260b36c 100644 --- a/net/minecraft/world/level/block/AnvilBlock.java +++ b/net/minecraft/world/level/block/AnvilBlock.java -@@ -59,6 +59,53 @@ public class AnvilBlock extends FallingBlock { - return this.defaultBlockState().setValue(FACING, ctx.getHorizontalDirection().getClockWise()); +@@ -59,6 +_,53 @@ + return this.defaultBlockState().setValue(FACING, context.getHorizontalDirection().getClockWise()); } -+ // Purpur start - repairable/damageable anvils ++ // Purpur start - Anvil repair/damage options + @Override + protected net.minecraft.world.InteractionResult useItemOn(final net.minecraft.world.item.ItemStack stack, final BlockState state, final Level world, final BlockPos pos, final Player player, final net.minecraft.world.InteractionHand hand, final BlockHitResult hit) { + if (world.purpurConfig.anvilRepairIngotsAmount > 0 && stack.is(net.minecraft.world.item.Items.IRON_INGOT)) { @@ -57,26 +49,8 @@ index 50c907c962f936d2035bb7550750cdbd220b29c2..f9a2d2d4f798efa0d691996ec5ff7fe0 + } + return net.minecraft.world.InteractionResult.TRY_WITH_EMPTY_HAND; + } -+ // Purpur end ++ // Purpur end - Anvil repair/damage options + @Override - protected InteractionResult useWithoutItem(BlockState state, Level world, BlockPos pos, Player player, BlockHitResult hit) { - if (!world.isClientSide) { -diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 13791cc140fa7643991f5c958f48bf4693b20895..1290e73e4e741e7530481885994f16c2fd5db32c 100644 ---- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -797,9 +797,13 @@ public class PurpurWorldConfig { - - public boolean anvilAllowColors = false; - public boolean anvilColorsUseMiniMessage; -+ public int anvilRepairIngotsAmount = 0; -+ public int anvilDamageObsidianAmount = 0; - private void anvilSettings() { - anvilAllowColors = getBoolean("blocks.anvil.allow-colors", anvilAllowColors); - anvilColorsUseMiniMessage = getBoolean("blocks.anvil.use-mini-message", anvilColorsUseMiniMessage); -+ anvilRepairIngotsAmount = getInt("blocks.anvil.iron-ingots-used-for-repair", anvilRepairIngotsAmount); -+ anvilDamageObsidianAmount = getInt("blocks.anvil.obsidian-used-for-damage", anvilDamageObsidianAmount); - } - - public double azaleaGrowthChance = 0.0D; + protected InteractionResult useWithoutItem(BlockState state, Level level, BlockPos pos, Player player, BlockHitResult hitResult) { + if (!level.isClientSide) { 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 22b4e06b1..affc4ac1d 100644 --- a/purpur-server/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/purpur-server/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -796,9 +796,13 @@ public class PurpurWorldConfig { public boolean anvilAllowColors = false; public boolean anvilColorsUseMiniMessage; + public int anvilRepairIngotsAmount = 0; + public int anvilDamageObsidianAmount = 0; private void anvilSettings() { anvilAllowColors = getBoolean("blocks.anvil.allow-colors", anvilAllowColors); anvilColorsUseMiniMessage = getBoolean("blocks.anvil.use-mini-message", anvilColorsUseMiniMessage); + anvilRepairIngotsAmount = getInt("blocks.anvil.iron-ingots-used-for-repair", anvilRepairIngotsAmount); + anvilDamageObsidianAmount = getInt("blocks.anvil.obsidian-used-for-damage", anvilDamageObsidianAmount); } public double azaleaGrowthChance = 0.0D;