2016-11-05 17:33:27 +01:00
|
|
|
package techreborn.items.tools;
|
|
|
|
|
|
|
|
import me.modmuss50.jsonDestroyer.api.ITexturedItem;
|
|
|
|
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
|
|
|
import net.minecraft.creativetab.CreativeTabs;
|
|
|
|
import net.minecraft.entity.player.EntityPlayer;
|
|
|
|
import net.minecraft.item.Item;
|
|
|
|
import net.minecraft.item.ItemStack;
|
2016-12-09 03:39:49 +01:00
|
|
|
import net.minecraft.util.NonNullList;
|
2016-11-05 17:33:27 +01:00
|
|
|
import net.minecraftforge.fml.relauncher.Side;
|
|
|
|
import net.minecraftforge.fml.relauncher.SideOnly;
|
|
|
|
import reborncore.RebornCore;
|
|
|
|
import reborncore.api.power.IEnergyItemInfo;
|
2016-12-09 03:39:49 +01:00
|
|
|
import reborncore.common.powerSystem.PowerSystem;
|
2016-11-05 17:33:27 +01:00
|
|
|
import reborncore.common.powerSystem.PoweredItem;
|
|
|
|
import techreborn.client.TechRebornCreativeTab;
|
2016-12-09 03:39:49 +01:00
|
|
|
import techreborn.init.ModItems;
|
2016-11-05 17:33:27 +01:00
|
|
|
import techreborn.lib.ModInfo;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Created by modmuss50 on 05/11/2016.
|
|
|
|
*/
|
|
|
|
public class ItemElectricTreetap extends Item implements IEnergyItemInfo, ITexturedItem {
|
|
|
|
|
|
|
|
public static final int maxCharge = 5120;
|
|
|
|
public static final int tier = 1;
|
|
|
|
public int cost = 20;
|
|
|
|
|
|
|
|
public ItemElectricTreetap() {
|
|
|
|
super();
|
|
|
|
setUnlocalizedName("techreborn.electric_treetap");
|
|
|
|
setCreativeTab(TechRebornCreativeTab.instance);
|
|
|
|
setMaxStackSize(1);
|
|
|
|
RebornCore.jsonDestroyer.registerObject(this);
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public double getMaxPower(ItemStack stack) {
|
|
|
|
return maxCharge;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public boolean canAcceptEnergy(ItemStack stack) {
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public boolean canProvideEnergy(ItemStack stack) {
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public double getMaxTransfer(ItemStack stack) {
|
|
|
|
return 200;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public int getStackTier(ItemStack stack) {
|
|
|
|
return tier;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public double getDurabilityForDisplay(ItemStack stack) {
|
|
|
|
double charge = (PoweredItem.getEnergy(stack) / getMaxPower(stack));
|
|
|
|
return 1 - charge;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
2016-12-09 03:39:49 +01:00
|
|
|
@Override
|
|
|
|
public int getRGBDurabilityForDisplay(ItemStack stack) {
|
|
|
|
return PowerSystem.getDisplayPower().colour;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-11-05 17:33:27 +01:00
|
|
|
@SuppressWarnings({ "rawtypes", "unchecked" })
|
|
|
|
@SideOnly(Side.CLIENT)
|
2016-12-09 03:39:49 +01:00
|
|
|
public void getSubItems(Item item,
|
|
|
|
CreativeTabs par2CreativeTabs, NonNullList itemList) {
|
|
|
|
ItemStack uncharged = new ItemStack(ModItems.electricTreetap);
|
|
|
|
ItemStack charged = new ItemStack(ModItems.electricTreetap);
|
2016-11-05 17:33:27 +01:00
|
|
|
PoweredItem.setEnergy(getMaxPower(charged), charged);
|
2016-12-09 03:39:49 +01:00
|
|
|
|
|
|
|
itemList.add(uncharged);
|
2016-11-05 17:33:27 +01:00
|
|
|
itemList.add(charged);
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public boolean showDurabilityBar(ItemStack stack) {
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public String getTextureName(int damage) {
|
|
|
|
return "techreborn:items/tool/electricTreetap";
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public int getMaxMeta() {
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@SideOnly(Side.CLIENT)
|
|
|
|
public ModelResourceLocation getModel(ItemStack stack, EntityPlayer player,
|
|
|
|
int useRemaining) {
|
|
|
|
return new ModelResourceLocation(ModInfo.MOD_ID + ":" + getUnlocalizedName(stack).substring(5), "inventory");
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|