aboutsummaryrefslogtreecommitdiff
path: root/src/Java/miscutil/xmod/ic2/item/IC2_ItemGradualInteger.java
blob: 28fce8fc6e15a836b4dcbe1b39931a1a60daa1b0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
package miscutil.xmod.ic2.item;

import ic2.api.item.ICustomDamageItem;
import ic2.core.util.StackUtil;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;

public class IC2_ItemGradualInteger
  extends IC2_ItemGradual
  implements ICustomDamageItem
{
  private final int maxDmg;
  
  public IC2_ItemGradualInteger(String internalName, int maxdmg)
  {
    super(internalName);
    
    this.maxDmg = maxdmg;
  }
  
  @Override
public int getCustomDamage(ItemStack stack)
  {
    NBTTagCompound nbt = StackUtil.getOrCreateNbtData(stack);
    return nbt.getInteger("advDmg");
  }
  
  @Override
public int getMaxCustomDamage(ItemStack stack)
  {
    return this.maxDmg;
  }
  
  @Override
public void setCustomDamage(ItemStack stack, int damage)
  {
    NBTTagCompound nbt = StackUtil.getOrCreateNbtData(stack);
    nbt.setInteger("advDmg", 0);
    
    int maxStackDamage = stack.getMaxDamage();
    if (maxStackDamage > 2) {
      //stack.setItemDamage(1 + (int)Util.map(damage, this.maxDmg, maxStackDamage - 2));
    }
  }
  
  @Override
public boolean applyCustomDamage(ItemStack stack, int damage, EntityLivingBase src)
  {
    setCustomDamage(stack, getCustomDamage(stack) + damage);
    return true;
  }
}