mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
77 lines
1.9 KiB
Java
77 lines
1.9 KiB
Java
package com.hbm.items.food;
|
|
|
|
import com.hbm.extprop.HbmPlayerProps;
|
|
import com.hbm.items.ItemEnumMulti;
|
|
|
|
import cpw.mods.fml.relauncher.Side;
|
|
import cpw.mods.fml.relauncher.SideOnly;
|
|
import net.minecraft.client.renderer.texture.IIconRegister;
|
|
import net.minecraft.entity.player.EntityPlayer;
|
|
import net.minecraft.item.EnumAction;
|
|
import net.minecraft.item.ItemStack;
|
|
import net.minecraft.util.IIcon;
|
|
import net.minecraft.world.World;
|
|
|
|
public class ItemFlask extends ItemEnumMulti {
|
|
|
|
public static enum EnumInfusion {
|
|
SHIELD
|
|
}
|
|
|
|
public ItemFlask() {
|
|
super(EnumInfusion.class, true, true);
|
|
}
|
|
|
|
@SideOnly(Side.CLIENT)
|
|
public void registerIcons(IIconRegister reg) {
|
|
|
|
Enum[] enums = theEnum.getEnumConstants();
|
|
this.icons = new IIcon[enums.length];
|
|
|
|
for(int i = 0; i < icons.length; i++) {
|
|
Enum num = enums[i];
|
|
this.icons[i] = reg.registerIcon(this.getIconString() + "_" + num.name().toLowerCase());
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public ItemStack onEaten(ItemStack stack, World world, EntityPlayer player) {
|
|
|
|
if(!player.capabilities.isCreativeMode) {
|
|
--stack.stackSize;
|
|
}
|
|
|
|
if(world.isRemote)
|
|
return stack;
|
|
|
|
if(stack.getItemDamage() == EnumInfusion.SHIELD.ordinal()) {
|
|
float infusion = 5F;
|
|
HbmPlayerProps props = HbmPlayerProps.getData(player);
|
|
props.maxShield = Math.min(props.shieldCap, props.shield + infusion);
|
|
props.shield += infusion;
|
|
}
|
|
|
|
return stack;
|
|
}
|
|
|
|
@Override
|
|
public int getMaxItemUseDuration(ItemStack p_77626_1_) {
|
|
return 32;
|
|
}
|
|
|
|
@Override
|
|
public EnumAction getItemUseAction(ItemStack p_77661_1_) {
|
|
return EnumAction.drink;
|
|
}
|
|
|
|
@Override
|
|
public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) {
|
|
|
|
if(stack.getItemDamage() == EnumInfusion.SHIELD.ordinal() && HbmPlayerProps.getData(player).maxShield >= HbmPlayerProps.shieldCap)
|
|
return stack;
|
|
|
|
player.setItemInUse(stack, this.getMaxItemUseDuration(stack));
|
|
return stack;
|
|
}
|
|
}
|