Files
TinkersConstruct/src/main/java/tconstruct/armor/items/DiamondApple.java
T
2023-09-25 00:17:50 +02:00

76 lines
2.6 KiB
Java

package tconstruct.armor.items;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemFood;
import net.minecraft.item.ItemStack;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.minecraft.util.IIcon;
import net.minecraft.world.World;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class DiamondApple extends ItemFood {
public IIcon[] icons;
public String[] textureNames = new String[] { "food/apple_diamond" };
public String[] itemNames = new String[] { "apple.diamond" };
public DiamondApple() {
super(4, 2.0F, false);
setHasSubtypes(true);
setMaxDamage(0);
this.setAlwaysEdible();
}
@Override
protected void onFoodEaten(ItemStack stack, World world, EntityPlayer player) {
if (!world.isRemote) {
int duration = 0;
PotionEffect potion;
potion = player.getActivePotionEffect(Potion.resistance);
if (potion != null) duration = potion.getDuration();
player.addPotionEffect(new PotionEffect(Potion.field_76444_x.id, duration + 60 * 40, 4));
potion = player.getActivePotionEffect(Potion.resistance);
if (potion != null) duration = potion.getDuration();
player.addPotionEffect(new PotionEffect(Potion.resistance.id, duration + 60 * 20, 0));
potion = player.getActivePotionEffect(Potion.digSpeed);
if (potion != null) duration = potion.getDuration();
player.addPotionEffect(new PotionEffect(Potion.digSpeed.id, duration + 60 * 20, 0));
potion = player.getActivePotionEffect(Potion.damageBoost);
if (potion != null) duration = potion.getDuration();
player.addPotionEffect(new PotionEffect(Potion.damageBoost.id, duration + 60 * 20, 0));
}
}
@SideOnly(Side.CLIENT)
@Override
public IIcon getIconFromDamage(int meta) {
return icons[meta];
}
@SideOnly(Side.CLIENT)
@Override
public void registerIcons(IIconRegister iconRegister) {
this.icons = new IIcon[textureNames.length];
for (int i = 0; i < this.icons.length; ++i) {
this.icons[i] = iconRegister.registerIcon("tinker:" + textureNames[i]);
}
}
/* Name override */
@Override
public String getUnlocalizedName(ItemStack itemstack) {
return "item.food."
+ itemNames[(itemstack.getItemDamage() >= itemNames.length || itemstack.getItemDamage() < 0) ? (0)
: (itemstack.getItemDamage())];
}
}