Energy storages item charging fixes, transformers fixes, electric items fixes.

This commit is contained in:
Dragon2488 2016-07-25 15:10:55 +07:00
parent b42b5274b5
commit be4f10b975
63 changed files with 2154 additions and 2123 deletions

View file

@ -5,61 +5,53 @@ import reborncore.api.power.IEnergyItemInfo;
import techreborn.client.TechRebornCreativeTab;
import techreborn.config.ConfigTechReborn;
public class ItemLapotronicOrb extends ItemTextureBase implements IEnergyItemInfo
{
public class ItemLapotronicOrb extends ItemTextureBase implements IEnergyItemInfo {
public static final int maxCharge = ConfigTechReborn.LapotronicOrbMaxCharge;
public static final int tier = ConfigTechReborn.LithiumBatpackTier;
public double transferLimit = 10000;
public static final int maxCharge = ConfigTechReborn.LapotronicOrbMaxCharge;
public static final int tier = ConfigTechReborn.LithiumBatpackTier;
public double transferLimit = 10000;
public ItemLapotronicOrb()
{
super();
setMaxStackSize(1);
setMaxDamage(13);
setUnlocalizedName("techreborn.lapotronicorb");
setCreativeTab(TechRebornCreativeTab.instance);
}
public ItemLapotronicOrb() {
super();
setMaxStackSize(1);
setMaxDamage(13);
setUnlocalizedName("techreborn.lapotronicorb");
setCreativeTab(TechRebornCreativeTab.instance);
}
@Override
public double getMaxPower(ItemStack stack)
{
return maxCharge;
}
@Override
public double getMaxPower(ItemStack stack) {
return maxCharge;
}
@Override
public boolean canAcceptEnergy(ItemStack stack)
{
return true;
}
@Override
public boolean canAcceptEnergy(ItemStack stack) {
return true;
}
@Override
public boolean canProvideEnergy(ItemStack stack)
{
return true;
}
@Override
public boolean canProvideEnergy(ItemStack stack) {
return true;
}
@Override
public double getMaxTransfer(ItemStack stack)
{
return transferLimit;
}
@Override
public double getMaxTransfer(ItemStack stack) {
return transferLimit;
}
@Override
public int getStackTier(ItemStack stack)
{
return tier;
}
@Override
public int getStackTier(ItemStack stack) {
return tier;
}
@Override
public String getTextureName(int damage)
{
return "techreborn:items/tool/lapotronicEnergyOrb";
}
@Override
public String getTextureName(int damage) {
return "techreborn:items/tool/lapotronicEnergyOrb";
}
@Override
public int getMaxMeta() {
return 1;
}
@Override
public int getMaxMeta()
{
return 1;
}
}

View file

@ -1,6 +1,9 @@
package techreborn.items.armor;
import cofh.api.energy.IEnergyContainerItem;
import ic2.api.item.IElectricItem;
import me.modmuss50.jsonDestroyer.api.ITexturedItem;
import net.darkhax.tesla.capability.TeslaCapabilities;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.Entity;
@ -13,128 +16,137 @@ import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import reborncore.RebornCore;
import reborncore.api.power.EnumPowerTier;
import reborncore.api.power.IEnergyInterfaceItem;
import reborncore.api.power.IEnergyInterfaceTile;
import reborncore.api.power.IEnergyItemInfo;
import reborncore.common.powerSystem.PoweredItem;
import techreborn.client.TechRebornCreativeTab;
import techreborn.config.ConfigTechReborn;
import techreborn.lib.ModInfo;
import techreborn.power.EnergyItem;
import java.util.List;
public class ItemLapotronPack extends ItemArmor implements IEnergyItemInfo, ITexturedItem
{
public class ItemLapotronPack extends ItemArmor implements IEnergyItemInfo, ITexturedItem {
public static final int maxCharge = ConfigTechReborn.LapotronPackCharge;
public static final int tier = ConfigTechReborn.LapotronPackTier;
public double transferLimit = 100000;
public static final int MAX_CHARGE = ConfigTechReborn.LapotronPackCharge;
public static final int TIER = ConfigTechReborn.LapotronPackTier;
public static final double TRANSFER_LIMIT = 100000;
public ItemLapotronPack()
{
super(ItemArmor.ArmorMaterial.DIAMOND, 7, EntityEquipmentSlot.CHEST);
setCreativeTab(TechRebornCreativeTab.instance);
setUnlocalizedName("techreborn.lapotronpack");
setMaxStackSize(1);
RebornCore.jsonDestroyer.registerObject(this);
}
public ItemLapotronPack() {
super(ItemArmor.ArmorMaterial.DIAMOND, 7, EntityEquipmentSlot.CHEST);
setCreativeTab(TechRebornCreativeTab.instance);
setUnlocalizedName("techreborn.lapotronpack");
setMaxStackSize(1);
RebornCore.jsonDestroyer.registerObject(this);
}
@Override
@SideOnly(Side.CLIENT)
public String getArmorTexture(ItemStack stack, Entity entity, EntityEquipmentSlot slot, String type)
{
return "techreborn:" + "textures/models/lapotronpack.png";
}
@Override
@SideOnly(Side.CLIENT)
public String getArmorTexture(ItemStack stack, Entity entity, EntityEquipmentSlot slot, String type) {
return "techreborn:" + "textures/models/lapotronpack.png";
}
@Override
public double getMaxPower(ItemStack stack)
{
return maxCharge;
}
@Override
public double getMaxPower(ItemStack stack) {
return MAX_CHARGE;
}
@Override
public boolean canAcceptEnergy(ItemStack stack)
{
return true;
}
@Override
public double getMaxTransfer(ItemStack stack) {
return TRANSFER_LIMIT;
}
@Override
public boolean canProvideEnergy(ItemStack itemStack)
{
return true;
}
@Override
public int getStackTier(ItemStack stack) {
return TIER;
}
@Override
public double getMaxTransfer(ItemStack stack)
{
return transferLimit;
}
@Override
public boolean canAcceptEnergy(ItemStack stack) {
return true;
}
@Override
public int getStackTier(ItemStack stack)
{
return tier;
}
@Override
public boolean canProvideEnergy(ItemStack itemStack) {
return true;
}
@SuppressWarnings({ "rawtypes", "unchecked" })
@SideOnly(Side.CLIENT)
public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List itemList)
{
ItemStack itemStack = new ItemStack(this, 1);
itemList.add(itemStack);
@SideOnly(Side.CLIENT)
public void getSubItems(Item item, CreativeTabs tab, List<ItemStack> itemList) {
ItemStack itemStack = new ItemStack(this, 1);
itemList.add(itemStack);
ItemStack charged = new ItemStack(this, 1);
PoweredItem.setEnergy(getMaxPower(charged), charged);
itemList.add(charged);
}
ItemStack charged = new ItemStack(this, 1);
EnergyItem.setEnergy(getMaxPower(charged), charged);
itemList.add(charged);
}
@Override
public double getDurabilityForDisplay(ItemStack stack)
{
double charge = (PoweredItem.getEnergy(stack) / getMaxPower(stack));
return 1 - charge;
@Override
public double getDurabilityForDisplay(ItemStack stack) {
double charge = (EnergyItem.getEnergy(stack) / getMaxPower(stack));
return 1 - charge;
}
@Override public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack)
{
for(int i = 0; i < player.inventory.getSizeInventory(); i++){
if(player.inventory.getStackInSlot(i) != null){
ItemStack item = player.inventory.getStackInSlot(i);
if(item.getItem() instanceof IEnergyItemInfo){
IEnergyItemInfo energyItemInfo = (IEnergyItemInfo) item.getItem();
if(energyItemInfo.getMaxPower(item) != PoweredItem.getEnergy(item)){
if(PoweredItem.canUseEnergy(energyItemInfo.getMaxPower(item), itemStack)){
PoweredItem.useEnergy(energyItemInfo.getMaxTransfer(item), itemStack);
PoweredItem.setEnergy(PoweredItem.getEnergy(item) + energyItemInfo.getMaxTransfer(item), item);
}
}
}
}
}
}
}
@Override
public boolean showDurabilityBar(ItemStack stack)
{
return true;
}
@Override
public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) {
for (int i = 0; i < player.inventory.getSizeInventory(); i++) {
if (player.inventory.getStackInSlot(i) != null) {
ItemStack itemStack1 = player.inventory.getStackInSlot(i);
if (itemStack1 != null) {
Item item1 = itemStack1.getItem();
if (item1 instanceof IEnergyInterfaceItem ||
item1 instanceof IEnergyContainerItem ||
item1 instanceof IElectricItem ||
itemStack1.hasCapability(TeslaCapabilities.CAPABILITY_CONSUMER, null)) {
EnergyItem.charge(itemStack1, new IEnergyInterfaceTile() {
@Override
public double getEnergy() {
return EnergyItem.getEnergy(itemStack);
}
@Override
public String getTextureName(int damage)
{
return "techreborn:items/tool/lapotronicPack";
}
@Override
public void setEnergy(double energy) {
EnergyItem.setEnergy(energy, itemStack);
}
@Override
public int getMaxMeta()
{
return 1;
}
@Override
public double getMaxPower() {
return MAX_CHARGE;
}
@Override
public EnumPowerTier getTier() {
return EnumPowerTier.EXTREME;
}
});
}
}
}
}
}
@Override
public boolean showDurabilityBar(ItemStack stack) {
return true;
}
@Override
public String getTextureName(int damage) {
return "techreborn:items/tool/lapotronicPack";
}
@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");
}
@Override
@SideOnly(Side.CLIENT)
public ModelResourceLocation getModel(ItemStack stack, EntityPlayer player, int useRemaining) {
return new ModelResourceLocation(ModInfo.MOD_ID + ":" + getUnlocalizedName(stack).substring(5), "inventory");
}
}

View file

@ -1,6 +1,9 @@
package techreborn.items.armor;
import cofh.api.energy.IEnergyContainerItem;
import ic2.api.item.IElectricItem;
import me.modmuss50.jsonDestroyer.api.ITexturedItem;
import net.darkhax.tesla.capability.TeslaCapabilities;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.Entity;
@ -13,127 +16,135 @@ import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import reborncore.RebornCore;
import reborncore.api.power.EnumPowerTier;
import reborncore.api.power.IEnergyInterfaceItem;
import reborncore.api.power.IEnergyInterfaceTile;
import reborncore.api.power.IEnergyItemInfo;
import reborncore.common.powerSystem.PoweredItem;
import techreborn.client.TechRebornCreativeTab;
import techreborn.config.ConfigTechReborn;
import techreborn.lib.ModInfo;
import techreborn.power.EnergyItem;
import java.util.List;
public class ItemLithiumBatpack extends ItemArmor implements IEnergyItemInfo, ITexturedItem
{
public class ItemLithiumBatpack extends ItemArmor implements IEnergyItemInfo, ITexturedItem {
public static final int maxCharge = ConfigTechReborn.LithiumBatpackCharge;
public static final int tier = ConfigTechReborn.LithiumBatpackTier;
public double transferLimit = 10000;
public static final int maxCharge = ConfigTechReborn.LithiumBatpackCharge;
public static final int tier = ConfigTechReborn.LithiumBatpackTier;
public double transferLimit = 10000;
public ItemLithiumBatpack()
{
super(ItemArmor.ArmorMaterial.DIAMOND, 7, EntityEquipmentSlot.CHEST);
setMaxStackSize(1);
setUnlocalizedName("techreborn.lithiumbatpack");
setCreativeTab(TechRebornCreativeTab.instance);
RebornCore.jsonDestroyer.registerObject(this);
}
@Override public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack)
{
for(int i = 0; i < player.inventory.getSizeInventory(); i++){
if(player.inventory.getStackInSlot(i) != null){
ItemStack item = player.inventory.getStackInSlot(i);
if(item.getItem() instanceof IEnergyItemInfo){
IEnergyItemInfo energyItemInfo = (IEnergyItemInfo) item.getItem();
if(energyItemInfo.getMaxPower(item) != PoweredItem.getEnergy(item)){
if(PoweredItem.canUseEnergy(energyItemInfo.getMaxPower(item), itemStack)){
PoweredItem.useEnergy(energyItemInfo.getMaxTransfer(item), itemStack);
PoweredItem.setEnergy(PoweredItem.getEnergy(item) + energyItemInfo.getMaxTransfer(item), item);
}
}
}
}
}
}
@Override
@SideOnly(Side.CLIENT)
public String getArmorTexture(ItemStack stack, Entity entity, EntityEquipmentSlot slot, String type)
{
return "techreborn:" + "textures/models/lithiumbatpack.png";
}
public ItemLithiumBatpack() {
super(ItemArmor.ArmorMaterial.DIAMOND, 7, EntityEquipmentSlot.CHEST);
setMaxStackSize(1);
setUnlocalizedName("techreborn.lithiumbatpack");
setCreativeTab(TechRebornCreativeTab.instance);
RebornCore.jsonDestroyer.registerObject(this);
}
@Override
public double getMaxPower(ItemStack stack)
{
return maxCharge;
}
@Override
public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) {
for (int i = 0; i < player.inventory.getSizeInventory(); i++) {
if (player.inventory.getStackInSlot(i) != null) {
ItemStack itemStack1 = player.inventory.getStackInSlot(i);
Item item1 = itemStack1.getItem();
if (item1 instanceof IEnergyInterfaceItem ||
item1 instanceof IEnergyContainerItem ||
item1 instanceof IElectricItem ||
itemStack1.hasCapability(TeslaCapabilities.CAPABILITY_CONSUMER, null)) {
EnergyItem.charge(itemStack1, new IEnergyInterfaceTile() {
@Override
public double getEnergy() {
return EnergyItem.getEnergy(itemStack);
}
@Override
public boolean canAcceptEnergy(ItemStack stack)
{
return true;
}
@Override
public void setEnergy(double energy) {
EnergyItem.setEnergy(energy, itemStack);
}
@Override
public boolean canProvideEnergy(ItemStack stack)
{
return true;
}
@Override
public double getMaxPower() {
return maxCharge;
}
@Override
public double getMaxTransfer(ItemStack stack)
{
return transferLimit;
}
@Override
public EnumPowerTier getTier() {
return EnumPowerTier.MEDIUM;
}
});
}
}
}
}
@Override
public int getStackTier(ItemStack stack)
{
return tier;
}
@Override
@SideOnly(Side.CLIENT)
public String getArmorTexture(ItemStack stack, Entity entity, EntityEquipmentSlot slot, String type) {
return "techreborn:" + "textures/models/lithiumbatpack.png";
}
@SuppressWarnings({ "rawtypes", "unchecked" })
@SideOnly(Side.CLIENT)
public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List itemList)
{
ItemStack itemStack = new ItemStack(this, 1);
itemList.add(itemStack);
@Override
public double getMaxPower(ItemStack stack) {
return maxCharge;
}
ItemStack charged = new ItemStack(this, 1);
PoweredItem.setEnergy(getMaxPower(charged), charged);
itemList.add(charged);
}
@Override
public boolean canAcceptEnergy(ItemStack stack) {
return true;
}
@Override
public double getDurabilityForDisplay(ItemStack stack)
{
double charge = (PoweredItem.getEnergy(stack) / getMaxPower(stack));
return 1 - charge;
@Override
public boolean canProvideEnergy(ItemStack stack) {
return true;
}
}
@Override
public double getMaxTransfer(ItemStack stack) {
return transferLimit;
}
@Override
public boolean showDurabilityBar(ItemStack stack)
{
return true;
}
@Override
public int getStackTier(ItemStack stack) {
return tier;
}
@Override
public String getTextureName(int damage)
{
return "techreborn:items/tool/lithiumBatpack";
}
@SuppressWarnings({"rawtypes", "unchecked"})
@SideOnly(Side.CLIENT)
public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List itemList) {
ItemStack itemStack = new ItemStack(this, 1);
itemList.add(itemStack);
@Override
public int getMaxMeta()
{
return 1;
}
ItemStack charged = new ItemStack(this, 1);
EnergyItem.setEnergy(getMaxPower(charged), charged);
itemList.add(charged);
}
@Override
@SideOnly(Side.CLIENT)
public ModelResourceLocation getModel(ItemStack stack, EntityPlayer player, int useRemaining)
{
return new ModelResourceLocation(ModInfo.MOD_ID + ":" + getUnlocalizedName(stack).substring(5), "inventory");
}
@Override
public double getDurabilityForDisplay(ItemStack stack) {
double charge = (EnergyItem.getEnergy(stack) / getMaxPower(stack));
return 1 - charge;
}
@Override
public boolean showDurabilityBar(ItemStack stack) {
return true;
}
@Override
public String getTextureName(int damage) {
return "techreborn:items/tool/lithiumBatpack";
}
@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");
}
}

View file

@ -16,51 +16,52 @@ import techreborn.lib.ModInfo;
*/
public class ItemTRArmour extends ItemArmor implements ITexturedItem {
private ArmorMaterial material = ArmorMaterial.LEATHER;
private EntityEquipmentSlot slot = EntityEquipmentSlot.HEAD;
private ArmorMaterial material = ArmorMaterial.LEATHER;
private EntityEquipmentSlot slot = EntityEquipmentSlot.HEAD;
public ItemTRArmour(ArmorMaterial material, EntityEquipmentSlot slot) {
super(material, material.getDamageReductionAmount(slot), slot);
if (slot == EntityEquipmentSlot.HEAD)
setUnlocalizedName(material.name().toLowerCase()+"Helmet");
if (slot == EntityEquipmentSlot.CHEST)
setUnlocalizedName(material.name().toLowerCase()+"Chestplate");
if (slot == EntityEquipmentSlot.LEGS)
setUnlocalizedName(material.name().toLowerCase()+"Leggings");
if (slot == EntityEquipmentSlot.FEET)
setUnlocalizedName(material.name().toLowerCase()+"Boots");
setCreativeTab(TechRebornCreativeTabMisc.instance);
RebornCore.jsonDestroyer.registerObject(this);
this.material = material;
this.slot = slot;
}
public ItemTRArmour(ArmorMaterial material, EntityEquipmentSlot slot) {
super(material, material.getDamageReductionAmount(slot), slot);
if (slot == EntityEquipmentSlot.HEAD)
setUnlocalizedName(material.name().toLowerCase() + "Helmet");
if (slot == EntityEquipmentSlot.CHEST)
setUnlocalizedName(material.name().toLowerCase() + "Chestplate");
if (slot == EntityEquipmentSlot.LEGS)
setUnlocalizedName(material.name().toLowerCase() + "Leggings");
if (slot == EntityEquipmentSlot.FEET)
setUnlocalizedName(material.name().toLowerCase() + "Boots");
setCreativeTab(TechRebornCreativeTabMisc.instance);
RebornCore.jsonDestroyer.registerObject(this);
this.material = material;
this.slot = slot;
}
@Override
public String getTextureName(int damage) {
if (slot == EntityEquipmentSlot.HEAD)
return "techreborn:items/tool/" + material.name().toLowerCase() + "_helmet";
if (slot == EntityEquipmentSlot.CHEST)
return "techreborn:items/tool/" + material.name().toLowerCase() + "_chestplate";
if (slot == EntityEquipmentSlot.LEGS)
return "techreborn:items/tool/" + material.name().toLowerCase() + "_leggings";
if (slot == EntityEquipmentSlot.FEET)
return "techreborn:items/tool/" + material.name().toLowerCase() + "_boots";
return "techreborn:items/tool/" + material.name().toLowerCase() + "_error";
}
@Override
public String getTextureName(int damage) {
if (slot == EntityEquipmentSlot.HEAD)
return "techreborn:items/tool/" + material.name().toLowerCase() + "_helmet";
if (slot == EntityEquipmentSlot.CHEST)
return "techreborn:items/tool/" + material.name().toLowerCase() + "_chestplate";
if (slot == EntityEquipmentSlot.LEGS)
return "techreborn:items/tool/" + material.name().toLowerCase() + "_leggings";
if (slot == EntityEquipmentSlot.FEET)
return "techreborn:items/tool/" + material.name().toLowerCase() + "_boots";
return "techreborn:items/tool/" + material.name().toLowerCase() + "_error";
}
@Override
public int getMaxMeta() {
return 1;
}
@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");
}
@Override
@SideOnly(Side.CLIENT)
public ModelResourceLocation getModel(ItemStack stack, EntityPlayer player, int useRemaining) {
return new ModelResourceLocation(ModInfo.MOD_ID + ":" + getUnlocalizedName(stack).substring(5), "inventory");
}
@SideOnly(Side.CLIENT)
public boolean isFull3D() {
return true;
}
@SideOnly(Side.CLIENT)
public boolean isFull3D() {
return true;
}
}

View file

@ -2,105 +2,99 @@ package techreborn.items.battery;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.IItemPropertyGetter;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.text.TextFormatting;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import reborncore.api.power.IEnergyItemInfo;
import reborncore.common.powerSystem.PoweredItem;
import reborncore.common.util.PowerLocalization;
import techreborn.items.ItemTRNoDestroy;
import techreborn.power.EnergyItem;
import javax.annotation.Nullable;
import java.util.List;
public class ItemBattery extends ItemTRNoDestroy implements IEnergyItemInfo
{
public class ItemBattery extends ItemTRNoDestroy implements IEnergyItemInfo {
String name = "null";
int maxEnergy = 0;
int maxTransfer = 0;
int tier = 0;
public ItemBattery(String name, int maxEnergy, int maxTransfer, int tier)
{
super();
setMaxStackSize(1);
setMaxDamage(1);
setUnlocalizedName("techreborn."+name);
this.name=name;
this.maxEnergy=maxEnergy;
this.maxTransfer=maxTransfer;
this.tier=tier;
this.addPropertyOverride(new ResourceLocation("techreborn:empty"), new IItemPropertyGetter()
{
@SideOnly(Side.CLIENT) public float apply(ItemStack stack, @Nullable World worldIn,
@Nullable EntityLivingBase entityIn)
{
if (stack != null && PoweredItem.getEnergy(stack) == 0.0)
{
return 1.0F;
}
return 0.0F;
}
});
}
int maxEnergy = 0;
int maxTransfer = 0;
int tier = 0;
@SuppressWarnings({ "rawtypes", "unchecked" })
@SideOnly(Side.CLIENT)
public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List itemList)
{
ItemStack itemStack = new ItemStack(this, 1);
itemList.add(itemStack);
public ItemBattery(String name, int maxEnergy, int maxTransfer, int tier) {
super();
setMaxStackSize(1);
setMaxDamage(1);
setUnlocalizedName("techreborn." + name);
this.maxEnergy = maxEnergy;
this.maxTransfer = maxTransfer;
this.tier = tier;
this.addPropertyOverride(new ResourceLocation("techreborn:empty"), new IItemPropertyGetter() {
@SideOnly(Side.CLIENT)
public float apply(ItemStack stack, @Nullable World worldIn,
@Nullable EntityLivingBase entityIn) {
if (stack != null && EnergyItem.getEnergy(stack) == 0.0) {
return 1.0F;
}
return 0.0F;
}
});
}
ItemStack charged = new ItemStack(this, 1);
PoweredItem.setEnergy(getMaxPower(charged), charged);
itemList.add(charged);
}
@SideOnly(Side.CLIENT)
public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List<ItemStack> itemList) {
ItemStack itemStack = new ItemStack(this, 1);
itemList.add(itemStack);
@Override
public double getDurabilityForDisplay(ItemStack stack)
{
double charge = (PoweredItem.getEnergy(stack) / getMaxPower(stack));
return 1 - charge;
ItemStack charged = new ItemStack(this, 1);
EnergyItem.setEnergy(getMaxPower(charged), charged);
itemList.add(charged);
}
}
@Override
public void addInformation(ItemStack stack, EntityPlayer playerIn, List<String> tooltip, boolean advanced) {
String max = PowerLocalization.getLocalizedPower(getMaxPower(stack));
String energy = PowerLocalization.getLocalizedPower(EnergyItem.getEnergy(stack));
tooltip.add(TextFormatting.GRAY + energy + " / " + max);
}
@Override
public boolean showDurabilityBar(ItemStack stack)
{
return true;
}
@Override
public boolean showDurabilityBar(ItemStack stack) {
return true;
}
@Override
public double getMaxPower(ItemStack stack)
{
return maxEnergy;
}
@Override
public double getDurabilityForDisplay(ItemStack stack) {
return 1 - (EnergyItem.getEnergy(stack) / getMaxPower(stack));
}
@Override
public boolean canAcceptEnergy(ItemStack stack)
{
return true;
}
@Override
public double getMaxPower(ItemStack stack) {
return maxEnergy;
}
@Override
public boolean canProvideEnergy(ItemStack stack)
{
return true;
}
@Override
public double getMaxTransfer(ItemStack stack) {
return maxTransfer;
}
@Override
public double getMaxTransfer(ItemStack stack)
{
return maxTransfer;
}
@Override
public int getStackTier(ItemStack stack) {
return tier;
}
@Override
public boolean canAcceptEnergy(ItemStack stack) {
return true;
}
@Override
public boolean canProvideEnergy(ItemStack stack) {
return true;
}
@Override
public int getStackTier(ItemStack stack)
{
return tier;
}
}

View file

@ -5,4 +5,5 @@ public class ItemEnergyCrystal extends ItemBattery {
public ItemEnergyCrystal() {
super("energyCrystal", 100000, 512, 1);
}
}

View file

@ -5,4 +5,5 @@ public class ItemLapotronCrystal extends ItemBattery {
public ItemLapotronCrystal() {
super("lapotronCrystal", 1000000, 512, 2);
}
}

View file

@ -5,5 +5,6 @@ public class ItemLithiumBattery extends ItemBattery {
public ItemLithiumBattery() {
super("lithiumBattery", 100000, 512, 1);
}
}

View file

@ -1,10 +1,9 @@
package techreborn.items.battery;
public class ItemReBattery extends ItemBattery
{
public class ItemReBattery extends ItemBattery {
public ItemReBattery()
{
public ItemReBattery() {
super("rebattery", 10000, 64, 1);
}
}

View file

@ -20,12 +20,13 @@ import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import reborncore.RebornCore;
import reborncore.api.power.IEnergyItemInfo;
import reborncore.common.powerSystem.PoweredItem;
import reborncore.common.util.TorchHelper;
import techreborn.client.TechRebornCreativeTab;
import techreborn.lib.ModInfo;
import net.minecraft.item.Item.ToolMaterial;
import techreborn.power.EnergyItem;
public class ItemChainsaw extends ItemAxe implements IEnergyItemInfo, ITexturedItem , IHandHeld
{
@ -137,14 +138,14 @@ public class ItemChainsaw extends ItemAxe implements IEnergyItemInfo, ITexturedI
itemList.add(itemStack);
ItemStack charged = new ItemStack(this, 1);
PoweredItem.setEnergy(getMaxPower(charged), charged);
EnergyItem.setEnergy(getMaxPower(charged), charged);
itemList.add(charged);
}
@Override
public double getDurabilityForDisplay(ItemStack stack)
{
double charge = (PoweredItem.getEnergy(stack) / getMaxPower(stack));
double charge = (EnergyItem.getEnergy(stack) / getMaxPower(stack));
return 1 - charge;
}

View file

@ -12,117 +12,100 @@ import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import reborncore.api.power.IEnergyItemInfo;
import reborncore.common.powerSystem.PoweredItem;
import techreborn.client.TechRebornCreativeTab;
import techreborn.config.ConfigTechReborn;
import techreborn.items.ItemTextureBase;
import techreborn.power.EnergyItem;
public class ItemCloakingDevice extends ItemTextureBase implements IEnergyItemInfo
{
public static int Teir = ConfigTechReborn.CloakingDeviceTier;
public static int MaxCharge = ConfigTechReborn.CloakingDeviceCharge;
public static int Limit = 100;
public static boolean isActive;
private int armorType = 1;
public class ItemCloakingDevice extends ItemTextureBase implements IEnergyItemInfo {
public static int Teir = ConfigTechReborn.CloakingDeviceTier;
public static int MaxCharge = ConfigTechReborn.CloakingDeviceCharge;
public static int Limit = 100;
public static boolean isActive;
private int armorType = 1;
public ItemCloakingDevice()
{
setUnlocalizedName("techreborn.cloakingdevice");
setMaxStackSize(1);
setCreativeTab(TechRebornCreativeTab.instance);
}
public ItemCloakingDevice() {
setUnlocalizedName("techreborn.cloakingdevice");
setMaxStackSize(1);
setCreativeTab(TechRebornCreativeTab.instance);
}
@Override
public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack)
{
if (PoweredItem.canUseEnergy(ConfigTechReborn.CloakingDeviceEUTick, itemStack))
{
PoweredItem.useEnergy(ConfigTechReborn.CloakingDeviceEUTick, itemStack);
player.setInvisible(true);
} else
{
if (!player.isPotionActive(MobEffects.INVISIBILITY))
{
player.setInvisible(false);
}
}
}
@Override
public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) {
if (EnergyItem.canUseEnergy(ConfigTechReborn.CloakingDeviceEUTick, itemStack)) {
EnergyItem.useEnergy(ConfigTechReborn.CloakingDeviceEUTick, itemStack);
player.setInvisible(true);
} else {
if (!player.isPotionActive(MobEffects.INVISIBILITY)) {
player.setInvisible(false);
}
}
}
@Override
public double getMaxPower(ItemStack stack)
{
return MaxCharge;
}
@Override
public double getMaxPower(ItemStack stack) {
return MaxCharge;
}
@Override
public boolean canAcceptEnergy(ItemStack stack)
{
return true;
}
@Override
public boolean canAcceptEnergy(ItemStack stack) {
return true;
}
@Override
public boolean canProvideEnergy(ItemStack itemStack)
{
return false;
}
@Override
public boolean canProvideEnergy(ItemStack itemStack) {
return false;
}
@Override
public double getMaxTransfer(ItemStack stack)
{
return Limit;
}
@Override
public double getMaxTransfer(ItemStack stack) {
return Limit;
}
@Override
public int getStackTier(ItemStack stack)
{
return Teir;
}
@Override
public int getStackTier(ItemStack stack) {
return Teir;
}
public ItemStack onItemRightClick(ItemStack itemStack, World world, EntityPlayer player)
{
ItemStack itemstack1 = player.getItemStackFromSlot(EntityEquipmentSlot.CHEST);
public ItemStack onItemRightClick(ItemStack itemStack, World world, EntityPlayer player) {
ItemStack itemstack1 = player.getItemStackFromSlot(EntityEquipmentSlot.CHEST);
if (itemstack1 == null)
{
player.setItemStackToSlot(EntityEquipmentSlot.CHEST, itemStack.copy());
itemStack.stackSize = 0;
}
if (itemstack1 == null) {
player.setItemStackToSlot(EntityEquipmentSlot.CHEST, itemStack.copy());
itemStack.stackSize = 0;
}
return itemStack;
}
return itemStack;
}
@SideOnly(Side.CLIENT)
public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List itemList)
{
ItemStack itemStack = new ItemStack(this, 1);
itemList.add(itemStack);
@SideOnly(Side.CLIENT)
public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List itemList) {
ItemStack itemStack = new ItemStack(this, 1);
itemList.add(itemStack);
ItemStack charged = new ItemStack(this, 1);
PoweredItem.setEnergy(getMaxPower(charged), charged);
itemList.add(charged);
}
ItemStack charged = new ItemStack(this, 1);
EnergyItem.setEnergy(getMaxPower(charged), charged);
itemList.add(charged);
}
public double getDurabilityForDisplay(ItemStack stack)
{
double charge = (PoweredItem.getEnergy(stack) / getMaxPower(stack));
return 1 - charge;
public double getDurabilityForDisplay(ItemStack stack) {
double charge = (EnergyItem.getEnergy(stack) / getMaxPower(stack));
return 1 - charge;
}
}
public boolean showDurabilityBar(ItemStack stack)
{
return true;
}
public boolean showDurabilityBar(ItemStack stack) {
return true;
}
@Override
public String getTextureName(int damage)
{
return "techreborn:items/tool/cloakingDevice";
}
@Override
public String getTextureName(int damage) {
return "techreborn:items/tool/cloakingDevice";
}
@Override
public int getMaxMeta() {
return 1;
}
@Override
public int getMaxMeta()
{
return 1;
}
}

View file

@ -12,49 +12,42 @@ import net.minecraft.util.text.TextComponentString;
import net.minecraft.util.text.TextFormatting;
import net.minecraft.world.World;
import reborncore.api.power.IEnergyInterfaceTile;
import reborncore.common.powerSystem.PowerSystem;
import reborncore.common.util.PowerLocalization;
import techreborn.client.TechRebornCreativeTabMisc;
import techreborn.items.ItemTextureBase;
/**
* Created by Mark on 20/03/2016.
*/
public class ItemDebugTool extends ItemTextureBase implements ITexturedItem
{
public class ItemDebugTool extends ItemTextureBase implements ITexturedItem {
public ItemDebugTool()
{
setCreativeTab(TechRebornCreativeTabMisc.instance);
setUnlocalizedName("techreborn.debug");
}
public ItemDebugTool() {
setCreativeTab(TechRebornCreativeTabMisc.instance);
setUnlocalizedName("techreborn.debug");
}
@Override
public String getTextureName(int damage)
{
return "techreborn:items/misc/debug";
}
@Override
public String getTextureName(int damage) {
return "techreborn:items/misc/debug";
}
@Override
public int getMaxMeta()
{
return 1;
}
@Override
public int getMaxMeta() {
return 1;
}
@Override
public EnumActionResult onItemUse(ItemStack stack, EntityPlayer playerIn, World worldIn, BlockPos pos,
EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) {
TileEntity tile = worldIn.getTileEntity(pos);
if (tile instanceof IEnergyInterfaceTile) {
if (!tile.getWorld().isRemote) {
playerIn.addChatComponentMessage(new TextComponentString(TextFormatting.GREEN + "Power" + TextFormatting.BLUE
+ PowerLocalization.getLocalizedPower(((IEnergyInterfaceTile) tile).getEnergy())));
}
return EnumActionResult.SUCCESS;
}
return EnumActionResult.FAIL;
}
@Override
public EnumActionResult onItemUse(ItemStack stack, EntityPlayer playerIn, World worldIn, BlockPos pos,
EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ)
{
TileEntity tile = worldIn.getTileEntity(pos);
if (tile instanceof IEnergyInterfaceTile)
{
if (!tile.getWorld().isRemote)
{
playerIn.addChatComponentMessage(
new TextComponentString(TextFormatting.GREEN + "Power" + TextFormatting.BLUE
+ PowerSystem.getLocalizedPower(((IEnergyInterfaceTile) tile).getEnergy())));
}
return EnumActionResult.SUCCESS;
}
return EnumActionResult.FAIL;
}
}

View file

@ -32,4 +32,5 @@ public class ItemDiamondChainsaw extends ItemChainsaw
{
return 1;
}
}

View file

@ -32,4 +32,5 @@ public class ItemDiamondDrill extends ItemDrill
{
return 1;
}
}

View file

@ -23,4 +23,5 @@ public class ItemDiamondJackhammer extends ItemJackhammer
{
return 1;
}
}

View file

@ -22,7 +22,6 @@ import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import reborncore.RebornCore;
import reborncore.api.power.IEnergyItemInfo;
import reborncore.common.powerSystem.PoweredItem;
import reborncore.common.util.TorchHelper;
import techreborn.client.TechRebornCreativeTab;
import techreborn.lib.ModInfo;
@ -31,134 +30,130 @@ import java.util.List;
import java.util.Random;
import net.minecraft.item.Item.ToolMaterial;
public class ItemDrill extends ItemPickaxe implements IEnergyItemInfo, ITexturedItem , IHandHeld
{
import techreborn.power.EnergyItem;
public static int tier = 1;
public int maxCharge = 1;
public int cost = 250;
public float unpoweredSpeed = 2.0F;
public double transferLimit = 100;
public class ItemDrill extends ItemPickaxe implements IEnergyItemInfo, ITexturedItem , IHandHeld {
public ItemDrill(ToolMaterial material, String unlocalizedName, int energyCapacity, int tier, float unpoweredSpeed, float efficiencyOnProperMaterial)
{
super(material);
this.efficiencyOnProperMaterial = efficiencyOnProperMaterial;
setCreativeTab(TechRebornCreativeTab.instance);
setMaxStackSize(1);
setMaxDamage(240);
setUnlocalizedName(unlocalizedName);
RebornCore.jsonDestroyer.registerObject(this);
this.maxCharge = energyCapacity;
this.tier = tier;
this.unpoweredSpeed = unpoweredSpeed;
}
public static int tier = 1;
public int maxCharge = 1;
public int cost = 250;
public float unpoweredSpeed = 2.0F;
public double transferLimit = 100;
@Override public boolean onBlockDestroyed(ItemStack stack, World worldIn, IBlockState blockIn, BlockPos pos,
EntityLivingBase entityLiving)
{
Random rand = new Random();
if (rand.nextInt(EnchantmentHelper.getEnchantmentLevel(Enchantment.getEnchantmentByID(34), stack) + 1) == 0)
{
PoweredItem.useEnergy(cost, stack);
}
return true;
}
public ItemDrill(ToolMaterial material, String unlocalizedName, int energyCapacity, int tier, float unpoweredSpeed, float efficiencyOnProperMaterial) {
super(material);
this.efficiencyOnProperMaterial = efficiencyOnProperMaterial;
setCreativeTab(TechRebornCreativeTab.instance);
setMaxStackSize(1);
setMaxDamage(240);
setUnlocalizedName(unlocalizedName);
RebornCore.jsonDestroyer.registerObject(this);
this.maxCharge = energyCapacity;
this.tier = tier;
this.unpoweredSpeed = unpoweredSpeed;
}
@Override public float getStrVsBlock(ItemStack stack, IBlockState state)
{
if (!PoweredItem.canUseEnergy(cost, stack))
{
return unpoweredSpeed;
}
if (Items.WOODEN_PICKAXE.getStrVsBlock(stack, state) > 1.0F
|| Items.WOODEN_SHOVEL.getStrVsBlock(stack, state) > 1.0F)
{
return efficiencyOnProperMaterial;
} else
{
return super.getStrVsBlock(stack, state);
}
}
@Override
public boolean onBlockDestroyed(ItemStack stack, World worldIn, IBlockState blockIn, BlockPos pos,
EntityLivingBase entityLiving) {
Random rand = new Random();
if (rand.nextInt(EnchantmentHelper.getEnchantmentLevel(Enchantment.getEnchantmentByID(34), stack) + 1) == 0) {
EnergyItem.useEnergy(cost, stack);
}
return true;
}
@Override public boolean hitEntity(ItemStack itemstack, EntityLivingBase entityliving,
EntityLivingBase entityliving1)
{
return true;
}
@Override
public float getStrVsBlock(ItemStack stack, IBlockState state) {
if (!EnergyItem.canUseEnergy(cost, stack)) {
return unpoweredSpeed;
}
if (Items.WOODEN_PICKAXE.getStrVsBlock(stack, state) > 1.0F
|| Items.WOODEN_SHOVEL.getStrVsBlock(stack, state) > 1.0F) {
return efficiencyOnProperMaterial;
} else {
return super.getStrVsBlock(stack, state);
}
}
@Override public EnumActionResult onItemUse(ItemStack stack, EntityPlayer playerIn, World worldIn, BlockPos pos,
EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ)
{
return TorchHelper.placeTorch(stack, playerIn, worldIn, pos, facing, hitX, hitY, hitZ, hand);
}
@Override
public boolean hitEntity(ItemStack itemstack, EntityLivingBase entityliving, EntityLivingBase entityliving1) {
return true;
}
@Override public boolean isRepairable()
{
return false;
}
@Override
public EnumActionResult onItemUse(ItemStack stack, EntityPlayer playerIn, World worldIn, BlockPos pos,
EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) {
return TorchHelper.placeTorch(stack, playerIn, worldIn, pos, facing, hitX, hitY, hitZ, hand);
}
@Override public double getMaxPower(ItemStack stack)
{
return maxCharge;
}
@Override
public boolean isRepairable() {
return false;
}
@Override public boolean canAcceptEnergy(ItemStack stack)
{
return true;
}
@Override
public double getMaxPower(ItemStack stack) {
return maxCharge;
}
@Override public boolean canProvideEnergy(ItemStack stack)
{
return false;
}
@Override
public boolean canAcceptEnergy(ItemStack stack) {
return true;
}
@Override public double getMaxTransfer(ItemStack stack)
{
return transferLimit;
}
@Override
public boolean canProvideEnergy(ItemStack stack) {
return false;
}
@Override public int getStackTier(ItemStack stack)
{
return tier;
}
@Override
public double getMaxTransfer(ItemStack stack) {
return transferLimit;
}
@SuppressWarnings({ "rawtypes", "unchecked" }) @SideOnly(Side.CLIENT) public void getSubItems(Item item,
CreativeTabs par2CreativeTabs, List itemList)
{
ItemStack itemStack = new ItemStack(this, 1);
itemList.add(itemStack);
@Override
public int getStackTier(ItemStack stack) {
return tier;
}
ItemStack charged = new ItemStack(this, 1);
PoweredItem.setEnergy(getMaxPower(charged), charged);
itemList.add(charged);
}
@SideOnly(Side.CLIENT)
public void getSubItems(Item item,
CreativeTabs tab, List<ItemStack> itemList) {
ItemStack itemStack = new ItemStack(this, 1);
itemList.add(itemStack);
@Override public double getDurabilityForDisplay(ItemStack stack)
{
double charge = (PoweredItem.getEnergy(stack) / getMaxPower(stack));
return 1 - charge;
ItemStack charged = new ItemStack(this, 1);
EnergyItem.setEnergy(getMaxPower(charged), charged);
itemList.add(charged);
}
}
@Override
public double getDurabilityForDisplay(ItemStack stack) {
double charge = (EnergyItem.getEnergy(stack) / getMaxPower(stack));
return 1 - charge;
@Override public boolean showDurabilityBar(ItemStack stack)
{
return true;
}
}
@Override public String getTextureName(int damage)
{
return "techreborn:items/tool/nullDrill";
}
@Override
public boolean showDurabilityBar(ItemStack stack) {
return true;
}
@Override public int getMaxMeta()
{
return 1;
}
@Override
public String getTextureName(int damage) {
return "techreborn:items/tool/nullDrill";
}
@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");
}
@Override @SideOnly(Side.CLIENT) public ModelResourceLocation getModel(ItemStack stack, EntityPlayer player,
int useRemaining)
{
return new ModelResourceLocation(ModInfo.MOD_ID + ":" + getUnlocalizedName(stack).substring(5), "inventory");
}
}

View file

@ -21,160 +21,140 @@ import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import reborncore.RebornCore;
import reborncore.api.power.IEnergyItemInfo;
import reborncore.common.powerSystem.PoweredItem;
import reborncore.common.util.TorchHelper;
import techreborn.client.TechRebornCreativeTab;
import techreborn.lib.ModInfo;
import techreborn.power.EnergyItem;
import techreborn.utils.OreDictUtils;
import java.util.List;
import java.util.Random;
import net.minecraft.item.Item.ToolMaterial;
public class ItemJackhammer extends ItemPickaxe implements IEnergyItemInfo, ITexturedItem , IHandHeld
{
public class ItemJackhammer extends ItemPickaxe implements IEnergyItemInfo, ITexturedItem , IHandHeld {
public static int tier = 1;
public int maxCharge = 1;
public int cost = 250;
public double transferLimit = 100;
public static int tier = 1;
public int maxCharge = 1;
public int cost = 250;
public double transferLimit = 100;
public ItemJackhammer(ToolMaterial material, String unlocalizedName, int energyCapacity, int tier)
{
super(material);
efficiencyOnProperMaterial = 20F;
setCreativeTab(TechRebornCreativeTab.instance);
setMaxStackSize(1);
setMaxDamage(240);
setUnlocalizedName(unlocalizedName);
RebornCore.jsonDestroyer.registerObject(this);
this.maxCharge = energyCapacity;
this.tier = tier;
}
public ItemJackhammer(ToolMaterial material, String unlocalizedName, int energyCapacity, int tier) {
super(material);
efficiencyOnProperMaterial = 20F;
setCreativeTab(TechRebornCreativeTab.instance);
setMaxStackSize(1);
setMaxDamage(240);
setUnlocalizedName(unlocalizedName);
RebornCore.jsonDestroyer.registerObject(this);
this.maxCharge = energyCapacity;
ItemJackhammer.tier = tier;
}
@Override public boolean onBlockDestroyed(ItemStack stack, World worldIn, IBlockState blockIn, BlockPos pos,
EntityLivingBase entityLiving)
{
Random rand = new Random();
if (rand.nextInt(EnchantmentHelper.getEnchantmentLevel(Enchantment.getEnchantmentByID(34), stack) + 1) == 0)
{
PoweredItem.useEnergy(cost, stack);
}
return true;
}
@Override
public boolean onBlockDestroyed(ItemStack stack, World worldIn, IBlockState blockIn, BlockPos pos,
EntityLivingBase entityLiving) {
Random rand = new Random();
if (rand.nextInt(EnchantmentHelper.getEnchantmentLevel(Enchantment.getEnchantmentByID(34), stack) + 1) == 0) {
EnergyItem.useEnergy(cost, stack);
}
return true;
}
@Override
public boolean canHarvestBlock(IBlockState state)
{
// TODO needs // FIXME: 13/03/2016
return OreDictUtils.isOre(state, "stone") && PoweredItem.canUseEnergy(cost, null);
}
@Override
public boolean canHarvestBlock(IBlockState state) {
return OreDictUtils.isOre(state, "stone");
}
@Override
public float getStrVsBlock(ItemStack stack, IBlockState state) {
if (OreDictUtils.isOre(state, "stone") && PoweredItem.canUseEnergy(cost,
stack)) {
return efficiencyOnProperMaterial;
} else {
return 0.5F;
}
}
@Override
public float getStrVsBlock(ItemStack stack, IBlockState state) {
if (OreDictUtils.isOre(state, "stone") && EnergyItem.canUseEnergy(cost, stack)) {
return efficiencyOnProperMaterial;
} else {
return 0.5F;
}
}
@Override
public boolean hitEntity(ItemStack itemstack, EntityLivingBase entityliving, EntityLivingBase entityliving1)
{
return true;
}
@Override
public boolean hitEntity(ItemStack itemstack, EntityLivingBase entityliving, EntityLivingBase entityliving1) {
return true;
}
@Override
public EnumActionResult onItemUse(ItemStack stack, EntityPlayer playerIn, World worldIn, BlockPos pos,
EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ)
{
return TorchHelper.placeTorch(stack, playerIn, worldIn, pos, facing, hitX, hitY, hitZ, hand);
}
@Override
public EnumActionResult onItemUse(ItemStack stack, EntityPlayer playerIn, World worldIn, BlockPos pos,
EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) {
return TorchHelper.placeTorch(stack, playerIn, worldIn, pos, facing, hitX, hitY, hitZ, hand);
}
@Override
public boolean isRepairable()
{
return false;
}
@Override
public boolean isRepairable() {
return false;
}
@Override
public double getMaxPower(ItemStack stack)
{
return maxCharge;
}
@Override
public double getMaxPower(ItemStack stack) {
return maxCharge;
}
@Override
public boolean canAcceptEnergy(ItemStack stack)
{
return true;
}
@Override
public boolean canAcceptEnergy(ItemStack stack) {
return true;
}
@Override
public boolean canProvideEnergy(ItemStack stack)
{
return false;
}
@Override
public boolean canProvideEnergy(ItemStack stack) {
return false;
}
@Override
public double getMaxTransfer(ItemStack stack)
{
return transferLimit;
}
@Override
public double getMaxTransfer(ItemStack stack) {
return transferLimit;
}
@Override
public int getStackTier(ItemStack stack)
{
return tier;
}
@Override
public int getStackTier(ItemStack stack) {
return tier;
}
@SuppressWarnings({ "rawtypes", "unchecked" })
@SideOnly(Side.CLIENT)
public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List itemList)
{
ItemStack itemStack = new ItemStack(this, 1);
itemList.add(itemStack);
@SuppressWarnings({"rawtypes", "unchecked"})
@SideOnly(Side.CLIENT)
public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List itemList) {
ItemStack itemStack = new ItemStack(this, 1);
itemList.add(itemStack);
ItemStack charged = new ItemStack(this, 1);
PoweredItem.setEnergy(getMaxPower(charged), charged);
itemList.add(charged);
}
ItemStack charged = new ItemStack(this, 1);
EnergyItem.setEnergy(getMaxPower(charged), charged);
itemList.add(charged);
}
@Override
public double getDurabilityForDisplay(ItemStack stack)
{
if (PoweredItem.getEnergy(stack) > getMaxPower(stack))
{
return 0;
}
double charge = (PoweredItem.getEnergy(stack) / getMaxPower(stack));
return 1 - charge;
@Override
public double getDurabilityForDisplay(ItemStack stack) {
if (EnergyItem.getEnergy(stack) > getMaxPower(stack)) {
return 0;
}
double charge = (EnergyItem.getEnergy(stack) / getMaxPower(stack));
return 1 - charge;
}
}
@Override
public boolean showDurabilityBar(ItemStack stack)
{
return true;
}
@Override
public boolean showDurabilityBar(ItemStack stack) {
return true;
}
@Override
public String getTextureName(int damage)
{
return "techreborn:items/tool/nullJackhammer";
}
@Override
public String getTextureName(int damage) {
return "techreborn:items/tool/nullJackhammer";
}
@Override
public int getMaxMeta()
{
return 1;
}
@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");
}
@Override
@SideOnly(Side.CLIENT)
public ModelResourceLocation getModel(ItemStack stack, EntityPlayer player, int useRemaining)
{
return new ModelResourceLocation(ModInfo.MOD_ID + ":" + getUnlocalizedName(stack).substring(5), "inventory");
}
}

View file

@ -24,186 +24,172 @@ import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import reborncore.api.power.IEnergyItemInfo;
import reborncore.common.powerSystem.PoweredItem;
import reborncore.common.util.ChatUtils;
import techreborn.client.TechRebornCreativeTab;
import techreborn.config.ConfigTechReborn;
import techreborn.init.ModItems;
import techreborn.lib.MessageIDs;
import techreborn.power.EnergyItem;
import javax.annotation.Nullable;
import java.util.List;
public class ItemNanosaber extends ItemSword implements IEnergyItemInfo
{
public int cost = 250;
public class ItemNanosaber extends ItemSword implements IEnergyItemInfo {
public int cost = 250;
public ItemNanosaber()
{
super(ToolMaterial.DIAMOND);
setNoRepair();
setCreativeTab(TechRebornCreativeTab.instance);
setMaxStackSize(1);
setMaxDamage(1);
setUnlocalizedName("techreborn.nanosaber");
this.addPropertyOverride(new ResourceLocation("techreborn:active"), new IItemPropertyGetter()
{
@SideOnly(Side.CLIENT) public float apply(ItemStack stack, @Nullable World worldIn,
@Nullable EntityLivingBase entityIn)
{
if (stack != null && stack.getTagCompound().getBoolean("isActive"))
{
return 1.0F;
}
return 0.0F;
}
});
}
public ItemNanosaber() {
super(ToolMaterial.DIAMOND);
setNoRepair();
setCreativeTab(TechRebornCreativeTab.instance);
setMaxStackSize(1);
setMaxDamage(1);
setUnlocalizedName("techreborn.nanosaber");
this.addPropertyOverride(new ResourceLocation("techreborn:active"), new IItemPropertyGetter() {
@SideOnly(Side.CLIENT)
public float apply(ItemStack stack, @Nullable World worldIn,
@Nullable EntityLivingBase entityIn) {
if (stack != null && stack.getTagCompound().getBoolean("isActive")) {
return 1.0F;
}
return 0.0F;
}
});
}
@Override public Multimap<String, AttributeModifier> getAttributeModifiers(EntityEquipmentSlot slot,
ItemStack stack)
{
Multimap<String, AttributeModifier> multimap = HashMultimap.<String, AttributeModifier>create();
int modifier = 0;
if (stack.getTagCompound().getBoolean("isActive"))
modifier = 9;
@Override
public Multimap<String, AttributeModifier> getAttributeModifiers(EntityEquipmentSlot slot,
ItemStack stack) {
Multimap<String, AttributeModifier> multimap = HashMultimap.<String, AttributeModifier>create();
int modifier = 0;
if (stack.getTagCompound().getBoolean("isActive"))
modifier = 9;
if (slot == EntityEquipmentSlot.MAINHAND)
{
multimap.put(SharedMonsterAttributes.ATTACK_DAMAGE.getAttributeUnlocalizedName(),
new AttributeModifier(ATTACK_DAMAGE_MODIFIER, "Weapon modifier", (double) modifier, 0));
multimap.put(SharedMonsterAttributes.ATTACK_SPEED.getAttributeUnlocalizedName(),
new AttributeModifier(ATTACK_SPEED_MODIFIER, "Weapon modifier", -2.4000000953674316D, 0));
}
return multimap;
}
if (slot == EntityEquipmentSlot.MAINHAND) {
multimap.put(SharedMonsterAttributes.ATTACK_DAMAGE.getAttributeUnlocalizedName(),
new AttributeModifier(ATTACK_DAMAGE_MODIFIER, "Weapon modifier", (double) modifier, 0));
multimap.put(SharedMonsterAttributes.ATTACK_SPEED.getAttributeUnlocalizedName(),
new AttributeModifier(ATTACK_SPEED_MODIFIER, "Weapon modifier", -2.4000000953674316D, 0));
}
return multimap;
}
@Override public boolean hitEntity(ItemStack itemstack, EntityLivingBase entityliving,
EntityLivingBase entityliving1)
{
if (PoweredItem.canUseEnergy(cost, itemstack))
{
PoweredItem.useEnergy(cost, itemstack);
return true;
} else
{
return false;
}
}
@Override
public boolean hitEntity(ItemStack itemstack, EntityLivingBase entityliving,
EntityLivingBase entityliving1) {
if (EnergyItem.canUseEnergy(cost, itemstack)) {
EnergyItem.useEnergy(cost, itemstack);
return true;
} else {
return false;
}
}
@SuppressWarnings({ "rawtypes", "unchecked" }) @SideOnly(Side.CLIENT) public void getSubItems(Item item,
CreativeTabs par2CreativeTabs, List itemList)
{
ItemStack inactiveUncharged = new ItemStack(ModItems.nanosaber);
inactiveUncharged.setTagCompound(new NBTTagCompound());
inactiveUncharged.getTagCompound().setBoolean("isActive", false);
@SuppressWarnings({"rawtypes", "unchecked"})
@SideOnly(Side.CLIENT)
public void getSubItems(Item item,
CreativeTabs par2CreativeTabs, List itemList) {
ItemStack inactiveUncharged = new ItemStack(ModItems.nanosaber);
inactiveUncharged.setTagCompound(new NBTTagCompound());
inactiveUncharged.getTagCompound().setBoolean("isActive", false);
ItemStack inactiveCharged = new ItemStack(ModItems.nanosaber);
inactiveCharged.setTagCompound(new NBTTagCompound());
inactiveCharged.getTagCompound().setBoolean("isActive", false);
PoweredItem.setEnergy(getMaxPower(inactiveCharged), inactiveCharged);
ItemStack inactiveCharged = new ItemStack(ModItems.nanosaber);
inactiveCharged.setTagCompound(new NBTTagCompound());
inactiveCharged.getTagCompound().setBoolean("isActive", false);
EnergyItem.setEnergy(getMaxPower(inactiveCharged), inactiveCharged);
ItemStack activeUncharged = new ItemStack(ModItems.nanosaber);
activeUncharged.setTagCompound(new NBTTagCompound());
activeUncharged.getTagCompound().setBoolean("isActive", true);
ItemStack activeUncharged = new ItemStack(ModItems.nanosaber);
activeUncharged.setTagCompound(new NBTTagCompound());
activeUncharged.getTagCompound().setBoolean("isActive", true);
ItemStack activeCharged = new ItemStack(ModItems.nanosaber);
activeCharged.setTagCompound(new NBTTagCompound());
activeCharged.getTagCompound().setBoolean("isActive", true);
PoweredItem.setEnergy(getMaxPower(activeCharged), activeCharged);
ItemStack activeCharged = new ItemStack(ModItems.nanosaber);
activeCharged.setTagCompound(new NBTTagCompound());
activeCharged.getTagCompound().setBoolean("isActive", true);
EnergyItem.setEnergy(getMaxPower(activeCharged), activeCharged);
itemList.add(inactiveUncharged);
itemList.add(inactiveCharged);
itemList.add(activeUncharged);
itemList.add(activeCharged);
}
itemList.add(inactiveUncharged);
itemList.add(inactiveCharged);
itemList.add(activeUncharged);
itemList.add(activeCharged);
}
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean par4)
{
if (stack.getTagCompound() == null || !stack.getTagCompound().getBoolean("isActive"))
{
list.add(TextFormatting.GRAY + I18n.translateToLocal("techreborn.message.nanosaberInactive"));
} else
{
list.add(TextFormatting.GRAY + I18n.translateToLocal("techreborn.message.nanosaberActive"));
}
}
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean par4) {
if (stack.getTagCompound() == null || !stack.getTagCompound().getBoolean("isActive")) {
list.add(TextFormatting.GRAY + I18n.translateToLocal("techreborn.message.nanosaberInactive"));
} else {
list.add(TextFormatting.GRAY + I18n.translateToLocal("techreborn.message.nanosaberActive"));
}
}
@Override public boolean showDurabilityBar(ItemStack stack)
{
return true;
}
@Override
public boolean showDurabilityBar(ItemStack stack) {
return true;
}
@Override public ActionResult<ItemStack> onItemRightClick(ItemStack stack, World world, EntityPlayer player,
EnumHand hand)
{
if (player.isSneaking())
{
if (stack.getTagCompound() == null || !stack.getTagCompound().getBoolean("isActive"))
{
stack.setTagCompound(new NBTTagCompound());
stack.getTagCompound().setBoolean("isActive", true);
if (!world.isRemote && ConfigTechReborn.NanosaberChat)
{
ChatUtils.sendNoSpamMessages(MessageIDs.nanosaberID, new TextComponentString(
TextFormatting.GRAY + I18n.translateToLocal("techreborn.message.setTo") + " "
+ TextFormatting.GOLD + I18n
.translateToLocal("techreborn.message.nanosaberActive")));
}
} else
{
stack.getTagCompound().setBoolean("isActive", false);
if (!world.isRemote && ConfigTechReborn.NanosaberChat)
{
ChatUtils.sendNoSpamMessages(MessageIDs.nanosaberID, new TextComponentString(
TextFormatting.GRAY + I18n.translateToLocal("techreborn.message.setTo") + " "
+ TextFormatting.GOLD + I18n
.translateToLocal("techreborn.message.nanosaberInactive")));
}
}
}
return new ActionResult<>(EnumActionResult.SUCCESS, stack);
}
@Override
public ActionResult<ItemStack> onItemRightClick(ItemStack stack, World world, EntityPlayer player,
EnumHand hand) {
if (player.isSneaking()) {
if (stack.getTagCompound() == null || !stack.getTagCompound().getBoolean("isActive")) {
stack.setTagCompound(new NBTTagCompound());
stack.getTagCompound().setBoolean("isActive", true);
if (!world.isRemote && ConfigTechReborn.NanosaberChat) {
ChatUtils.sendNoSpamMessages(MessageIDs.nanosaberID, new TextComponentString(
TextFormatting.GRAY + I18n.translateToLocal("techreborn.message.setTo") + " "
+ TextFormatting.GOLD + I18n
.translateToLocal("techreborn.message.nanosaberActive")));
}
} else {
stack.getTagCompound().setBoolean("isActive", false);
if (!world.isRemote && ConfigTechReborn.NanosaberChat) {
ChatUtils.sendNoSpamMessages(MessageIDs.nanosaberID, new TextComponentString(
TextFormatting.GRAY + I18n.translateToLocal("techreborn.message.setTo") + " "
+ TextFormatting.GOLD + I18n
.translateToLocal("techreborn.message.nanosaberInactive")));
}
}
}
return new ActionResult<>(EnumActionResult.SUCCESS, stack);
}
@Override public double getDurabilityForDisplay(ItemStack stack)
{
if (PoweredItem.getEnergy(stack) > getMaxPower(stack))
{
return 0;
}
double charge = (PoweredItem.getEnergy(stack) / getMaxPower(stack));
return 1 - charge;
@Override
public double getDurabilityForDisplay(ItemStack stack) {
if (EnergyItem.getEnergy(stack) > getMaxPower(stack)) {
return 0;
}
double charge = (EnergyItem.getEnergy(stack) / getMaxPower(stack));
return 1 - charge;
}
}
@Override public boolean isRepairable()
{
return false;
}
@Override
public boolean isRepairable() {
return false;
}
@Override public double getMaxPower(ItemStack stack)
{
return 100000;
}
@Override
public double getMaxPower(ItemStack stack) {
return 100000;
}
@Override public boolean canAcceptEnergy(ItemStack stack)
{
return true;
}
@Override
public boolean canAcceptEnergy(ItemStack stack) {
return true;
}
@Override public boolean canProvideEnergy(ItemStack stack)
{
return false;
}
@Override
public boolean canProvideEnergy(ItemStack stack) {
return false;
}
@Override public double getMaxTransfer(ItemStack stack)
{
return 512;
}
@Override
public double getMaxTransfer(ItemStack stack) {
return 512;
}
@Override
public int getStackTier(ItemStack stack) {
return 2;
}
@Override public int getStackTier(ItemStack stack)
{
return 2;
}
}

View file

@ -23,168 +23,147 @@ import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import reborncore.RebornCore;
import reborncore.api.power.IEnergyItemInfo;
import reborncore.common.powerSystem.PoweredItem;
import reborncore.common.util.TorchHelper;
import techreborn.client.TechRebornCreativeTab;
import techreborn.config.ConfigTechReborn;
import techreborn.lib.ModInfo;
import net.minecraft.item.Item.ToolMaterial;
public class ItemOmniTool extends ItemPickaxe implements IEnergyItemInfo, ITexturedItem
{
import techreborn.power.EnergyItem;
public static final int maxCharge = ConfigTechReborn.OmniToolCharge;
public static final int tier = ConfigTechReborn.OmniToolTier;
public int cost = 100;
public int hitCost = 125;
public class ItemOmniTool extends ItemPickaxe implements IEnergyItemInfo, ITexturedItem {
public ItemOmniTool()
{
super(ToolMaterial.DIAMOND);
efficiencyOnProperMaterial = 13F;
setCreativeTab(TechRebornCreativeTab.instance);
setMaxStackSize(1);
setMaxDamage(200);
setUnlocalizedName("techreborn.omniTool");
RebornCore.jsonDestroyer.registerObject(this);
}
public static final int maxCharge = ConfigTechReborn.OmniToolCharge;
public static final int tier = ConfigTechReborn.OmniToolTier;
public int cost = 100;
public int hitCost = 125;
@Override
public boolean onBlockDestroyed(ItemStack stack, World worldIn, IBlockState blockIn, BlockPos pos,
EntityLivingBase entityLiving)
{
PoweredItem.useEnergy(cost, stack);
return true;
}
public ItemOmniTool() {
super(ToolMaterial.DIAMOND);
efficiencyOnProperMaterial = 13F;
setCreativeTab(TechRebornCreativeTab.instance);
setMaxStackSize(1);
setMaxDamage(200);
setUnlocalizedName("techreborn.omniTool");
RebornCore.jsonDestroyer.registerObject(this);
}
@Override
public boolean canHarvestBlock(IBlockState state)
{
return Items.DIAMOND_AXE.canHarvestBlock(state) || Items.DIAMOND_SWORD.canHarvestBlock(state)
|| Items.DIAMOND_PICKAXE.canHarvestBlock(state) || Items.DIAMOND_SHOVEL.canHarvestBlock(state)
|| Items.SHEARS.canHarvestBlock(state);
}
@Override
public boolean onBlockDestroyed(ItemStack stack, World worldIn, IBlockState blockIn, BlockPos pos, EntityLivingBase entityLiving) {
EnergyItem.useEnergy(cost, stack);
return true;
}
// @Override
// public float getDigSpeed(ItemStack stack, IBlockState state) {
// if (PoweredItem.canUseEnergy(cost, stack)) {
// PoweredItem.useEnergy(cost, stack);
// return 5.0F;
// }
//
// if (Items.wooden_axe.getDigSpeed(stack, state) > 1.0F
// || Items.wooden_sword.getDigSpeed(stack, state) > 1.0F
// || Items.wooden_pickaxe.getDigSpeed(stack, state) > 1.0F
// || Items.wooden_shovel.getDigSpeed(stack, state) > 1.0F
// || Items.shears.getDigSpeed(stack, state) > 1.0F) {
// return efficiencyOnProperMaterial;
// } else {
// return super.getDigSpeed(stack, state);
// }
// }
@Override
public boolean canHarvestBlock(IBlockState state) {
return Items.DIAMOND_AXE.canHarvestBlock(state) || Items.DIAMOND_SWORD.canHarvestBlock(state)
|| Items.DIAMOND_PICKAXE.canHarvestBlock(state) || Items.DIAMOND_SHOVEL.canHarvestBlock(state)
|| Items.SHEARS.canHarvestBlock(state);
}
@Override
public boolean hitEntity(ItemStack itemstack, EntityLivingBase entityliving, EntityLivingBase attacker)
{
if (PoweredItem.canUseEnergy(hitCost, itemstack))
{
PoweredItem.useEnergy(hitCost, itemstack);
entityliving.attackEntityFrom(DamageSource.causePlayerDamage((EntityPlayer) attacker), 8F);
}
return false;
}
// @Override
// public float getDigSpeed(ItemStack stack, IBlockState state) {
// if (PoweredItem.canUseEnergy(cost, stack)) {
// PoweredItem.useEnergy(cost, stack);
// return 5.0F;
// }
//
// if (Items.wooden_axe.getDigSpeed(stack, state) > 1.0F
// || Items.wooden_sword.getDigSpeed(stack, state) > 1.0F
// || Items.wooden_pickaxe.getDigSpeed(stack, state) > 1.0F
// || Items.wooden_shovel.getDigSpeed(stack, state) > 1.0F
// || Items.shears.getDigSpeed(stack, state) > 1.0F) {
// return efficiencyOnProperMaterial;
// } else {
// return super.getDigSpeed(stack, state);
// }
// }
@Override
public EnumActionResult onItemUse(ItemStack stack, EntityPlayer playerIn, World worldIn, BlockPos pos,
EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ)
{
return TorchHelper.placeTorch(stack, playerIn, worldIn, pos, facing, hitX, hitY, hitZ, hand);
}
@Override
public boolean hitEntity(ItemStack itemstack, EntityLivingBase entityliving, EntityLivingBase attacker) {
if (EnergyItem.canUseEnergy(hitCost, itemstack)) {
EnergyItem.useEnergy(hitCost, itemstack);
entityliving.attackEntityFrom(DamageSource.causePlayerDamage((EntityPlayer) attacker), 8F);
}
return false;
}
@Override
public boolean isRepairable()
{
return false;
}
@Override
public EnumActionResult onItemUse(ItemStack stack, EntityPlayer playerIn, World worldIn, BlockPos pos, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) {
return TorchHelper.placeTorch(stack, playerIn, worldIn, pos, facing, hitX, hitY, hitZ, hand);
}
@Override
public double getMaxPower(ItemStack stack)
{
return maxCharge;
}
@Override
public boolean isRepairable() {
return false;
}
@Override
public boolean canAcceptEnergy(ItemStack stack)
{
return true;
}
@Override
public double getMaxPower(ItemStack stack) {
return maxCharge;
}
@Override
public boolean canProvideEnergy(ItemStack itemStack)
{
return false;
}
@Override
public boolean canAcceptEnergy(ItemStack stack) {
return true;
}
@Override
public double getMaxTransfer(ItemStack stack)
{
return 200;
}
@Override
public boolean canProvideEnergy(ItemStack itemStack) {
return false;
}
@Override
public int getStackTier(ItemStack stack)
{
return 2;
}
@Override
public double getMaxTransfer(ItemStack stack) {
return 200;
}
@SuppressWarnings({ "rawtypes", "unchecked" })
@SideOnly(Side.CLIENT)
public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List itemList)
{
ItemStack itemStack = new ItemStack(this, 1);
itemList.add(itemStack);
@Override
public int getStackTier(ItemStack stack) {
return 2;
}
ItemStack charged = new ItemStack(this, 1);
PoweredItem.setEnergy(getMaxPower(charged), charged);
itemList.add(charged);
}
@SuppressWarnings({"rawtypes", "unchecked"})
@SideOnly(Side.CLIENT)
public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List itemList) {
ItemStack itemStack = new ItemStack(this, 1);
itemList.add(itemStack);
@Override
public double getDurabilityForDisplay(ItemStack stack)
{
double charge = (PoweredItem.getEnergy(stack) / getMaxPower(stack));
return 1 - charge;
ItemStack charged = new ItemStack(this, 1);
EnergyItem.setEnergy(getMaxPower(charged), charged);
itemList.add(charged);
}
}
@Override
public double getDurabilityForDisplay(ItemStack stack) {
double charge = (EnergyItem.getEnergy(stack) / getMaxPower(stack));
return 1 - charge;
@Override
public boolean showDurabilityBar(ItemStack stack)
{
return true;
}
}
@Override
public String getTextureName(int damage)
{
return "techreborn:items/tool/omnitool";
}
@Override
public boolean showDurabilityBar(ItemStack stack) {
return true;
}
@Override
public int getMaxMeta()
{
return 1;
}
@Override
public String getTextureName(int damage) {
return "techreborn:items/tool/omnitool";
}
@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");
}
@Override
public void addInformation(ItemStack stack, EntityPlayer playerIn, List<String> tooltip, boolean advanced) {
tooltip.add(TextFormatting.RED + "WIP Coming Soon");
}
@Override
@SideOnly(Side.CLIENT)
public ModelResourceLocation getModel(ItemStack stack, EntityPlayer player, int useRemaining)
{
return new ModelResourceLocation(ModInfo.MOD_ID + ":" + getUnlocalizedName(stack).substring(5), "inventory");
}
@Override
public void addInformation(ItemStack stack, EntityPlayer playerIn, List<String> tooltip, boolean advanced)
{
tooltip.add(TextFormatting.RED + "WIP Coming Soon");
}
}

View file

@ -19,146 +19,139 @@ import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import reborncore.RebornCore;
import reborncore.api.power.IEnergyItemInfo;
import reborncore.common.powerSystem.PoweredItem;
import techreborn.client.TechRebornCreativeTab;
import techreborn.config.ConfigTechReborn;
import techreborn.lib.ModInfo;
import techreborn.power.EnergyItem;
import java.util.List;
import java.util.Random;
public class ItemRockCutter extends ItemPickaxe implements IEnergyItemInfo, ITexturedItem
{
public class ItemRockCutter extends ItemPickaxe implements IEnergyItemInfo, ITexturedItem {
public static final int maxCharge = ConfigTechReborn.RockCutterCharge;
public static final int tier = ConfigTechReborn.RockCutterTier;
public int cost = 500;
public static final int maxCharge = ConfigTechReborn.RockCutterCharge;
public static final int tier = ConfigTechReborn.RockCutterTier;
public int cost = 500;
public ItemRockCutter()
{
super(ToolMaterial.DIAMOND);
setUnlocalizedName("techreborn.rockcutter");
setCreativeTab(TechRebornCreativeTab.instance);
setMaxStackSize(1);
efficiencyOnProperMaterial = 16F;
RebornCore.jsonDestroyer.registerObject(this);
}
public ItemRockCutter() {
super(ToolMaterial.DIAMOND);
setUnlocalizedName("techreborn.rockcutter");
setCreativeTab(TechRebornCreativeTab.instance);
setMaxStackSize(1);
efficiencyOnProperMaterial = 16F;
RebornCore.jsonDestroyer.registerObject(this);
}
@Override public boolean onBlockDestroyed(ItemStack stack, World worldIn, IBlockState blockIn, BlockPos pos,
EntityLivingBase entityLiving)
{
Random rand = new Random();
if (rand.nextInt(EnchantmentHelper.getEnchantmentLevel(Enchantments.UNBREAKING, stack) + 1) == 0)
{
PoweredItem.useEnergy(cost, stack);
}
return true;
}
@Override
public boolean onBlockDestroyed(ItemStack stack, World worldIn, IBlockState blockIn, BlockPos pos,
EntityLivingBase entityLiving) {
Random rand = new Random();
if (rand.nextInt(EnchantmentHelper.getEnchantmentLevel(Enchantments.UNBREAKING, stack) + 1) == 0) {
EnergyItem.useEnergy(cost, stack);
}
return true;
}
@Override public boolean canHarvestBlock(IBlockState state)
{
if (Items.DIAMOND_PICKAXE.canHarvestBlock(state))
{
return true;
}
return false;
}
@Override
public boolean canHarvestBlock(IBlockState state) {
if (Items.DIAMOND_PICKAXE.canHarvestBlock(state)) {
return true;
}
return false;
}
@Override public int getHarvestLevel(ItemStack stack, String toolClass)
{
@Override
public int getHarvestLevel(ItemStack stack, String toolClass) {
if (!stack.isItemEnchanted())
{
stack.addEnchantment(Enchantment.getEnchantmentByID(33), 1);
}
if (!stack.isItemEnchanted()) {
stack.addEnchantment(Enchantment.getEnchantmentByID(33), 1);
}
return super.getHarvestLevel(stack, toolClass);
}
return super.getHarvestLevel(stack, toolClass);
}
@Override public float getStrVsBlock(ItemStack stack, IBlockState state)
{
if (!PoweredItem.canUseEnergy(cost, stack))
{
return 2F;
}else{
return Items.DIAMOND_PICKAXE.getStrVsBlock(stack, state);
}
}
@Override
public float getStrVsBlock(ItemStack stack, IBlockState state) {
if (!EnergyItem.canUseEnergy(cost, stack)) {
return 2F;
} else {
return Items.DIAMOND_PICKAXE.getStrVsBlock(stack, state);
}
}
@Override public boolean isRepairable()
{
return false;
}
@Override
public boolean isRepairable() {
return false;
}
@Override public void onCreated(ItemStack stack, World worldIn, EntityPlayer playerIn)
{
stack.addEnchantment(Enchantments.SILK_TOUCH, 1);
}
@Override
public void onCreated(ItemStack stack, World worldIn, EntityPlayer playerIn) {
stack.addEnchantment(Enchantments.SILK_TOUCH, 1);
}
@Override public double getMaxPower(ItemStack stack)
{
return maxCharge;
}
@Override
public double getMaxPower(ItemStack stack) {
return maxCharge;
}
@Override public boolean canAcceptEnergy(ItemStack stack)
{
return true;
}
@Override
public boolean canAcceptEnergy(ItemStack stack) {
return true;
}
@Override public boolean canProvideEnergy(ItemStack stack)
{
return false;
}
@Override
public boolean canProvideEnergy(ItemStack stack) {
return false;
}
@Override public double getMaxTransfer(ItemStack stack)
{
return 200;
}
@Override
public double getMaxTransfer(ItemStack stack) {
return 200;
}
@Override public int getStackTier(ItemStack stack)
{
return 2;
}
@Override
public int getStackTier(ItemStack stack) {
return 2;
}
@SuppressWarnings({ "rawtypes", "unchecked" }) @SideOnly(Side.CLIENT) public void getSubItems(Item item,
CreativeTabs par2CreativeTabs, List itemList)
{
ItemStack itemStack = new ItemStack(this, 1);
itemStack.addEnchantment(Enchantments.SILK_TOUCH, 1);
itemList.add(itemStack);
@SideOnly(Side.CLIENT)
public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List<ItemStack> itemList) {
ItemStack itemStack = new ItemStack(this, 1);
itemStack.addEnchantment(Enchantments.SILK_TOUCH, 1);
itemList.add(itemStack);
ItemStack charged = new ItemStack(this, 1);
charged.addEnchantment(Enchantments.SILK_TOUCH, 1);
PoweredItem.setEnergy(getMaxPower(charged), charged);
itemList.add(charged);
}
ItemStack charged = new ItemStack(this, 1);
charged.addEnchantment(Enchantments.SILK_TOUCH, 1);
EnergyItem.setEnergy(getMaxPower(charged), charged);
itemList.add(charged);
}
@Override public double getDurabilityForDisplay(ItemStack stack)
{
double charge = (PoweredItem.getEnergy(stack) / getMaxPower(stack));
return 1 - charge;
@Override
public double getDurabilityForDisplay(ItemStack stack) {
double charge = (EnergyItem.getEnergy(stack) / getMaxPower(stack));
return 1 - charge;
}
}
@Override public boolean showDurabilityBar(ItemStack stack)
{
return true;
}
@Override
public boolean showDurabilityBar(ItemStack stack) {
return true;
}
@Override public String getTextureName(int damage)
{
return "techreborn:items/tool/rockcutter";
}
@Override
public String getTextureName(int damage) {
return "techreborn:items/tool/rockcutter";
}
@Override public int getMaxMeta()
{
return 1;
}
@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");
}
@Override
@SideOnly(Side.CLIENT)
public ModelResourceLocation getModel(ItemStack stack, EntityPlayer player, int useRemaining) {
return new ModelResourceLocation(ModInfo.MOD_ID + ":" + getUnlocalizedName(stack).substring(5), "inventory");
}
}

View file

@ -3,31 +3,29 @@ package techreborn.items.tools;
import net.minecraft.block.state.IBlockState;
import net.minecraft.init.Items;
import techreborn.config.ConfigTechReborn;
public class ItemSteelChainsaw extends ItemChainsaw
{
public ItemSteelChainsaw()
{
super(ToolMaterial.IRON, "techreborn.ironChainsaw", ConfigTechReborn.IronChainsawCharge,
ConfigTechReborn.IronChainsawTier, 2.0F);
this.cost = 50;
}
public class ItemSteelChainsaw extends ItemChainsaw {
@Override
public boolean canHarvestBlock(IBlockState state)
{
return Items.IRON_AXE.canHarvestBlock(state);
}
public ItemSteelChainsaw() {
super(ToolMaterial.IRON, "techreborn.ironChainsaw",
ConfigTechReborn.IronChainsawCharge,
ConfigTechReborn.IronChainsawTier, 2.0F);
this.cost = 50;
}
@Override
public String getTextureName(int damage)
{
return "techreborn:items/tool/steelChainsaw";
}
@Override
public boolean canHarvestBlock(IBlockState state) {
return Items.IRON_AXE.canHarvestBlock(state);
}
@Override
public String getTextureName(int damage) {
return "techreborn:items/tool/steelChainsaw";
}
@Override
public int getMaxMeta() {
return 1;
}
@Override
public int getMaxMeta()
{
return 1;
}
}

View file

@ -3,31 +3,27 @@ package techreborn.items.tools;
import net.minecraft.block.state.IBlockState;
import net.minecraft.init.Items;
import techreborn.config.ConfigTechReborn;
public class ItemSteelDrill extends ItemDrill
{
public class ItemSteelDrill extends ItemDrill {
public ItemSteelDrill()
{
super(ToolMaterial.IRON, "techreborn.ironDrill", ConfigTechReborn.IronDrillCharge,
ConfigTechReborn.IronDrillTier, 0.5F, 10F);
this.cost = 50;
}
public ItemSteelDrill() {
super(ToolMaterial.IRON, "techreborn.ironDrill", ConfigTechReborn.IronDrillCharge,
ConfigTechReborn.IronDrillTier, 0.5F, 10F);
this.cost = 50;
}
@Override
public boolean canHarvestBlock(IBlockState state)
{
return Items.IRON_PICKAXE.canHarvestBlock(state) || Items.IRON_SHOVEL.canHarvestBlock(state);
}
@Override
public boolean canHarvestBlock(IBlockState state) {
return Items.IRON_PICKAXE.canHarvestBlock(state) || Items.IRON_SHOVEL.canHarvestBlock(state);
}
@Override
public String getTextureName(int damage)
{
return "techreborn:items/tool/steelDrill";
}
@Override
public String getTextureName(int damage) {
return "techreborn:items/tool/steelDrill";
}
@Override
public int getMaxMeta() {
return 1;
}
@Override
public int getMaxMeta()
{
return 1;
}
}

View file

@ -1,26 +1,25 @@
package techreborn.items.tools;
import techreborn.config.ConfigTechReborn;
public class ItemSteelJackhammer extends ItemJackhammer
{
public ItemSteelJackhammer()
{
super(ToolMaterial.DIAMOND, "techreborn.steelJackhammer", ConfigTechReborn.SteelJackhammerCharge,
ConfigTechReborn.SteelJackhammerTier);
this.cost = 50;
this.efficiencyOnProperMaterial = 12F;
}
public class ItemSteelJackhammer extends ItemJackhammer {
@Override
public String getTextureName(int damage)
{
return "techreborn:items/tool/steelJackhammer";
}
public ItemSteelJackhammer() {
super(ToolMaterial.DIAMOND, "techreborn.steelJackhammer",
ConfigTechReborn.SteelJackhammerCharge,
ConfigTechReborn.SteelJackhammerTier);
this.cost = 50;
this.efficiencyOnProperMaterial = 12F;
}
@Override
public String getTextureName(int damage) {
return "techreborn:items/tool/steelJackhammer";
}
@Override
public int getMaxMeta() {
return 1;
}
@Override
public int getMaxMeta()
{
return 1;
}
}

View file

@ -1,9 +1,6 @@
package techreborn.items.tools;
import java.util.Set;
import com.google.common.collect.Sets;
import me.modmuss50.jsonDestroyer.api.IHandHeld;
import me.modmuss50.jsonDestroyer.api.ITexturedItem;
import net.minecraft.block.Block;
@ -20,48 +17,52 @@ import reborncore.RebornCore;
import techreborn.client.TechRebornCreativeTabMisc;
import techreborn.lib.ModInfo;
import net.minecraft.item.Item.ToolMaterial;
import java.util.Set;
public class ItemTRAxe extends ItemTool implements ITexturedItem , IHandHeld {
private ToolMaterial material = ToolMaterial.WOOD;
private ToolMaterial material = ToolMaterial.WOOD;
private static final Set<Block> EFFECTIVE_ON = Sets.newHashSet(new Block[] { Blocks.PLANKS, Blocks.BOOKSHELF,
Blocks.LOG, Blocks.LOG2, Blocks.CHEST, Blocks.PUMPKIN, Blocks.LIT_PUMPKIN, Blocks.MELON_BLOCK,
Blocks.LADDER, Blocks.WOODEN_BUTTON, Blocks.WOODEN_PRESSURE_PLATE });
private static final Set<Block> EFFECTIVE_ON = Sets.newHashSet(Blocks.PLANKS, Blocks.BOOKSHELF,
Blocks.LOG, Blocks.LOG2, Blocks.CHEST, Blocks.PUMPKIN, Blocks.LIT_PUMPKIN, Blocks.MELON_BLOCK,
Blocks.LADDER, Blocks.WOODEN_BUTTON, Blocks.WOODEN_PRESSURE_PLATE);
public ItemTRAxe(ToolMaterial material) {
super(material, EFFECTIVE_ON);
this.damageVsEntity = material.getDamageVsEntity() + 5.75F;
this.attackSpeed = (material.getDamageVsEntity() + 6.75F) * -0.344444F;
setUnlocalizedName(material.name().toLowerCase() + "Axe");
setCreativeTab(TechRebornCreativeTabMisc.instance);
RebornCore.jsonDestroyer.registerObject(this);
this.material = material;
}
public ItemTRAxe(ToolMaterial material) {
super(material, EFFECTIVE_ON);
this.damageVsEntity = material.getDamageVsEntity() + 5.75F;
this.attackSpeed = (material.getDamageVsEntity() + 6.75F) * -0.344444F;
setUnlocalizedName(material.name().toLowerCase() + "Axe");
setCreativeTab(TechRebornCreativeTabMisc.instance);
RebornCore.jsonDestroyer.registerObject(this);
this.material = material;
}
public float getStrVsBlock(ItemStack stack, IBlockState state) {
Material material = state.getMaterial();
return material != Material.WOOD && material != Material.PLANTS && material != Material.VINE
? super.getStrVsBlock(stack, state) : this.efficiencyOnProperMaterial;
}
public float getStrVsBlock(ItemStack stack, IBlockState state) {
Material material = state.getMaterial();
return material != Material.WOOD && material != Material.PLANTS && material != Material.VINE
? super.getStrVsBlock(stack, state) : this.efficiencyOnProperMaterial;
}
@Override
public String getTextureName(int damage) {
return "techreborn:items/tool/" + material.name().toLowerCase() + "_axe";
}
@Override
public String getTextureName(int damage) {
return "techreborn:items/tool/" + material.name().toLowerCase() + "_axe";
}
@Override
public int getMaxMeta() {
return 1;
}
@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");
}
@Override
@SideOnly(Side.CLIENT)
public boolean isFull3D() {
return true;
}
@Override
@SideOnly(Side.CLIENT)
public ModelResourceLocation getModel(ItemStack stack, EntityPlayer player, int useRemaining) {
return new ModelResourceLocation(ModInfo.MOD_ID + ":" + getUnlocalizedName(stack).substring(5), "inventory");
}
@SideOnly(Side.CLIENT)
public boolean isFull3D() {
return true;
}
}

View file

@ -13,40 +13,37 @@ import techreborn.client.TechRebornCreativeTabMisc;
import techreborn.lib.ModInfo;
import net.minecraft.item.Item.ToolMaterial;
public class ItemTRHoe extends ItemHoe implements ITexturedItem, IHandHeld
{
private ToolMaterial material = ToolMaterial.WOOD;
public ItemTRHoe(ToolMaterial material) {
super(material);
setUnlocalizedName(material.name().toLowerCase()+"Hoe");
setCreativeTab(TechRebornCreativeTabMisc.instance);
RebornCore.jsonDestroyer.registerObject(this);
this.material=material;
}
public class ItemTRHoe extends ItemHoe implements ITexturedItem, IHandHeld {
private ToolMaterial material = ToolMaterial.WOOD;
@Override
public String getTextureName(int damage)
{
return "techreborn:items/tool/"+material.name().toLowerCase()+"_hoe";
}
public ItemTRHoe(ToolMaterial material) {
super(material);
setUnlocalizedName(material.name().toLowerCase() + "Hoe");
setCreativeTab(TechRebornCreativeTabMisc.instance);
RebornCore.jsonDestroyer.registerObject(this);
this.material = material;
}
@Override
public int getMaxMeta()
{
return 1;
}
@Override
public String getTextureName(int damage) {
return "techreborn:items/tool/" + material.name().toLowerCase() + "_hoe";
}
@Override
@SideOnly(Side.CLIENT)
public ModelResourceLocation getModel(ItemStack stack, EntityPlayer player, int useRemaining)
{
return new ModelResourceLocation(ModInfo.MOD_ID + ":" + getUnlocalizedName(stack).substring(5), "inventory");
}
@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");
}
@SideOnly(Side.CLIENT)
@Override
public boolean isFull3D() {
return true;
}
@SideOnly(Side.CLIENT)
public boolean isFull3D()
{
return true;
}
}

View file

@ -13,40 +13,36 @@ import techreborn.client.TechRebornCreativeTabMisc;
import techreborn.lib.ModInfo;
import net.minecraft.item.Item.ToolMaterial;
public class ItemTRPickaxe extends ItemPickaxe implements ITexturedItem , IHandHeld
{
private ToolMaterial material = ToolMaterial.WOOD;
public ItemTRPickaxe(ToolMaterial material) {
super(material);
setUnlocalizedName(material.name().toLowerCase()+"Pickaxe");
setCreativeTab(TechRebornCreativeTabMisc.instance);
RebornCore.jsonDestroyer.registerObject(this);
this.material=material;
}
public class ItemTRPickaxe extends ItemPickaxe implements ITexturedItem , IHandHeld {
private ToolMaterial material = ToolMaterial.WOOD;
@Override
public String getTextureName(int damage)
{
return "techreborn:items/tool/"+material.name().toLowerCase()+"_pickaxe";
}
public ItemTRPickaxe(ToolMaterial material) {
super(material);
setUnlocalizedName(material.name().toLowerCase() + "Pickaxe");
setCreativeTab(TechRebornCreativeTabMisc.instance);
RebornCore.jsonDestroyer.registerObject(this);
this.material = material;
}
@Override
public int getMaxMeta()
{
return 1;
}
@Override
public String getTextureName(int damage) {
return "techreborn:items/tool/" + material.name().toLowerCase() + "_pickaxe";
}
@Override
@SideOnly(Side.CLIENT)
public ModelResourceLocation getModel(ItemStack stack, EntityPlayer player, int useRemaining)
{
return new ModelResourceLocation(ModInfo.MOD_ID + ":" + getUnlocalizedName(stack).substring(5), "inventory");
}
@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");
}
@SideOnly(Side.CLIENT)
public boolean isFull3D() {
return true;
}
@SideOnly(Side.CLIENT)
public boolean isFull3D()
{
return true;
}
}

View file

@ -13,40 +13,36 @@ import techreborn.client.TechRebornCreativeTabMisc;
import techreborn.lib.ModInfo;
import net.minecraft.item.Item.ToolMaterial;
public class ItemTRSpade extends ItemSpade implements ITexturedItem , IHandHeld
{
private ToolMaterial material = ToolMaterial.WOOD;
public ItemTRSpade(ToolMaterial material) {
super(material);
setUnlocalizedName(material.name().toLowerCase()+"Spade");
setCreativeTab(TechRebornCreativeTabMisc.instance);
RebornCore.jsonDestroyer.registerObject(this);
this.material=material;
}
public class ItemTRSpade extends ItemSpade implements ITexturedItem , IHandHeld {
private ToolMaterial material = ToolMaterial.WOOD;
@Override
public String getTextureName(int damage)
{
return "techreborn:items/tool/"+material.name().toLowerCase()+"_shovel";
}
public ItemTRSpade(ToolMaterial material) {
super(material);
setUnlocalizedName(material.name().toLowerCase() + "Spade");
setCreativeTab(TechRebornCreativeTabMisc.instance);
RebornCore.jsonDestroyer.registerObject(this);
this.material = material;
}
@Override
public int getMaxMeta()
{
return 1;
}
@Override
public String getTextureName(int damage) {
return "techreborn:items/tool/" + material.name().toLowerCase() + "_shovel";
}
@Override
@SideOnly(Side.CLIENT)
public ModelResourceLocation getModel(ItemStack stack, EntityPlayer player, int useRemaining)
{
return new ModelResourceLocation(ModInfo.MOD_ID + ":" + getUnlocalizedName(stack).substring(5), "inventory");
}
@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");
}
@SideOnly(Side.CLIENT)
public boolean isFull3D() {
return true;
}
@SideOnly(Side.CLIENT)
public boolean isFull3D()
{
return true;
}
}

View file

@ -13,40 +13,36 @@ import techreborn.client.TechRebornCreativeTabMisc;
import techreborn.lib.ModInfo;
import net.minecraft.item.Item.ToolMaterial;
public class ItemTRSword extends ItemSword implements ITexturedItem , IHandHeld
{
private ToolMaterial material = ToolMaterial.WOOD;
public ItemTRSword(ToolMaterial material) {
super(material);
setUnlocalizedName(material.name().toLowerCase()+"Sword");
setCreativeTab(TechRebornCreativeTabMisc.instance);
RebornCore.jsonDestroyer.registerObject(this);
this.material=material;
}
public class ItemTRSword extends ItemSword implements ITexturedItem , IHandHeld {
private ToolMaterial material = ToolMaterial.WOOD;
@Override
public String getTextureName(int damage)
{
return "techreborn:items/tool/"+material.name().toLowerCase()+"_sword";
}
public ItemTRSword(ToolMaterial material) {
super(material);
setUnlocalizedName(material.name().toLowerCase() + "Sword");
setCreativeTab(TechRebornCreativeTabMisc.instance);
RebornCore.jsonDestroyer.registerObject(this);
this.material = material;
}
@Override
public int getMaxMeta()
{
return 1;
}
@Override
public String getTextureName(int damage) {
return "techreborn:items/tool/" + material.name().toLowerCase() + "_sword";
}
@Override
@SideOnly(Side.CLIENT)
public ModelResourceLocation getModel(ItemStack stack, EntityPlayer player, int useRemaining)
{
return new ModelResourceLocation(ModInfo.MOD_ID + ":" + getUnlocalizedName(stack).substring(5), "inventory");
}
@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");
}
@SideOnly(Side.CLIENT)
public boolean isFull3D() {
return true;
}
@SideOnly(Side.CLIENT)
public boolean isFull3D()
{
return true;
}
}

View file

@ -16,40 +16,29 @@ import techreborn.client.GuiHandler;
import techreborn.client.TechRebornCreativeTab;
import techreborn.items.ItemTextureBase;
public class ItemTechManual extends ItemTextureBase implements ITexturedItem
{
public class ItemTechManual extends ItemTextureBase implements ITexturedItem {
public ItemTechManual()
{
setCreativeTab(TechRebornCreativeTab.instance);
setUnlocalizedName("techreborn.manual");
setMaxStackSize(1);
}
public ItemTechManual() {
setCreativeTab(TechRebornCreativeTab.instance);
setUnlocalizedName("techreborn.manual");
setMaxStackSize(1);
}
@Override
public ActionResult<ItemStack> onItemRightClick(ItemStack itemStackIn, World world, EntityPlayer player,
EnumHand hand)
{
player.openGui(Core.INSTANCE, GuiHandler.manuelID, world, (int) player.posX, (int) player.posY,
(int) player.posY);
return new ActionResult<>(EnumActionResult.SUCCESS, itemStackIn);
}
@Override
public ActionResult<ItemStack> onItemRightClick(ItemStack itemStackIn, World world, EntityPlayer player,
EnumHand hand) {
player.openGui(Core.INSTANCE, GuiHandler.manuelID, world, (int) player.posX, (int) player.posY, (int) player.posY);
return new ActionResult<>(EnumActionResult.SUCCESS, itemStackIn);
}
@Override
public int getMaxMeta()
{
return 1;
}
@Override
public int getMaxMeta() {
return 1;
}
@Override
public String getTextureName(int damage) {
return "techreborn:items/tool/manual";
}
@Override
public String getTextureName(int damage)
{
return "techreborn:items/tool/manual";
}
@Override
public void addInformation(ItemStack stack, EntityPlayer playerIn, List<String> tooltip, boolean advanced)
{
tooltip.add(TextFormatting.RED + I18n.translateToLocal("tooltip.wip"));
}
}

View file

@ -11,40 +11,41 @@ import reborncore.RebornCore;
import techreborn.client.TechRebornCreativeTab;
import techreborn.lib.ModInfo;
public class ItemTreeTap extends Item implements ITexturedItem
{
public class ItemTreeTap extends Item implements ITexturedItem {
public ItemTreeTap()
{
setMaxStackSize(1);
setMaxDamage(20);
setUnlocalizedName("techreborn.treetap");
RebornCore.jsonDestroyer.registerObject(this);
setCreativeTab(TechRebornCreativeTab.instance);
}
public ItemTreeTap() {
setMaxStackSize(1);
setMaxDamage(20);
setUnlocalizedName("techreborn.treetap");
RebornCore.jsonDestroyer.registerObject(this);
setCreativeTab(TechRebornCreativeTab.instance);
}
@Override
public boolean showDurabilityBar(ItemStack stack)
{
return stack.getMetadata() != 0;
}
@Override
public boolean showDurabilityBar(ItemStack stack) {
return stack.getMetadata() != 0;
}
@Override
public String getTextureName(int damage)
{
return "techreborn:items/tool/treetap";
}
@Override
public String getTextureName(int damage) {
return "techreborn:items/tool/treetap";
}
@Override
public int getMaxMeta()
{
return 1;
}
@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");
}
@Override
@SideOnly(Side.CLIENT)
public boolean isFull3D() {
return true;
}
@Override
@SideOnly(Side.CLIENT)
public ModelResourceLocation getModel(ItemStack stack, EntityPlayer player, int useRemaining)
{
return new ModelResourceLocation(ModInfo.MOD_ID + ":" + getUnlocalizedName(stack).substring(5), "inventory");
}
}

View file

@ -37,159 +37,135 @@ import java.util.Random;
/**
* Created by modmuss50 on 26/02/2016.
*/
public class ItemWrench extends ItemTR implements ITexturedItem
{
public class ItemWrench extends ItemTR implements ITexturedItem {
public ItemWrench()
{
setCreativeTab(TechRebornCreativeTabMisc.instance);
setUnlocalizedName("techreborn.wrench");
setMaxStackSize(1);
}
public ItemWrench() {
setCreativeTab(TechRebornCreativeTabMisc.instance);
setUnlocalizedName("techreborn.wrench");
setMaxStackSize(1);
}
@Override public EnumActionResult onItemUseFirst(ItemStack stack, EntityPlayer player, World world, BlockPos pos,
EnumFacing side, float hitX, float hitY, float hitZ, EnumHand hand)
{
if (world.isAirBlock(pos))
{
return EnumActionResult.FAIL;
}
TileEntity tile = world.getTileEntity(pos);
if (tile == null)
{
return EnumActionResult.FAIL;
}
@Override
public EnumActionResult onItemUseFirst(ItemStack stack, EntityPlayer player, World world, BlockPos pos, EnumFacing side, float hitX, float hitY, float hitZ, EnumHand hand) {
if (world.isAirBlock(pos)) {
return EnumActionResult.FAIL;
}
TileEntity tile = world.getTileEntity(pos);
if (tile == null) {
return EnumActionResult.FAIL;
}
if (!player.isSneaking() && !player.worldObj.isRemote)
{
if (tile instanceof TileMachineBase)
{
if (side != EnumFacing.DOWN && side != EnumFacing.UP)
{
((TileMachineBase) tile).setFacing(side);
return EnumActionResult.SUCCESS;
}
}
}
return super.onItemUseFirst(stack, player, world, pos, side, hitX, hitY, hitZ, hand);
}
if (!player.isSneaking() && !player.worldObj.isRemote) {
if (tile instanceof TileMachineBase) {
if (side != EnumFacing.DOWN && side != EnumFacing.UP) {
((TileMachineBase) tile).setFacing(side);
return EnumActionResult.SUCCESS;
}
}
}
return super.onItemUseFirst(stack, player, world, pos, side, hitX, hitY, hitZ, hand);
}
@Override public EnumActionResult onItemUse(ItemStack stack, EntityPlayer player, World world, BlockPos pos,
EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ)
{
@Override
public EnumActionResult onItemUse(ItemStack stack, EntityPlayer player, World world, BlockPos pos,
EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) {
if (world.isAirBlock(pos))
{
return EnumActionResult.FAIL;
}
TileEntity tile = world.getTileEntity(pos);
if (tile == null)
{
return EnumActionResult.FAIL;
}
if (!world.isRemote)
{
if (player.isSneaking())
{
List<ItemStack> items = new ArrayList<>();
if (tile instanceof IInventory)
{
IInventory inventory = (IInventory) tile;
for (int i = 0; i < inventory.getSizeInventory(); i++)
{
ItemStack itemStack = inventory.getStackInSlot(i);
if (world.isAirBlock(pos)) {
return EnumActionResult.FAIL;
}
TileEntity tile = world.getTileEntity(pos);
if (tile == null) {
return EnumActionResult.FAIL;
}
if (!world.isRemote) {
if (player.isSneaking()) {
List<ItemStack> items = new ArrayList<>();
if (tile instanceof IInventory) {
IInventory inventory = (IInventory) tile;
for (int i = 0; i < inventory.getSizeInventory(); i++) {
ItemStack itemStack = inventory.getStackInSlot(i);
if (itemStack != null)
{
if (itemStack.stackSize > 0)
{
if (itemStack.getItem() instanceof ItemBlock)
if (itemStack != null) {
if (itemStack.stackSize > 0) {
if (itemStack.getItem() instanceof ItemBlock)
if (!(((ItemBlock) itemStack.getItem()).block instanceof BlockFluidBase) || !(((ItemBlock) itemStack.getItem()).block instanceof BlockStaticLiquid)
|| !(((ItemBlock) itemStack.getItem()).block instanceof BlockDynamicLiquid))
{
items.add(itemStack.copy());
}
}
}
}
if (tile instanceof IWrenchable)
{
if (((IWrenchable) tile).wrenchCanRemove(player))
{
ItemStack itemStack = ((IWrenchable) tile).getWrenchDrop(player);
if (itemStack == null)
{
return EnumActionResult.FAIL;
}
items.add(itemStack);
}
if (!items.isEmpty())
{
for (ItemStack itemStack : items)
{
if (!(((ItemBlock) itemStack.getItem()).block instanceof BlockFluidBase) || !(((ItemBlock) itemStack.getItem()).block instanceof BlockStaticLiquid)
|| !(((ItemBlock) itemStack.getItem()).block instanceof BlockDynamicLiquid)) {
items.add(itemStack.copy());
}
}
}
}
if (tile instanceof IWrenchable) {
if (((IWrenchable) tile).wrenchCanRemove(player)) {
ItemStack itemStack = ((IWrenchable) tile).getWrenchDrop(player);
if (itemStack == null) {
return EnumActionResult.FAIL;
}
items.add(itemStack);
}
if (!items.isEmpty()) {
for (ItemStack itemStack : items) {
Random rand = new Random();
Random rand = new Random();
float dX = rand.nextFloat() * 0.8F + 0.1F;
float dY = rand.nextFloat() * 0.8F + 0.1F;
float dZ = rand.nextFloat() * 0.8F + 0.1F;
float dX = rand.nextFloat() * 0.8F + 0.1F;
float dY = rand.nextFloat() * 0.8F + 0.1F;
float dZ = rand.nextFloat() * 0.8F + 0.1F;
EntityItem entityItem = new EntityItem(world, pos.getX() + dX, pos.getY() + dY,
pos.getZ() + dZ, itemStack.copy());
EntityItem entityItem = new EntityItem(world, pos.getX() + dX, pos.getY() + dY,
pos.getZ() + dZ, itemStack.copy());
if (itemStack.hasTagCompound())
{
entityItem.getEntityItem()
.setTagCompound((NBTTagCompound) itemStack.getTagCompound().copy());
}
if (itemStack.hasTagCompound()) {
entityItem.getEntityItem()
.setTagCompound((NBTTagCompound) itemStack.getTagCompound().copy());
}
float factor = 0.05F;
entityItem.motionX = rand.nextGaussian() * factor;
entityItem.motionY = rand.nextGaussian() * factor + 0.2F;
entityItem.motionZ = rand.nextGaussian() * factor;
if (!world.isRemote)
{
world.spawnEntityInWorld(entityItem);
}
}
}
world.playSound(null, player.posX, player.posY,
player.posZ, ModSounds.dismantle,
SoundCategory.BLOCKS, 0.6F, 1F);
if (!world.isRemote)
{
world.setBlockState(pos, Blocks.AIR.getDefaultState(), 2);
}
return EnumActionResult.SUCCESS;
}
float factor = 0.05F;
entityItem.motionX = rand.nextGaussian() * factor;
entityItem.motionY = rand.nextGaussian() * factor + 0.2F;
entityItem.motionZ = rand.nextGaussian() * factor;
if (!world.isRemote) {
world.spawnEntityInWorld(entityItem);
}
}
}
world.playSound(null, player.posX, player.posY,
player.posZ, ModSounds.dismantle,
SoundCategory.BLOCKS, 0.6F, 1F);
if (!world.isRemote) {
world.setBlockState(pos, Blocks.AIR.getDefaultState(), 2);
}
return EnumActionResult.SUCCESS;
}
}
}
return EnumActionResult.FAIL;
}else{
return EnumActionResult.FAIL;
}
}
}
}
return EnumActionResult.FAIL;
} else {
return EnumActionResult.FAIL;
}
}
@Override public String getTextureName(int damage)
{
return "techreborn:items/tool/wrench";
}
@Override
public String getTextureName(int damage) {
return "techreborn:items/tool/wrench";
}
@Override public int getMaxMeta()
{
return 1;
}
@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");
}
@Override
@SideOnly(Side.CLIENT)
public ModelResourceLocation getModel(ItemStack stack, EntityPlayer player, int useRemaining) {
return new ModelResourceLocation(ModInfo.MOD_ID + ":" + getUnlocalizedName(stack).substring(5), "inventory");
}
@SideOnly(Side.CLIENT)
public boolean isFull3D() {
return true;
}
@SideOnly(Side.CLIENT) public boolean isFull3D()
{
return true;
}
}