Repairable Items
Package: thaumcraft.api
Author: Azanor
Interfaces for items that can be repaired by the Repair enchantment.
IRepairable
File: IRepairable.java
Marker interface for items, armor, and tools that can receive the Repair enchantment.
public interface IRepairable {
}
Behavior:
- Repairs 1 point of durability every 10 seconds
- Repair II enchantment repairs 2 points per 10 seconds
Usage
public class MyRepairableTool extends ItemTool implements IRepairable {
// This tool can now receive the Repair enchantment
}
IRepairableExtended
File: IRepairableExtended.java
Extends: IRepairable
Extended repair interface that allows custom repair logic.
public interface IRepairableExtended extends IRepairable {
public boolean doRepair(ItemStack stack, EntityPlayer player, int enchantlevel);
}
Methods
| Method | Signature | Description |
|---|---|---|
doRepair |
ItemStack stack, EntityPlayer player, int enchantlevel → boolean |
Called during repair tick. Return true if repair was performed. The enchantlevel parameter indicates Repair I (1) or Repair II (2). |
Usage
public class MySpecialRepairable extends ItemTool implements IRepairableExtended {
@Override
public boolean doRepair(ItemStack stack, EntityPlayer player, int enchantlevel) {
// Custom repair logic
if (someCondition) {
stack.setItemDamage(stack.getItemDamage() - enchantlevel);
return true;
}
return false;
}
}
Comparison
| Feature | IRepairable | IRepairableExtended |
|---|---|---|
| Custom logic | No | Yes |
| Repair rate control | No | Yes |
| Complexity | Simple | Advanced |
| Use case | Standard repairable items | Items needing custom behavior |
Tags
#api #item-effect #repair #enchantment