diff --git a/src/main/java/tconstruct/library/tools/ToolCore.java b/src/main/java/tconstruct/library/tools/ToolCore.java index 03dbd84b01b..996d1106cec 100644 --- a/src/main/java/tconstruct/library/tools/ToolCore.java +++ b/src/main/java/tconstruct/library/tools/ToolCore.java @@ -788,8 +788,11 @@ public int getDamage(ItemStack stack) { { int energy = tags.getInteger("Energy"); int max = getMaxEnergyStored(stack); - if(energy > 0) - return ((max - energy)*100)/max; + if(energy > 0) { + int damage = ((max - energy) * 100) / max; + super.setDamage(stack, damage); + return damage; + } } int dur = tags.getCompoundTag("InfiTool").getInteger("Damage"); int max = tags.getCompoundTag("InfiTool").getInteger("TotalDurability"); @@ -799,8 +802,11 @@ public int getDamage(ItemStack stack) { // rounding. if(damage == 0 && dur > 0) - return 1; + damage = 1; + + // synchronize values with stack.. + super.setDamage(stack, damage); return damage; } @@ -813,6 +819,7 @@ public int getDisplayDamage(ItemStack stack) { @Override public void setDamage(ItemStack stack, int damage) { AbilityHelper.damageTool(stack, damage - stack.getItemDamage(), null, false); + getDamage(stack); // called to synchronize with itemstack value } /* Prevent tools from dying */