Advertisement
Guest User

MinecraftForge Damagable Crafting Item

a guest
Nov 16th, 2018
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.17 KB | None | 0 0
  1. public class DamagableCraftingItem extends Item {
  2.  
  3.     protected int iCraftingDamage = 0;
  4.  
  5.     public DamagableCraftingItem(String kID, int iMaxHealthInclusive, int iCraftingDamage)
  6.     {
  7.         this.iCraftingDamage = iCraftingDamage;
  8.         this.setUnlocalizedName(kID);
  9.         this.setRegistryName(kID);
  10.         this.setMaxStackSize(1); // optional for non-stacking items like tools and armor
  11.         this.setMaxDamage(iMaxHealthInclusive - 1);
  12.         this.setHasSubtypes(true);
  13.     }
  14.  
  15.     @Override
  16.     public String getItemStackDisplayName (ItemStack stack)
  17.     {
  18.         int iMaxHealth = (stack.getMaxDamage() + 1);
  19.         int iCurrentHealth = (iMaxHealth - stack.getItemDamage());
  20.        
  21.         String kDamageLabel = " ["+iCurrentHealth+"/"+iMaxHealth+"]";
  22.        
  23.         return super.getItemStackDisplayName(stack) + kDamageLabel;
  24.     }
  25.    
  26.     @Override
  27.     public ItemStack getContainerItem(ItemStack itemStack)
  28.     {
  29.         ItemStack stack = itemStack.copy();
  30.  
  31.         stack.setItemDamage(stack.getItemDamage() + this.iCraftingDamage);
  32.         stack.setCount(1);
  33.  
  34.         return stack;
  35.     }
  36.    
  37.     @Override
  38.     public boolean hasContainerItem()
  39.     {
  40.         return true;
  41.     }
  42.    
  43.     @Override
  44.     public boolean isDamageable ()
  45.     {
  46.         return true;
  47.     }
  48.    
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement