From 6fb0b647fd02cce5f3385416263cb3a93270de3d Mon Sep 17 00:00:00 2001 From: abel1502 Date: Mon, 2 Jun 2025 21:34:48 +0300 Subject: [PATCH] Disable repair cost increment on rename Effectively a backport of a 1.8 feature. Relevant because otherwise a renamed crate is nbt-incompatible with itself after being placed and broken --- src/main/java/com/hbm/main/ModEventHandler.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/main/java/com/hbm/main/ModEventHandler.java b/src/main/java/com/hbm/main/ModEventHandler.java index d587ebe4b..e9c5b35f8 100644 --- a/src/main/java/com/hbm/main/ModEventHandler.java +++ b/src/main/java/com/hbm/main/ModEventHandler.java @@ -107,6 +107,7 @@ import net.minecraftforge.event.entity.item.ItemTossEvent; import net.minecraftforge.event.entity.living.*; import net.minecraftforge.event.entity.living.LivingEvent.LivingJumpEvent; import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; +import net.minecraftforge.event.entity.player.AnvilRepairEvent; import net.minecraftforge.event.entity.player.AttackEntityEvent; import net.minecraftforge.event.entity.player.PlayerFlyableFallEvent; import net.minecraftforge.event.entity.player.PlayerInteractEvent; @@ -1248,6 +1249,15 @@ public class ModEventHandler { } } + @SubscribeEvent + public void onAnvilRepair(AnvilRepairEvent event) { + + // Anvil renaming no longer increments the repair cost + if(event.left != null && event.right == null && event.output != null) { + event.output.setRepairCost(event.left.getRepairCost()); + } + } + @SubscribeEvent public void onClickSign(PlayerInteractEvent event) {