Closes #402,#404,406

This commit is contained in:
Stuart Pomeroy 2016-03-27 17:41:56 +01:00
parent 96464980c2
commit 8fba82312c
16 changed files with 149 additions and 163 deletions

View file

@ -10,7 +10,7 @@ public class ItemAdvancedDrill extends ItemDrill
public ItemAdvancedDrill()
{
super(ToolMaterial.DIAMOND, "techreborn.advancedDrill", ConfigTechReborn.AdvancedDrillCharge,
ConfigTechReborn.AdvancedDrillTier, 4.0F);
ConfigTechReborn.AdvancedDrillTier, 4.0F, 20F);
this.cost = 250;
}

View file

@ -10,7 +10,7 @@ public class ItemDiamondDrill extends ItemDrill
public ItemDiamondDrill()
{
super(ToolMaterial.DIAMOND, "techreborn.diamondDrill", ConfigTechReborn.DiamondDrillCharge,
ConfigTechReborn.DiamondDrillTier, 2.5F);
ConfigTechReborn.DiamondDrillTier, 2.5F, 15F);
this.cost = 250;
}

View file

@ -1,12 +1,14 @@
package techreborn.items.tools;
import java.util.List;
import me.modmuss50.jsonDestroyer.api.ITexturedItem;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
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.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemPickaxe;
import net.minecraft.item.ItemStack;
@ -24,6 +26,9 @@ import reborncore.common.util.TorchHelper;
import techreborn.client.TechRebornCreativeTab;
import techreborn.lib.ModInfo;
import java.util.List;
import java.util.Random;
public class ItemDrill extends ItemPickaxe implements IEnergyItemInfo, ITexturedItem
{
@ -33,10 +38,10 @@ public class ItemDrill extends ItemPickaxe implements IEnergyItemInfo, ITextured
public float unpoweredSpeed = 2.0F;
public double transferLimit = 100;
public ItemDrill(ToolMaterial material, String unlocalizedName, int energyCapacity, int tier, float unpoweredSpeed)
public ItemDrill(ToolMaterial material, String unlocalizedName, int energyCapacity, int tier, float unpoweredSpeed, float efficiencyOnProperMaterial)
{
super(material);
efficiencyOnProperMaterial = 20F;
this.efficiencyOnProperMaterial = efficiencyOnProperMaterial;
setCreativeTab(TechRebornCreativeTab.instance);
setMaxStackSize(1);
setMaxDamage(240);
@ -47,83 +52,77 @@ public class ItemDrill extends ItemPickaxe implements IEnergyItemInfo, ITextured
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) {
// PoweredItem.useEnergy(cost, stack);
// }
// return true;
// }
//
// @Override
// public float getDigSpeed(ItemStack stack, IBlockState state) {
// if (!PoweredItem.canUseEnergy(cost, stack)) {
// return unpoweredSpeed;
// }
// if (Items.wooden_pickaxe.getDigSpeed(stack, state) > 1.0F ||
// Items.wooden_shovel.getDigSpeed(stack, state) > 1.0F) {
// return efficiencyOnProperMaterial;
// } else {
// return super.getDigSpeed(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)
{
PoweredItem.useEnergy(cost, stack);
}
return true;
}
@Override
public boolean hitEntity(ItemStack itemstack, EntityLivingBase entityliving, EntityLivingBase entityliving1)
@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 hitEntity(ItemStack itemstack, EntityLivingBase entityliving,
EntityLivingBase entityliving1)
{
return true;
}
@Override
public EnumActionResult onItemUse(ItemStack stack, EntityPlayer playerIn, World worldIn, BlockPos pos,
@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()
@Override public boolean isRepairable()
{
return false;
}
@Override
public double getMaxPower(ItemStack stack)
@Override public double getMaxPower(ItemStack stack)
{
return maxCharge;
}
@Override
public boolean canAcceptEnergy(ItemStack stack)
@Override public boolean canAcceptEnergy(ItemStack stack)
{
return true;
}
@Override
public boolean canProvideEnergy(ItemStack stack)
@Override public boolean canProvideEnergy(ItemStack stack)
{
return false;
}
@Override
public double getMaxTransfer(ItemStack stack)
@Override public double getMaxTransfer(ItemStack stack)
{
return transferLimit;
}
@Override
public int getStackTier(ItemStack stack)
@Override public int getStackTier(ItemStack stack)
{
return tier;
}
@SuppressWarnings({ "rawtypes", "unchecked" })
@SideOnly(Side.CLIENT)
public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List itemList)
@SuppressWarnings({ "rawtypes", "unchecked" }) @SideOnly(Side.CLIENT) public void getSubItems(Item item,
CreativeTabs par2CreativeTabs, List itemList)
{
ItemStack itemStack = new ItemStack(this, 1);
itemList.add(itemStack);
@ -133,35 +132,30 @@ public class ItemDrill extends ItemPickaxe implements IEnergyItemInfo, ITextured
itemList.add(charged);
}
@Override
public double getDurabilityForDisplay(ItemStack stack)
@Override public double getDurabilityForDisplay(ItemStack stack)
{
double charge = (PoweredItem.getEnergy(stack) / getMaxPower(stack));
return 1 - charge;
}
@Override
public boolean showDurabilityBar(ItemStack stack)
@Override public boolean showDurabilityBar(ItemStack stack)
{
return true;
}
@Override
public String getTextureName(int damage)
@Override public String getTextureName(int damage)
{
return "techreborn:items/tool/nullDrill";
}
@Override
public int getMaxMeta()
@Override public int getMaxMeta()
{
return 1;
}
@Override
@SideOnly(Side.CLIENT)
public ModelResourceLocation getModel(ItemStack stack, EntityPlayer player, int useRemaining)
@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

@ -10,7 +10,7 @@ public class ItemIronDrill extends ItemDrill
public ItemIronDrill()
{
super(ToolMaterial.IRON, "techreborn.ironDrill", ConfigTechReborn.IronDrillCharge,
ConfigTechReborn.IronDrillTier, 2.0F);
ConfigTechReborn.IronDrillTier, 2.0F, 10F);
this.cost = 50;
}

View file

@ -1,11 +1,11 @@
package techreborn.items.tools;
import java.util.List;
import me.modmuss50.jsonDestroyer.api.ITexturedItem;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
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.item.Item;
@ -26,6 +26,9 @@ import techreborn.client.TechRebornCreativeTab;
import techreborn.lib.ModInfo;
import techreborn.utils.OreDictUtils;
import java.util.List;
import java.util.Random;
public class ItemJackhammer extends ItemPickaxe implements IEnergyItemInfo, ITexturedItem
{
@ -47,17 +50,16 @@ public class ItemJackhammer extends ItemPickaxe implements IEnergyItemInfo, ITex
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 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 canHarvestBlock(IBlockState state)
@ -70,15 +72,15 @@ public class ItemJackhammer extends ItemPickaxe implements IEnergyItemInfo, ITex
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 float getStrVsBlock(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)

View file

@ -1,11 +1,10 @@
package techreborn.items.tools;
import java.util.List;
import me.modmuss50.jsonDestroyer.api.ITexturedItem;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
@ -21,6 +20,8 @@ import techreborn.client.TechRebornCreativeTab;
import techreborn.config.ConfigTechReborn;
import techreborn.lib.ModInfo;
import java.util.List;
public class ItemRockCutter extends ItemPickaxe implements IEnergyItemInfo, ITexturedItem
{
@ -59,29 +60,29 @@ public class ItemRockCutter extends ItemPickaxe implements IEnergyItemInfo, ITex
{
if (Items.diamond_pickaxe.canHarvestBlock(state))
{
// if (PoweredItem.canUseEnergy(cost, stack)) {
// PoweredItem.useEnergy(cost, stack);
// return true;
// }
// if (PoweredItem.canUseEnergy(cost, stack)) {
// PoweredItem.useEnergy(cost, stack);
// return true;
// }
}
return false;
}
// @Override
// public int getHarvestLevel(ItemStack stack, String toolClass) {
// if (!stack.isItemEnchanted()) {
// stack.addEnchantment(Enchantment.silkTouch, 1);
// }
// return super.getHarvestLevel(stack, toolClass);
// }
//
// @Override
// public float getStrVsBlock(ItemStack stack, Block block) {
// if (!stack.isItemEnchanted()) {
// stack.addEnchantment(Enchantment.silkTouch, 1);
// }
// return super.getStrVsBlock(stack, block);
// }
@Override
public int getHarvestLevel(ItemStack stack, String toolClass) {
if (!stack.isItemEnchanted()) {
stack.addEnchantment(Enchantment.getEnchantmentByID(33), 1);
}
return super.getHarvestLevel(stack, toolClass);
}
@Override
public float getStrVsBlock(ItemStack stack, IBlockState block) {
if (!stack.isItemEnchanted()) {
stack.addEnchantment(Enchantment.getEnchantmentByID(33), 1);
}
return super.getStrVsBlock(stack, block);
}
@Override
public boolean isRepairable()