From 9e5f223a4273956f7423f584707d6774a14a4888 Mon Sep 17 00:00:00 2001 From: TheDoctorSoda Date: Sun, 28 Feb 2016 11:18:59 -0800 Subject: [PATCH] Added jackhammers --- README.md | 6 +- .../techreborn/config/ConfigTechReborn.java | 27 +++ src/main/java/techreborn/init/ModItems.java | 10 + .../items/tools/ItemAdvancedChainsaw.java | 1 + .../items/tools/ItemAdvancedDrill.java | 1 + .../techreborn/items/tools/ItemChainsaw.java | 181 +++++++++--------- .../items/tools/ItemDiamondChainsaw.java | 1 + .../items/tools/ItemDiamondDrill.java | 1 + .../items/tools/ItemDiamondJackhammer.java | 22 +++ .../items/tools/ItemIronChainsaw.java | 3 +- .../techreborn/items/tools/ItemIronDrill.java | 1 + .../items/tools/ItemIronJackhammer.java | 22 +++ .../items/tools/ItemJackhammer.java | 151 +++++++++++++++ .../items/tools/ItemSteelJackhammer.java | 22 +++ .../java/techreborn/utils/OreDictUtils.java | 5 +- .../assets/techreborn/lang/en_US.lang | 3 + .../textures/items/tool/diamondJackHammer.png | Bin 177 -> 389 bytes .../textures/items/tool/electricTreetap.png | Bin 0 -> 327 bytes .../textures/items/tool/ironJackhammer.png | Bin 0 -> 395 bytes .../textures/items/tool/jackHammer.png | Bin 172 -> 0 bytes .../textures/items/tool/steelJackhammer.png | Bin 0 -> 389 bytes 21 files changed, 359 insertions(+), 98 deletions(-) create mode 100644 src/main/java/techreborn/items/tools/ItemDiamondJackhammer.java create mode 100644 src/main/java/techreborn/items/tools/ItemIronJackhammer.java create mode 100644 src/main/java/techreborn/items/tools/ItemJackhammer.java create mode 100644 src/main/java/techreborn/items/tools/ItemSteelJackhammer.java create mode 100644 src/main/resources/assets/techreborn/textures/items/tool/electricTreetap.png create mode 100644 src/main/resources/assets/techreborn/textures/items/tool/ironJackhammer.png delete mode 100644 src/main/resources/assets/techreborn/textures/items/tool/jackHammer.png create mode 100644 src/main/resources/assets/techreborn/textures/items/tool/steelJackhammer.png diff --git a/README.md b/README.md index a8664d148..c13af7df1 100644 --- a/README.md +++ b/README.md @@ -10,9 +10,9 @@ The current main maintainer is [@gigabit101](https://github.com/gigabit101/) if [@modmuss50](https://github.com/modmuss50/) is a past maintainer of the mod (see [here](http://techreborn.ninja/?p=20)). -# Reccommended Builds: +# Recommended Builds: -See [this list](http://minecraft.curseforge.com/projects/techreborn/files?sort=releasetype). The top one should always be the latest, reccommended build of TechReborn. Currently TechReborn does not have a reccommended 1.8.9 build. +See [this list](http://minecraft.curseforge.com/projects/techreborn/files?sort=releasetype). The top one should always be the latest, recommended build of TechReborn. Currently TechReborn does not have a recommended 1.8.9 build. # Jenkins Builds: @@ -21,7 +21,7 @@ Jenkins builds of TechReborn are compiled directly from this repository. Please 1.8.9: --- -*This version is constantly recieving updates, and does not have a stable, reccommended, release. Once again, remember to backup your worlds before using jenkins builds.* +*This version is constantly recieving updates, and does not have a stable, recommended, release. Once again, remember to backup your worlds before using jenkins builds.* [![Build Status](http://modmuss50.me:8080/job/TechReborn-1.8.9/badge/icon)](http://modmuss50.me:8080/job/TechReborn-1.8.9/) diff --git a/src/main/java/techreborn/config/ConfigTechReborn.java b/src/main/java/techreborn/config/ConfigTechReborn.java index bf9f8bf6e..400585557 100644 --- a/src/main/java/techreborn/config/ConfigTechReborn.java +++ b/src/main/java/techreborn/config/ConfigTechReborn.java @@ -99,6 +99,9 @@ public class ConfigTechReborn { public static int IronChainsawCharge; public static int DiamondChainsawCharge; public static int AdvancedChainsawCharge; + public static int IronJackhammerCharge; + public static int DiamondJackhammerCharge; + public static int SteelJackhammerCharge; public static int LapotronPackCharge; public static int LithiumBatpackCharge; public static int LapotronicOrbMaxCharge; @@ -114,6 +117,9 @@ public class ConfigTechReborn { public static int IronChainsawTier; public static int DiamondChainsawTier; public static int AdvancedChainsawTier; + public static int IronJackhammerTier; + public static int DiamondJackhammerTier; + public static int SteelJackhammerTier; public static int LapotronPackTier; public static int LapotronicOrbTier; public static int LithiumBatpackTier; @@ -408,6 +414,18 @@ public class ConfigTechReborn { .get(CATEGORY_POWER, "AdvancedChainsaw MaxCharge", 1000000, "Set the max charge for the advanced chainsaw") .getInt(); + IronJackhammerCharge = config + .get(CATEGORY_POWER, "IronJackhammer MaxCharge", 10000, "Set the max charge for the iron jackhammer") + .getInt(); + + SteelJackhammerCharge = config + .get(CATEGORY_POWER, "AdvancedJackhammer MaxCharge", 20000, "Set the max charge for the advanced jackhammer") + .getInt(); + + DiamondJackhammerCharge = config + .get(CATEGORY_POWER, "DiamondJackhammer MaxCharge", 100000, "Set the max charge for the diamond jackhammer") + .getInt(); + LapotronPackCharge = config .get(CATEGORY_POWER, "LapotronPack MaxCharge", 100000000, "Set the max charge for the LapotronPack") .getInt(); @@ -468,6 +486,15 @@ public class ConfigTechReborn { AdvancedChainsawTier = config.get(CATEGORY_POWER, "AdvancedChainsaw Tier", 2, "Set the Tier of the advanced chainsaw") .getInt(); + IronJackhammerTier = config.get(CATEGORY_POWER, "IronJackhammer Tier", 2, "Set the Tier of the iron jackhammer") + .getInt(); + + DiamondJackhammerTier = config.get(CATEGORY_POWER, "DiamondJackhammer Tier", 2, "Set the Tier of the diamond jackhammer") + .getInt(); + + SteelJackhammerTier = config.get(CATEGORY_POWER, "AdvancedJackhammer Tier", 2, "Set the Tier of the advanced jackhammer") + .getInt(); + LapotronPackTier = config.get(CATEGORY_POWER, "LapotronPack Tier", 2, "Set the Tier of the LapotronPack") .getInt(); diff --git a/src/main/java/techreborn/init/ModItems.java b/src/main/java/techreborn/init/ModItems.java index c82da9f02..e2124532f 100644 --- a/src/main/java/techreborn/init/ModItems.java +++ b/src/main/java/techreborn/init/ModItems.java @@ -79,6 +79,9 @@ public class ModItems { public static Item ironChainsaw; public static Item diamondChainsaw; public static Item advancedChainsaw; + public static Item ironJackhammer; + public static Item steelJackhammer; + public static Item diamondJackhammer; public static Item hammer; public static Item wrench; public static Item cables; @@ -149,6 +152,13 @@ public class ModItems { GameRegistry.registerItem(diamondChainsaw, "diamondchainsaw"); advancedChainsaw = PoweredItem.createItem(ItemAdvancedChainsaw.class); GameRegistry.registerItem(advancedChainsaw, "advancedchainsaw"); + + ironJackhammer = PoweredItem.createItem(ItemIronJackhammer.class); + GameRegistry.registerItem(ironJackhammer, "ironjackhammer"); + steelJackhammer = PoweredItem.createItem(ItemSteelJackhammer.class); + GameRegistry.registerItem(steelJackhammer, "steeljackhammer"); + diamondJackhammer = PoweredItem.createItem(ItemDiamondJackhammer.class); + GameRegistry.registerItem(diamondJackhammer, "diamondjackhammer"); hammer = new ItemHammer(100); GameRegistry.registerItem(hammer, "hammer"); diff --git a/src/main/java/techreborn/items/tools/ItemAdvancedChainsaw.java b/src/main/java/techreborn/items/tools/ItemAdvancedChainsaw.java index 6b17a6a29..86d72ad92 100644 --- a/src/main/java/techreborn/items/tools/ItemAdvancedChainsaw.java +++ b/src/main/java/techreborn/items/tools/ItemAdvancedChainsaw.java @@ -9,6 +9,7 @@ public class ItemAdvancedChainsaw extends ItemChainsaw { public ItemAdvancedChainsaw() { super(ToolMaterial.EMERALD, "techreborn.advancedChainsaw", ConfigTechReborn.AdvancedChainsawCharge, ConfigTechReborn.AdvancedDrillTier, 4.0F); + this.cost = 250; } @Override diff --git a/src/main/java/techreborn/items/tools/ItemAdvancedDrill.java b/src/main/java/techreborn/items/tools/ItemAdvancedDrill.java index c66ffc6d3..e8b2aa278 100644 --- a/src/main/java/techreborn/items/tools/ItemAdvancedDrill.java +++ b/src/main/java/techreborn/items/tools/ItemAdvancedDrill.java @@ -9,6 +9,7 @@ public class ItemAdvancedDrill extends ItemDrill { public ItemAdvancedDrill() { super(ToolMaterial.EMERALD, "techreborn.advancedDrill", ConfigTechReborn.AdvancedDrillCharge, ConfigTechReborn.AdvancedDrillTier, 4.0F); + this.cost = 250; } @Override diff --git a/src/main/java/techreborn/items/tools/ItemChainsaw.java b/src/main/java/techreborn/items/tools/ItemChainsaw.java index 1e0aafa54..358309fb8 100644 --- a/src/main/java/techreborn/items/tools/ItemChainsaw.java +++ b/src/main/java/techreborn/items/tools/ItemChainsaw.java @@ -30,122 +30,121 @@ import techreborn.utils.OreDictUtils; public class ItemChainsaw extends ItemAxe implements IEnergyItemInfo, ITexturedItem { - public int maxCharge = 1; - public int cost = 250; - public float unpoweredSpeed = 2.0F; - public static int tier = 1; - public double transferLimit = 100; + public int maxCharge = 1; + public int cost = 250; + public float unpoweredSpeed = 2.0F; + public static int tier = 1; + public double transferLimit = 100; - public ItemChainsaw(ToolMaterial material, String unlocalizedName, int energyCapacity, int tier, float unpoweredSpeed) { - super(material); - efficiencyOnProperMaterial = 20F; - setCreativeTab(TechRebornCreativeTab.instance); - setMaxStackSize(1); - setMaxDamage(240); - setUnlocalizedName(unlocalizedName); - RebornCore.jsonDestroyer.registerObject(this); - this.maxCharge=energyCapacity; - this.tier=tier; - this.unpoweredSpeed=unpoweredSpeed; - } + public ItemChainsaw(ToolMaterial material, String unlocalizedName, int energyCapacity, int tier, float unpoweredSpeed) { + super(material); + efficiencyOnProperMaterial = 20F; + setCreativeTab(TechRebornCreativeTab.instance); + setMaxStackSize(1); + setMaxDamage(240); + setUnlocalizedName(unlocalizedName); + RebornCore.jsonDestroyer.registerObject(this); + this.maxCharge = energyCapacity; + this.tier = tier; + this.unpoweredSpeed = unpoweredSpeed; + } @Override public boolean onBlockDestroyed(ItemStack stack, World worldIn, Block blockIn, BlockPos pos, EntityLivingBase playerIn) { Random rand = new Random(); - if (rand.nextInt(EnchantmentHelper.getEnchantmentLevel(Enchantment.unbreaking.effectId, stack)+1) == 0) { + if (rand.nextInt(EnchantmentHelper.getEnchantmentLevel(Enchantment.unbreaking.effectId, stack) + 1) == 0) { PoweredItem.useEnergy(cost, stack); } return true; } - @Override - public float getDigSpeed(ItemStack stack, IBlockState state) { - if(OreDictUtils.isOre(state, "treeLeaves")&&PoweredItem.canUseEnergy(cost, stack)){ - return 40F; - } - if(!PoweredItem.canUseEnergy(cost, stack)){ - return unpoweredSpeed; - } - if (Items.wooden_axe.getDigSpeed(stack, state) > 1.0F) { - return efficiencyOnProperMaterial; - } else { - return super.getDigSpeed(stack, state); - } - } + @Override + public float getDigSpeed(ItemStack stack, IBlockState state) { + if (!PoweredItem.canUseEnergy(cost, stack)) { + return unpoweredSpeed; + } - @Override - public boolean hitEntity(ItemStack itemstack, EntityLivingBase entityliving, EntityLivingBase entityliving1) { - return true; - } + if (OreDictUtils.isOre(state, "treeLeaves") && PoweredItem.canUseEnergy(cost, stack)) { + return 40F; + } + if (Items.wooden_axe.getDigSpeed(stack, state) > 1.0F) { + return efficiencyOnProperMaterial; + } else { + return super.getDigSpeed(stack, state); + } + } - @Override - public boolean onItemUse(ItemStack stack, EntityPlayer playerIn, World worldIn, BlockPos pos, EnumFacing side, float hitX, float hitY, float hitZ) { - return TorchHelper.placeTorch(stack, playerIn, worldIn, pos.getX(), pos.getY(), pos.getZ(), side.getIndex(), hitX, hitY, hitZ); - } + @Override + public boolean hitEntity(ItemStack itemstack, EntityLivingBase entityliving, EntityLivingBase entityliving1) { + return true; + } - @Override - public boolean isRepairable() { - return false; - } + @Override + public boolean onItemUse(ItemStack stack, EntityPlayer playerIn, World worldIn, BlockPos pos, EnumFacing side, float hitX, float hitY, float hitZ) { + return TorchHelper.placeTorch(stack, playerIn, worldIn, pos.getX(), pos.getY(), pos.getZ(), side.getIndex(), hitX, hitY, hitZ); + } + @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 getStackTeir(ItemStack stack) { - return tier; - } + @Override + public int getStackTeir(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); + PoweredItem.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 = (PoweredItem.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/nullChainsaw"; - } + @Override + public String getTextureName(int damage) { + return "techreborn:items/tool/nullChainsaw"; + } - @Override - public int getMaxMeta() { - return 1; - } + @Override + public int getMaxMeta() { + return 1; + } } diff --git a/src/main/java/techreborn/items/tools/ItemDiamondChainsaw.java b/src/main/java/techreborn/items/tools/ItemDiamondChainsaw.java index 46050db93..3d76cad5c 100644 --- a/src/main/java/techreborn/items/tools/ItemDiamondChainsaw.java +++ b/src/main/java/techreborn/items/tools/ItemDiamondChainsaw.java @@ -9,6 +9,7 @@ public class ItemDiamondChainsaw extends ItemChainsaw { public ItemDiamondChainsaw() { super(ToolMaterial.EMERALD, "techreborn.diamondChainsaw", ConfigTechReborn.DiamondChainsawCharge, ConfigTechReborn.DiamondChainsawTier, 2.5F); + this.cost = 250; } @Override diff --git a/src/main/java/techreborn/items/tools/ItemDiamondDrill.java b/src/main/java/techreborn/items/tools/ItemDiamondDrill.java index 8f174512e..1205278ee 100644 --- a/src/main/java/techreborn/items/tools/ItemDiamondDrill.java +++ b/src/main/java/techreborn/items/tools/ItemDiamondDrill.java @@ -9,6 +9,7 @@ public class ItemDiamondDrill extends ItemDrill { public ItemDiamondDrill() { super(ToolMaterial.EMERALD, "techreborn.diamondDrill", ConfigTechReborn.DiamondDrillCharge, ConfigTechReborn.DiamondDrillTier, 2.5F); + this.cost = 250; } @Override diff --git a/src/main/java/techreborn/items/tools/ItemDiamondJackhammer.java b/src/main/java/techreborn/items/tools/ItemDiamondJackhammer.java new file mode 100644 index 000000000..9348f373d --- /dev/null +++ b/src/main/java/techreborn/items/tools/ItemDiamondJackhammer.java @@ -0,0 +1,22 @@ +package techreborn.items.tools; + +import techreborn.config.ConfigTechReborn; + +public class ItemDiamondJackhammer extends ItemJackhammer { + + public ItemDiamondJackhammer() { + super(ToolMaterial.EMERALD, "techreborn.diamondJackhammer", ConfigTechReborn.DiamondJackhammerCharge, ConfigTechReborn.DiamondJackhammerTier); + this.cost = 250; + this.efficiencyOnProperMaterial = 60F; + } + + @Override + public String getTextureName(int damage) { + return "techreborn:items/tool/diamondJackhammer"; + } + + @Override + public int getMaxMeta() { + return 1; + } +} diff --git a/src/main/java/techreborn/items/tools/ItemIronChainsaw.java b/src/main/java/techreborn/items/tools/ItemIronChainsaw.java index b2b5e3fa8..011d53b78 100644 --- a/src/main/java/techreborn/items/tools/ItemIronChainsaw.java +++ b/src/main/java/techreborn/items/tools/ItemIronChainsaw.java @@ -9,7 +9,8 @@ public class ItemIronChainsaw extends ItemChainsaw { public ItemIronChainsaw() { super(ToolMaterial.IRON, "techreborn.ironChainsaw", ConfigTechReborn.IronChainsawCharge, ConfigTechReborn.IronChainsawTier, 2.0F); - } + this.cost = 50; + } @Override public boolean canHarvestBlock(Block block, ItemStack stack) { diff --git a/src/main/java/techreborn/items/tools/ItemIronDrill.java b/src/main/java/techreborn/items/tools/ItemIronDrill.java index 9a8bb2cb6..9c1e0735a 100644 --- a/src/main/java/techreborn/items/tools/ItemIronDrill.java +++ b/src/main/java/techreborn/items/tools/ItemIronDrill.java @@ -9,6 +9,7 @@ public class ItemIronDrill extends ItemDrill { public ItemIronDrill() { super(ToolMaterial.IRON, "techreborn.ironDrill", ConfigTechReborn.IronDrillCharge, ConfigTechReborn.IronDrillTier, 2.0F); + this.cost = 50; } @Override diff --git a/src/main/java/techreborn/items/tools/ItemIronJackhammer.java b/src/main/java/techreborn/items/tools/ItemIronJackhammer.java new file mode 100644 index 000000000..1fa798082 --- /dev/null +++ b/src/main/java/techreborn/items/tools/ItemIronJackhammer.java @@ -0,0 +1,22 @@ +package techreborn.items.tools; + +import techreborn.config.ConfigTechReborn; + +public class ItemIronJackhammer extends ItemJackhammer { + + public ItemIronJackhammer() { + super(ToolMaterial.IRON, "techreborn.ironJackhammer", ConfigTechReborn.IronJackhammerCharge, ConfigTechReborn.IronJackhammerTier); + this.cost = 50; + this.efficiencyOnProperMaterial = 12F; + } + + @Override + public String getTextureName(int damage) { + return "techreborn:items/tool/ironJackhammer"; + } + + @Override + public int getMaxMeta() { + return 1; + } +} diff --git a/src/main/java/techreborn/items/tools/ItemJackhammer.java b/src/main/java/techreborn/items/tools/ItemJackhammer.java new file mode 100644 index 000000000..78fde5578 --- /dev/null +++ b/src/main/java/techreborn/items/tools/ItemJackhammer.java @@ -0,0 +1,151 @@ +package techreborn.items.tools; + +import java.util.List; +import java.util.Random; + +import me.modmuss50.jsonDestroyer.api.ITexturedItem; +import net.minecraft.block.Block; +import net.minecraft.block.state.IBlockState; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.enchantment.Enchantment; +import net.minecraft.enchantment.EnchantmentHelper; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.Item; +import net.minecraft.item.ItemPickaxe; +import net.minecraft.item.ItemStack; +import net.minecraft.util.BlockPos; +import net.minecraft.util.EnumFacing; +import net.minecraft.world.World; +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.utils.OreDictUtils; + +public class ItemJackhammer extends ItemPickaxe implements IEnergyItemInfo, ITexturedItem { + + public int maxCharge = 1; + public int cost = 250; + public static int tier = 1; + 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; + } + + @Override + public boolean onBlockDestroyed(ItemStack stack, World worldIn, Block blockIn, BlockPos pos, EntityLivingBase playerIn) { + Random rand = new Random(); + if (rand.nextInt(EnchantmentHelper.getEnchantmentLevel(Enchantment.unbreaking.effectId, stack) + 1) == 0) { + PoweredItem.useEnergy(cost, stack); + } + return true; + } + + @Override + public boolean canHarvestBlock(Block block, ItemStack stack) { + if (OreDictUtils.isOre(block, "stone") && PoweredItem.canUseEnergy(cost, stack)) { + return true; + } + return false; + } + + @Override + public float getDigSpeed(ItemStack stack, IBlockState state) { + if (OreDictUtils.isOre(state, "stone") && PoweredItem.canUseEnergy(cost, stack)) { + return efficiencyOnProperMaterial; + } else { + return 0.5F; + } + } + + @Override + public boolean hitEntity(ItemStack itemstack, EntityLivingBase entityliving, EntityLivingBase entityliving1) { + return true; + } + + @Override + public boolean onItemUse(ItemStack stack, EntityPlayer playerIn, World worldIn, BlockPos pos, EnumFacing side, float hitX, float hitY, float hitZ) { + return TorchHelper.placeTorch(stack, playerIn, worldIn, pos.getX(), pos.getY(), pos.getZ(), side.getIndex(), hitX, hitY, hitZ); + } + + @Override + public boolean isRepairable() { + return false; + } + + @Override + public double getMaxPower(ItemStack stack) { + return maxCharge; + } + + @Override + public boolean canAcceptEnergy(ItemStack stack) { + return true; + } + + @Override + public boolean canProvideEnergy(ItemStack stack) { + return false; + } + + @Override + public double getMaxTransfer(ItemStack stack) { + return transferLimit; + } + + @Override + public int getStackTeir(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); + + ItemStack charged = new ItemStack(this, 1); + PoweredItem.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 boolean showDurabilityBar(ItemStack stack) { + return true; + } + + @Override + public String getTextureName(int damage) { + return "techreborn:items/tool/nullJackhammer"; + } + + @Override + public int getMaxMeta() { + return 1; + } +} diff --git a/src/main/java/techreborn/items/tools/ItemSteelJackhammer.java b/src/main/java/techreborn/items/tools/ItemSteelJackhammer.java new file mode 100644 index 000000000..c886f01c6 --- /dev/null +++ b/src/main/java/techreborn/items/tools/ItemSteelJackhammer.java @@ -0,0 +1,22 @@ +package techreborn.items.tools; + +import techreborn.config.ConfigTechReborn; + +public class ItemSteelJackhammer extends ItemJackhammer { + + public ItemSteelJackhammer() { + super(ToolMaterial.EMERALD, "techreborn.steelJackhammer", ConfigTechReborn.SteelJackhammerCharge, ConfigTechReborn.SteelJackhammerTier); + this.cost = 100; + this.efficiencyOnProperMaterial = 16F; + } + + @Override + public String getTextureName(int damage) { + return "techreborn:items/tool/steelJackhammer"; + } + + @Override + public int getMaxMeta() { + return 1; + } +} diff --git a/src/main/java/techreborn/utils/OreDictUtils.java b/src/main/java/techreborn/utils/OreDictUtils.java index 231bf9a92..3e81a502d 100644 --- a/src/main/java/techreborn/utils/OreDictUtils.java +++ b/src/main/java/techreborn/utils/OreDictUtils.java @@ -23,9 +23,8 @@ public class OreDictUtils { } public static boolean isOre(ItemStack stack, String oreName) { - int id = OreDictionary.getOreID(oreName); - - if (stack != null || stack.getItem() != null) { + if (stack != null && stack.getItem() != null && oreName != null) { + int id = OreDictionary.getOreID(oreName); int[] ids = OreDictionary.getOreIDs(stack); for (int i : ids) { diff --git a/src/main/resources/assets/techreborn/lang/en_US.lang b/src/main/resources/assets/techreborn/lang/en_US.lang index 92401c57c..2371c21d0 100644 --- a/src/main/resources/assets/techreborn/lang/en_US.lang +++ b/src/main/resources/assets/techreborn/lang/en_US.lang @@ -610,6 +610,9 @@ item.techreborn.advancedChainsaw.name=Advanced Chainsaw item.techreborn.lapotronicorb.name=Lapotronic Energy Orb item.techreborn.cloakingdevice.name=Cloaking Device item.techreborn.hammer.name=Iron Hammer +item.techreborn.ironJackhammer.name=Iron Jackhammer +item.techreborn.steelJackhammer.name=Steel Jackhammer +item.techreborn.diamondJackhammer.name=Diamond Jackhammer #Buckets item.bucketberylium.name=Berylium Bucket diff --git a/src/main/resources/assets/techreborn/textures/items/tool/diamondJackHammer.png b/src/main/resources/assets/techreborn/textures/items/tool/diamondJackHammer.png index 895c7919bf45eb2de17d74003d198e9911f67dd5..25714b24b17c801068c3cacf479691ca614b4b01 100644 GIT binary patch delta 374 zcmV-+0g3*x0fhsQ7=H)`0000V^Z#K00004VQb$4nuFf3k00004XF*Lt006O%3;baP z00009a7bBm000tn000tn0p4aGcmMzZ7<5HgbW?9;ba!ELWdLwtX>N2bZe?^JG%heM zIczh2P5=M^_DMuRR5(v#zy|*R{}0D$?|}rV0H*oKumAryet#pw01(jB)clW(p~A!i zkfzT~;{OjP3J;(G?_1>m?@bgZ-+<>e;{SKX3XyNX<0AI|yQ8>CHvpso8-_{~1|Y@X z+ob=W$y54&JVW~bp?H2W4Cqn+f4^G${}Eui+7m;80oU`Ti8o-^$N&FVfA|kp42r_* z#mc}mt@M9K1aBlDZ~yrJ{}nKKLzN={Fx~$@_4WV%-Jkydzx5qr!1FTh|M!cy|KHAG z{=Yk%9V`aY{O8aA|IdMHPJTf$X#f8G|F>`74i^9^#)hHNVD-Cq?k`=laR}TVw{va!*%3 Jmvv4FO#sL;G%NrB diff --git a/src/main/resources/assets/techreborn/textures/items/tool/electricTreetap.png b/src/main/resources/assets/techreborn/textures/items/tool/electricTreetap.png new file mode 100644 index 0000000000000000000000000000000000000000..79e5926d942b98627a0c568acb12a8f4da9464e3 GIT binary patch literal 327 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=Bd=Aj}w-8vPh3C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPIMM=Lb}C)YHW= z#KM1SzaigY1pyY%iAw$t<25fYIUoOrsk|)FJK*85b)Ok`FDaRxHraXKizXgJ<+T$Y zlpWDzxZm?wLg~Fm^;Y6BF{UIVfMC(Wzip TK*&;{hZsCv{an^LB{Ts554U-B literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/techreborn/textures/items/tool/ironJackhammer.png b/src/main/resources/assets/techreborn/textures/items/tool/ironJackhammer.png new file mode 100644 index 0000000000000000000000000000000000000000..67b927b99c5d98ac51dd11e2ec263b4cad105bd2 GIT binary patch literal 395 zcmV;60d)R}P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGmbN~PnbOGLGA9w%&02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;(#7eog=Y0Q^ZrK~y+TW55Rf|NjriH*Vbc4;3aJz%>8< z{rmr?PoGFP00cBOHUA@Hs4(#Wr0H{$`2WL+!UJf)`xg2CdlSXUH{f}V`2U@;LgX9p zxQPA#?kH~34FGAthN04g0Z8%pHtGLo@|6A`&yfCqD4w4T1A5f|->=sGe*~DW_QX(N z!1a7-;thE5;>G_bPo97kgQD=Z8mxZz?%jmFL>MqI004@r&>SwV&HVrX002ovPDHLkV1hJ(xikO( literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/techreborn/textures/items/tool/jackHammer.png b/src/main/resources/assets/techreborn/textures/items/tool/jackHammer.png deleted file mode 100644 index aed875cc9a4c08decd6e71b902e6c876d1b5b23a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 172 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa2=EDU1=0-vl{7Uqi;9Yxr!Tvj z!udLf^?waR>Fs|iKq=%Qx@=iRd^)n z>XfBTl4smf7oB2rxOHUZo{*zA8yb%?F6lnn$jHVZ)XI5ZU$_1Y O$XZWVKbLh*2~7YMYc_cR diff --git a/src/main/resources/assets/techreborn/textures/items/tool/steelJackhammer.png b/src/main/resources/assets/techreborn/textures/items/tool/steelJackhammer.png new file mode 100644 index 0000000000000000000000000000000000000000..e3cec195a6e73ad78c4dc20eeab333bc5e3fead3 GIT binary patch literal 389 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85o30K$!7fntTONP@=>&q9iy!t)x7$D3zfgF*C13FE6!3!9>qM z&oalj&JU>Oo2QFoh=qUh0k(ht|MMS@{cQHPolBTMVb=AxHoxjWw*6fq&A>Ek)~x>% z4MS#BFkJew)AP^&hb|8pO&-*C|M|bS^U)LO4}0AH{680=_=&e7=E%SLauM^FYz-y} zhXXPXF)aB}J^Ral<4Ujp{plY6?M2S}w=vqj`u{#W`@cPtPk42bhQWiXeI_5-&O~ng z{l91G?gL$pffairBxfv}`tN;51Iv?7y6peg-znm_yr6e?|NnRnpU(=+({gMW!v5^( z`ThT|(!2lLi)Z|Q&zH{L-Dr}3qn0P