From db3995f42e032308ad3e288effd115be32b02f96 Mon Sep 17 00:00:00 2001 From: alongstringofnumbers Date: Thu, 23 Jan 2025 11:47:26 -0700 Subject: [PATCH] Mimic Vanilla durability system --- .../java/gregtech/api/items/toolitem/IGTTool.java | 11 ++++++++--- .../gregtech/client/utils/ToolChargeBarRenderer.java | 4 ++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/main/java/gregtech/api/items/toolitem/IGTTool.java b/src/main/java/gregtech/api/items/toolitem/IGTTool.java index c8d4d70b42d..920c370a3aa 100644 --- a/src/main/java/gregtech/api/items/toolitem/IGTTool.java +++ b/src/main/java/gregtech/api/items/toolitem/IGTTool.java @@ -45,7 +45,13 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.*; +import net.minecraft.util.ActionResult; +import net.minecraft.util.EnumActionResult; +import net.minecraft.util.EnumFacing; +import net.minecraft.util.EnumHand; +import net.minecraft.util.NonNullList; +import net.minecraft.util.SoundCategory; +import net.minecraft.util.SoundEvent; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.RayTraceResult; import net.minecraft.world.IBlockAccess; @@ -620,8 +626,7 @@ default AoESymmetrical getAoEDefinition(ItemStack stack) { default double definition$getDurabilityForDisplay(ItemStack stack) { int damage = stack.getItem().getDamage(stack); int maxDamage = stack.getItem().getMaxDamage(stack); - if (damage == 0) return 1.0; - return (double) (maxDamage - damage) / (double) maxDamage; + return (double) damage / (double) maxDamage; } @Nullable diff --git a/src/main/java/gregtech/client/utils/ToolChargeBarRenderer.java b/src/main/java/gregtech/client/utils/ToolChargeBarRenderer.java index c8ffd11b817..b6f3c8a4adc 100644 --- a/src/main/java/gregtech/client/utils/ToolChargeBarRenderer.java +++ b/src/main/java/gregtech/client/utils/ToolChargeBarRenderer.java @@ -165,12 +165,12 @@ private static boolean renderDurabilityBar(ItemStack stack, IItemDurabilityManag boolean doDepletedColor = manager.doDamagedStateColors(stack); Color left = colors != null ? colors.getLeft() : colorBarLeftDurability; Color right = colors != null ? colors.getRight() : colorBarRightDurability; - render(level, xPosition, yPosition, 0, true, left, right, doDepletedColor); + render(1 - level, xPosition, yPosition, 0, true, left, right, doDepletedColor); return true; } private static boolean renderDurabilityBar(double level, int xPosition, int yPosition) { - render(level, xPosition, yPosition, 0, true, colorBarLeftDurability, colorBarRightDurability, true); + render(1 - level, xPosition, yPosition, 0, true, colorBarLeftDurability, colorBarRightDurability, true); return true; }