diff options
Diffstat (limited to 'src/main/java/gregtech/common/tools')
38 files changed, 610 insertions, 0 deletions
diff --git a/src/main/java/gregtech/common/tools/GT_Tool.java b/src/main/java/gregtech/common/tools/GT_Tool.java index 0afe944216..198ee4fb5a 100644 --- a/src/main/java/gregtech/common/tools/GT_Tool.java +++ b/src/main/java/gregtech/common/tools/GT_Tool.java @@ -25,86 +25,107 @@ public abstract class GT_Tool implements IToolStats { public static final Enchantment[] ZERO_ENCHANTMENTS = new Enchantment[0]; public static final int[] ZERO_ENCHANTMENT_LEVELS = new int[0]; + @Override public int getToolDamagePerBlockBreak() { return 100; } + @Override public int getToolDamagePerDropConversion() { return 100; } + @Override public int getToolDamagePerContainerCraft() { return 800; } + @Override public int getToolDamagePerEntityAttack() { return 200; } + @Override public float getSpeedMultiplier() { return 1.0F; } + @Override public float getMaxDurabilityMultiplier() { return 1.0F; } + @Override public int getHurtResistanceTime(int aOriginalHurtResistance, Entity aEntity) { return aOriginalHurtResistance; } + @Override public String getMiningSound() { return null; } + @Override public String getCraftingSound() { return null; } + @Override public String getEntityHitSound() { return null; } + @Override public String getBreakingSound() { return (String) GregTech_API.sSoundList.get(Integer.valueOf(0)); } + @Override public int getBaseQuality() { return 0; } + @Override public boolean canBlock() { return false; } + @Override public boolean isCrowbar() { return false; } + @Override public boolean isGrafter() { return false; } + @Override public boolean isChainsaw(){ return false; } + @Override public boolean isWrench() { return false; } + @Override public boolean isWeapon() { return false; } + @Override public boolean isRangedWeapon() { return false; } + @Override public boolean isMiningTool() { return true; } + @Override public DamageSource getDamageSource(EntityLivingBase aPlayer, Entity aEntity) { return GT_DamageSources.getCombatDamage((aPlayer instanceof EntityPlayer) ? "player" : "mob", aPlayer, (aEntity instanceof EntityLivingBase) ? getDeathMessage(aPlayer, (EntityLivingBase) aEntity) : null); } @@ -113,35 +134,43 @@ public abstract class GT_Tool implements IToolStats { return new EntityDamageSource((aPlayer instanceof EntityPlayer) ? "player" : "mob", aPlayer).func_151519_b(aEntity); } + @Override public int convertBlockDrops(List<ItemStack> aDrops, ItemStack aStack, EntityPlayer aPlayer, Block aBlock, int aX, int aY, int aZ, byte aMetaData, int aFortune, boolean aSilkTouch, BlockEvent.HarvestDropsEvent aEvent) { return 0; } + @Override public ItemStack getBrokenItem(ItemStack aStack) { return null; } + @Override public Enchantment[] getEnchantments(ItemStack aStack) { return ZERO_ENCHANTMENTS; } + @Override public int[] getEnchantmentLevels(ItemStack aStack) { return ZERO_ENCHANTMENT_LEVELS; } + @Override public void onToolCrafted(ItemStack aStack, EntityPlayer aPlayer) { aPlayer.triggerAchievement(AchievementList.openInventory); aPlayer.triggerAchievement(AchievementList.mineWood); aPlayer.triggerAchievement(AchievementList.buildWorkBench); } + @Override public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) { } + @Override public float getNormalDamageAgainstEntity(float aOriginalDamage, Entity aEntity, ItemStack aStack, EntityPlayer aPlayer) { return aOriginalDamage; } + @Override public float getMagicDamageAgainstEntity(float aOriginalDamage, Entity aEntity, ItemStack aStack, EntityPlayer aPlayer) { return aOriginalDamage; } diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Axe.java b/src/main/java/gregtech/common/tools/GT_Tool_Axe.java index 0436eb1f33..edbdb3b61b 100644 --- a/src/main/java/gregtech/common/tools/GT_Tool_Axe.java +++ b/src/main/java/gregtech/common/tools/GT_Tool_Axe.java @@ -18,71 +18,88 @@ import net.minecraftforge.event.world.BlockEvent; import java.util.List; public class GT_Tool_Axe extends GT_Tool { + @Override public int getToolDamagePerBlockBreak() { return 50; } + @Override public int getToolDamagePerDropConversion() { return 100; } + @Override public int getToolDamagePerContainerCraft() { return 100; } + @Override public int getToolDamagePerEntityAttack() { return 200; } + @Override public int getBaseQuality() { return 0; } + @Override public float getBaseDamage() { return 3.0F; } + @Override public float getSpeedMultiplier() { return 2.0F; } + @Override public float getMaxDurabilityMultiplier() { return 1.0F; } + @Override public String getCraftingSound() { return null; } + @Override public String getEntityHitSound() { return null; } + @Override public String getBreakingSound() { return (String) GregTech_API.sSoundList.get(0); } + @Override public String getMiningSound() { return null; } + @Override public boolean canBlock() { return false; } + @Override public boolean isCrowbar() { return false; } + @Override public boolean isWeapon() { return true; } + @Override public boolean isMinableBlock(Block aBlock, byte aMetaData) { String tTool = aBlock.getHarvestTool(aMetaData); return aBlock.getHarvestLevel(aMetaData) != -1 && (tTool == null || tTool.isEmpty() || (tTool.equals("axe"))) || (aBlock.getMaterial() == Material.wood); } + @Override public int convertBlockDrops(List<ItemStack> aDrops, ItemStack aStack, EntityPlayer aPlayer, Block aBlock, int aX, int aY, int aZ, byte aMetaData, int aFortune, boolean aSilkTouch, BlockEvent.HarvestDropsEvent aEvent) { int rAmount = 0; if ((GregTech_API.sTimber) && (!aPlayer.isSneaking()) && (OrePrefixes.log.contains(new ItemStack(aBlock, 1, aMetaData)))) { @@ -97,6 +114,7 @@ public class GT_Tool_Axe extends GT_Tool { return rAmount; } + @Override public float getMiningSpeed(Block aBlock, byte aMetaData, float aDefault, EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ) { if (aBlock.isWood(aPlayer.worldObj, aX, aY, aZ) && OrePrefixes.log.contains(new ItemStack(aBlock, 1, aMetaData))){ @@ -112,21 +130,26 @@ public class GT_Tool_Axe extends GT_Tool { return (aBlock.getMaterial() == Material.leaves) || (aBlock.getMaterial() == Material.vine) || (aBlock.getMaterial() == Material.plants) || (aBlock.getMaterial() == Material.gourd) ? aDefault / 4.0F : aDefault; } + @Override public ItemStack getBrokenItem(ItemStack aStack) { return null; } + @Override public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[OrePrefixes.toolHeadAxe.mTextureIndex] : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mIconSet.mTextures[OrePrefixes.stick.mTextureIndex]; } + @Override public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa; } + @Override public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) { } + @Override public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) { return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " has been chopped by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE); } diff --git a/src/main/java/gregtech/common/tools/GT_Tool_BranchCutter.java b/src/main/java/gregtech/common/tools/GT_Tool_BranchCutter.java index 54979bb047..1ba110252a 100644 --- a/src/main/java/gregtech/common/tools/GT_Tool_BranchCutter.java +++ b/src/main/java/gregtech/common/tools/GT_Tool_BranchCutter.java @@ -20,22 +20,27 @@ import net.minecraftforge.event.world.BlockEvent; import java.util.List; public class GT_Tool_BranchCutter extends GT_Tool { + @Override public float getBaseDamage() { return 2.5F; } + @Override public float getSpeedMultiplier() { return 0.25F; } + @Override public float getMaxDurabilityMultiplier() { return 0.25F; } + @Override public boolean isGrafter() { return true; } + @Override public int convertBlockDrops(List<ItemStack> aDrops, ItemStack aStack, EntityPlayer aPlayer, Block aBlock, int aX, int aY, int aZ, byte aMetaData, int aFortune, boolean aSilkTouch, BlockEvent.HarvestDropsEvent aEvent) { if (aBlock.getMaterial() == Material.leaves) { aEvent.dropChance = Math.min(1.0F, Math.max(aEvent.dropChance, (aStack.getItem().getHarvestLevel(aStack, "") + 1) * 0.2F)); @@ -57,19 +62,23 @@ public class GT_Tool_BranchCutter extends GT_Tool { return 0; } + @Override public boolean isMinableBlock(Block aBlock, byte aMetaData) { String tTool = aBlock.getHarvestTool(aMetaData); return aBlock.getHarvestLevel(aMetaData) != -1 && (tTool == null || tTool.isEmpty() || (tTool.equals("grafter"))) || (aBlock.getMaterial() == Material.leaves); } + @Override public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? Textures.ItemIcons.GRAFTER : null; } + @Override public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa; } + @Override public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) { return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " has been trimmed by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE); } diff --git a/src/main/java/gregtech/common/tools/GT_Tool_ButcheryKnife.java b/src/main/java/gregtech/common/tools/GT_Tool_ButcheryKnife.java index 344e5dcdb9..f57ba7f5d3 100644 --- a/src/main/java/gregtech/common/tools/GT_Tool_ButcheryKnife.java +++ b/src/main/java/gregtech/common/tools/GT_Tool_ButcheryKnife.java @@ -13,66 +13,82 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IChatComponent; public class GT_Tool_ButcheryKnife extends GT_Tool { + @Override public int getToolDamagePerBlockBreak() { return 200; } + @Override public int getToolDamagePerDropConversion() { return 100; } + @Override public int getToolDamagePerContainerCraft() { return 100; } + @Override public int getToolDamagePerEntityAttack() { return 200; } + @Override public float getBaseDamage() { return 3.0F; } + @Override public int getHurtResistanceTime(int aOriginalHurtResistance, Entity aEntity) { return aOriginalHurtResistance * 2; } + @Override public float getSpeedMultiplier() { return 0.1F; } + @Override public float getMaxDurabilityMultiplier() { return 1.0F; } + @Override public boolean isWeapon() { return true; } + @Override public boolean isMiningTool() { return false; } + @Override public Enchantment[] getEnchantments(ItemStack aStack) { return LOOTING_ENCHANTMENT; } + @Override public int[] getEnchantmentLevels(ItemStack aStack) { return new int[]{(2 + GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mToolQuality) / 2}; } + @Override public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? Textures.ItemIcons.BUTCHERYKNIFE : null; } + @Override public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa; } + @Override public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) { return new ChatComponentText(EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE + " has butchered " + EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE); } + @Override public boolean isMinableBlock(Block aBlock, byte aMetaData) { return false; } diff --git a/src/main/java/gregtech/common/tools/GT_Tool_BuzzSaw.java b/src/main/java/gregtech/common/tools/GT_Tool_BuzzSaw.java index 9bf5838a6f..f0a3169c7a 100644 --- a/src/main/java/gregtech/common/tools/GT_Tool_BuzzSaw.java +++ b/src/main/java/gregtech/common/tools/GT_Tool_BuzzSaw.java @@ -12,50 +12,62 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IChatComponent; public class GT_Tool_BuzzSaw extends GT_Tool_Saw { + @Override public int getToolDamagePerContainerCraft() { return 100; } + @Override public int getToolDamagePerEntityAttack() { return 300; } + @Override public float getBaseDamage() { return 1.0F; } + @Override public float getMaxDurabilityMultiplier() { return 1.0F; } + @Override public String getCraftingSound() { return (String) GregTech_API.sSoundList.get(104); } + @Override public String getEntityHitSound() { return (String) GregTech_API.sSoundList.get(105); } + @Override public String getBreakingSound() { return (String) GregTech_API.sSoundList.get(0); } + @Override public String getMiningSound() { return (String) GregTech_API.sSoundList.get(104); } + @Override public boolean isMinableBlock(Block aBlock, byte aMetaData) { return false; } + @Override public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { return !aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadBuzzSaw.mTextureIndex] : Textures.ItemIcons.HANDLE_BUZZSAW; } + @Override public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) { return !aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa; } + @Override public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) { return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " got buzzed by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE); } diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Chainsaw_HV.java b/src/main/java/gregtech/common/tools/GT_Tool_Chainsaw_HV.java index 8bc4f40a3b..117b7b6bc0 100644 --- a/src/main/java/gregtech/common/tools/GT_Tool_Chainsaw_HV.java +++ b/src/main/java/gregtech/common/tools/GT_Tool_Chainsaw_HV.java @@ -5,38 +5,47 @@ import gregtech.api.interfaces.IIconContainer; import net.minecraft.item.ItemStack; public class GT_Tool_Chainsaw_HV extends GT_Tool_Chainsaw_LV { + @Override public int getToolDamagePerBlockBreak() { return 800; } + @Override public int getToolDamagePerDropConversion() { return 1600; } + @Override public int getToolDamagePerContainerCraft() { return 12800; } + @Override public int getToolDamagePerEntityAttack() { return 3200; } + @Override public int getBaseQuality() { return 1; } + @Override public float getBaseDamage() { return 4.0F; } + @Override public float getSpeedMultiplier() { return 4.0F; } + @Override public float getMaxDurabilityMultiplier() { return 4.0F; } + @Override public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? gregtech.api.items.GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadChainsaw.mTextureIndex] : Textures.ItemIcons.POWER_UNIT_HV; } diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Chainsaw_LV.java b/src/main/java/gregtech/common/tools/GT_Tool_Chainsaw_LV.java index fa689b1136..f746f7e43f 100644 --- a/src/main/java/gregtech/common/tools/GT_Tool_Chainsaw_LV.java +++ b/src/main/java/gregtech/common/tools/GT_Tool_Chainsaw_LV.java @@ -23,66 +23,82 @@ import java.util.ArrayList; import java.util.List; public class GT_Tool_Chainsaw_LV extends GT_Tool_Saw { + @Override public int getToolDamagePerBlockBreak() { return 50; } + @Override public int getToolDamagePerDropConversion() { return 100; } + @Override public int getToolDamagePerContainerCraft() { return 800; } + @Override public int getToolDamagePerEntityAttack() { return 200; } + @Override public int getBaseQuality() { return 0; } + @Override public float getBaseDamage() { return 3.0F; } + @Override public float getSpeedMultiplier() { return 2.0F; } + @Override public float getMaxDurabilityMultiplier() { return 1.0F; } + @Override public String getCraftingSound() { return (String) GregTech_API.sSoundList.get(104); } + @Override public String getEntityHitSound() { return (String) GregTech_API.sSoundList.get(105); } + @Override public String getBreakingSound() { return (String) GregTech_API.sSoundList.get(0); } + @Override public String getMiningSound() { return (String) GregTech_API.sSoundList.get(104); } + @Override public boolean canBlock() { return false; } + @Override public boolean isChainsaw(){ return true; } + @Override public boolean isWeapon() { return true; } + @Override public void onToolCrafted(ItemStack aStack, EntityPlayer aPlayer) { super.onToolCrafted(aStack, aPlayer); try { @@ -121,6 +137,7 @@ public class GT_Tool_Chainsaw_LV extends GT_Tool_Saw { return rAmount; } + @Override public float getMiningSpeed(Block aBlock, byte aMetaData, float aDefault, EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ) { if (aBlock.isWood(aPlayer.worldObj, aX, aY, aZ) && OrePrefixes.log.contains(new ItemStack(aBlock, 1, aMetaData))){ @@ -136,14 +153,17 @@ public class GT_Tool_Chainsaw_LV extends GT_Tool_Saw { return (aBlock.getMaterial() == Material.leaves) || (aBlock.getMaterial() == Material.vine) || (aBlock.getMaterial() == Material.plants) || (aBlock.getMaterial() == Material.gourd) ? aDefault / 4.0F : aDefault; } + @Override public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadChainsaw.mTextureIndex] : Textures.ItemIcons.POWER_UNIT_LV; } + @Override public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa; } + @Override public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) { return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " was massacred by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE); } diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Chainsaw_MV.java b/src/main/java/gregtech/common/tools/GT_Tool_Chainsaw_MV.java index fade72bac4..e571a26cfc 100644 --- a/src/main/java/gregtech/common/tools/GT_Tool_Chainsaw_MV.java +++ b/src/main/java/gregtech/common/tools/GT_Tool_Chainsaw_MV.java @@ -5,38 +5,47 @@ import gregtech.api.interfaces.IIconContainer; import net.minecraft.item.ItemStack; public class GT_Tool_Chainsaw_MV extends GT_Tool_Chainsaw_LV { + @Override public int getToolDamagePerBlockBreak() { return 200; } + @Override public int getToolDamagePerDropConversion() { return 400; } + @Override public int getToolDamagePerContainerCraft() { return 3200; } + @Override public int getToolDamagePerEntityAttack() { return 800; } + @Override public int getBaseQuality() { return 1; } + @Override public float getBaseDamage() { return 3.5F; } + @Override public float getSpeedMultiplier() { return 3.0F; } + @Override public float getMaxDurabilityMultiplier() { return 2.0F; } + @Override public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? gregtech.api.items.GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadChainsaw.mTextureIndex] : Textures.ItemIcons.POWER_UNIT_MV; } diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Crowbar.java b/src/main/java/gregtech/common/tools/GT_Tool_Crowbar.java index 39844d9216..43890b0c93 100644 --- a/src/main/java/gregtech/common/tools/GT_Tool_Crowbar.java +++ b/src/main/java/gregtech/common/tools/GT_Tool_Crowbar.java @@ -18,66 +18,82 @@ import net.minecraft.util.IChatComponent; import java.util.Iterator; public class GT_Tool_Crowbar extends GT_Tool { + @Override public int getToolDamagePerBlockBreak() { return 50; } + @Override public int getToolDamagePerDropConversion() { return 100; } + @Override public int getToolDamagePerContainerCraft() { return 100; } + @Override public int getToolDamagePerEntityAttack() { return 200; } + @Override public int getBaseQuality() { return 0; } + @Override public float getBaseDamage() { return 2.0F; } + @Override public float getSpeedMultiplier() { return 1.0F; } + @Override public float getMaxDurabilityMultiplier() { return 1.0F; } + @Override public String getCraftingSound() { return (String) GregTech_API.sSoundList.get(0); } + @Override public String getEntityHitSound() { return (String) GregTech_API.sSoundList.get(0); } + @Override public String getBreakingSound() { return (String) GregTech_API.sSoundList.get(0); } + @Override public String getMiningSound() { return (String) GregTech_API.sSoundList.get(0); } + @Override public boolean canBlock() { return true; } + @Override public boolean isCrowbar() { return true; } + @Override public boolean isWeapon() { return true; } + @Override public boolean isMinableBlock(Block aBlock, byte aMetaData) { if (aBlock.getMaterial() == Material.circuits) { return true; @@ -94,22 +110,27 @@ public class GT_Tool_Crowbar extends GT_Tool { return tTool.equals("crowbar"); } + @Override public ItemStack getBrokenItem(ItemStack aStack) { return null; } + @Override public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? Textures.ItemIcons.CROWBAR : null; } + @Override public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : null; } + @Override public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) { aItem.addItemBehavior(aID, new Behaviour_Crowbar(1, 1000)); } + @Override public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) { return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " was removed by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE); } diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Drill_HV.java b/src/main/java/gregtech/common/tools/GT_Tool_Drill_HV.java index 96f94c4224..36c414d40f 100644 --- a/src/main/java/gregtech/common/tools/GT_Tool_Drill_HV.java +++ b/src/main/java/gregtech/common/tools/GT_Tool_Drill_HV.java @@ -7,38 +7,47 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; public class GT_Tool_Drill_HV extends GT_Tool_Drill_LV { + @Override public int getToolDamagePerBlockBreak() { return GT_Mod.gregtechproxy.mHardRock ? 400 : 800; } + @Override public int getToolDamagePerDropConversion() { return 1600; } + @Override public int getToolDamagePerContainerCraft() { return 12800; } + @Override public int getToolDamagePerEntityAttack() { return 3200; } + @Override public int getBaseQuality() { return 1; } + @Override public float getBaseDamage() { return 3.0F; } + @Override public float getSpeedMultiplier() { return 9.0F; } + @Override public float getMaxDurabilityMultiplier() { return 4.0F; } + @Override public void onToolCrafted(ItemStack aStack, EntityPlayer aPlayer) { super.onToolCrafted(aStack, aPlayer); try { @@ -48,6 +57,7 @@ public class GT_Tool_Drill_HV extends GT_Tool_Drill_LV { } } + @Override public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? gregtech.api.items.GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadDrill.mTextureIndex] : Textures.ItemIcons.POWER_UNIT_HV; } diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Drill_LV.java b/src/main/java/gregtech/common/tools/GT_Tool_Drill_LV.java index 9a402ef8d7..898b549753 100644 --- a/src/main/java/gregtech/common/tools/GT_Tool_Drill_LV.java +++ b/src/main/java/gregtech/common/tools/GT_Tool_Drill_LV.java @@ -16,82 +16,102 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IChatComponent; public class GT_Tool_Drill_LV extends GT_Tool { + @Override public int getToolDamagePerBlockBreak() { return GT_Mod.gregtechproxy.mHardRock ? 25 : 50; } + @Override public int getToolDamagePerDropConversion() { return 100; } + @Override public int getToolDamagePerContainerCraft() { return 100; } + @Override public int getToolDamagePerEntityAttack() { return 200; } + @Override public int getBaseQuality() { return 0; } + @Override public float getBaseDamage() { return 2.0F; } + @Override public float getSpeedMultiplier() { return 3.0F; } + @Override public float getMaxDurabilityMultiplier() { return 1.0F; } + @Override public String getCraftingSound() { return (String) GregTech_API.sSoundList.get(106); } + @Override public String getEntityHitSound() { return (String) GregTech_API.sSoundList.get(106); } + @Override public String getBreakingSound() { return (String) GregTech_API.sSoundList.get(106); } + @Override public String getMiningSound() { return (String) GregTech_API.sSoundList.get(106); } + @Override public boolean canBlock() { return false; } + @Override public boolean isCrowbar() { return false; } + @Override public boolean isMinableBlock(Block aBlock, byte aMetaData) { String tTool = aBlock.getHarvestTool(aMetaData); return aBlock.getHarvestLevel(aMetaData) != -1 && (tTool == null || tTool.isEmpty() || ((tTool.equals("pickaxe")) || (tTool.equals("shovel")))) || (aBlock.getMaterial() == Material.rock) || (aBlock.getMaterial() == Material.iron) || (aBlock.getMaterial() == Material.anvil) || (aBlock.getMaterial() == Material.sand) || (aBlock.getMaterial() == Material.grass) || (aBlock.getMaterial() == Material.ground) || (aBlock.getMaterial() == Material.snow) || (aBlock.getMaterial() == Material.clay) || (aBlock.getMaterial() == Material.glass); } + @Override public ItemStack getBrokenItem(ItemStack aStack) { return null; } + @Override public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadDrill.mTextureIndex] : Textures.ItemIcons.POWER_UNIT_LV; } + @Override public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa; } + @Override public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) { } + @Override public void onToolCrafted(ItemStack aStack, EntityPlayer aPlayer) { super.onToolCrafted(aStack, aPlayer); aPlayer.triggerAchievement(AchievementList.buildPickaxe); @@ -103,6 +123,7 @@ public class GT_Tool_Drill_LV extends GT_Tool { } } + @Override public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) { return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " got the Drill! (by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE + ")"); } diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Drill_MV.java b/src/main/java/gregtech/common/tools/GT_Tool_Drill_MV.java index de9c067f3c..7bfddc6f98 100644 --- a/src/main/java/gregtech/common/tools/GT_Tool_Drill_MV.java +++ b/src/main/java/gregtech/common/tools/GT_Tool_Drill_MV.java @@ -7,38 +7,47 @@ import net.minecraft.item.ItemStack; public class GT_Tool_Drill_MV extends GT_Tool_Drill_LV { + @Override public int getToolDamagePerBlockBreak() { return GT_Mod.gregtechproxy.mHardRock ? 100 : 200; } + @Override public int getToolDamagePerDropConversion() { return 400; } + @Override public int getToolDamagePerContainerCraft() { return 3200; } + @Override public int getToolDamagePerEntityAttack() { return 800; } + @Override public int getBaseQuality() { return 1; } + @Override public float getBaseDamage() { return 2.5F; } + @Override public float getSpeedMultiplier() { return 6.0F; } + @Override public float getMaxDurabilityMultiplier() { return 2.0F; } + @Override public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? gregtech.api.items.GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadDrill.mTextureIndex] : Textures.ItemIcons.POWER_UNIT_MV; } diff --git a/src/main/java/gregtech/common/tools/GT_Tool_File.java b/src/main/java/gregtech/common/tools/GT_Tool_File.java index 2957252a3c..dc6bc759b1 100644 --- a/src/main/java/gregtech/common/tools/GT_Tool_File.java +++ b/src/main/java/gregtech/common/tools/GT_Tool_File.java @@ -13,86 +13,107 @@ import net.minecraft.util.IChatComponent; public class GT_Tool_File extends GT_Tool { + @Override public int getToolDamagePerBlockBreak() { return 50; } + @Override public int getToolDamagePerDropConversion() { return 100; } + @Override public int getToolDamagePerContainerCraft() { return 400; } + @Override public int getToolDamagePerEntityAttack() { return 200; } + @Override public int getBaseQuality() { return 0; } + @Override public float getBaseDamage() { return 1.5F; } + @Override public float getSpeedMultiplier() { return 1.0F; } + @Override public float getMaxDurabilityMultiplier() { return 1.0F; } + @Override public String getCraftingSound() { return null; } + @Override public String getEntityHitSound() { return null; } + @Override public String getBreakingSound() { return (String) GregTech_API.sSoundList.get(0); } + @Override public String getMiningSound() { return null; } + @Override public boolean canBlock() { return true; } + @Override public boolean isCrowbar() { return false; } + @Override public boolean isMiningTool() { return false; } + @Override public boolean isMinableBlock(Block aBlock, byte aMetaData) { String tTool = aBlock.getHarvestTool(aMetaData); return aBlock.getHarvestLevel(aMetaData) != -1 && (tTool == null || tTool.isEmpty() || tTool.equals("file")); } + @Override public ItemStack getBrokenItem(ItemStack aStack) { return null; } + @Override public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { return !aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadFile.mTextureIndex] : Textures.ItemIcons.HANDLE_FILE; } + @Override public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) { return !aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa; } + @Override public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) { } + @Override public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) { return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " has been filed D for 'Dead' by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE); } diff --git a/src/main/java/gregtech/common/tools/GT_Tool_HardHammer.java b/src/main/java/gregtech/common/tools/GT_Tool_HardHammer.java index 76dc9fde6a..8cb09da5f9 100644 --- a/src/main/java/gregtech/common/tools/GT_Tool_HardHammer.java +++ b/src/main/java/gregtech/common/tools/GT_Tool_HardHammer.java @@ -25,81 +25,100 @@ import java.util.List; public class GT_Tool_HardHammer extends GT_Tool { public static final List<String> mEffectiveList = Arrays.asList(EntityIronGolem.class.getName(), "EntityTowerGuardian"); + @Override public float getNormalDamageAgainstEntity(float aOriginalDamage, Entity aEntity, ItemStack aStack, EntityPlayer aPlayer) { String tName = aEntity.getClass().getName(); tName = tName.substring(tName.lastIndexOf('.') + 1); return (mEffectiveList.contains(tName)) || (tName.contains("Golem")) ? aOriginalDamage * 2.0F : aOriginalDamage; } + @Override public int getToolDamagePerBlockBreak() { return 50; } + @Override public int getToolDamagePerDropConversion() { return 200; } + @Override public int getToolDamagePerContainerCraft() { return 400; } + @Override public int getToolDamagePerEntityAttack() { return 200; } + @Override public int getBaseQuality() { return 0; } + @Override public float getBaseDamage() { return 3.0F; } + @Override public int getHurtResistanceTime(int aOriginalHurtResistance, Entity aEntity) { return aOriginalHurtResistance * 2; } + @Override public float getSpeedMultiplier() { return 0.75F; } + @Override public float getMaxDurabilityMultiplier() { return 1.0F; } + @Override public String getCraftingSound() { return (String) GregTech_API.sSoundList.get(1); } + @Override public String getEntityHitSound() { return null; } + @Override public String getBreakingSound() { return (String) GregTech_API.sSoundList.get(2); } + @Override public String getMiningSound() { return null; } + @Override public boolean canBlock() { return true; } + @Override public boolean isCrowbar() { return false; } + @Override public boolean isWeapon() { return true; } + @Override public boolean isMinableBlock(Block aBlock, byte aMetaData) { String tTool = aBlock.getHarvestTool(aMetaData); return aBlock.getHarvestLevel(aMetaData) != -1 && (tTool == null || tTool.isEmpty() || ((tTool.equals("hammer")) || (tTool.equals("pickaxe")))) || (aBlock.getMaterial() == Material.rock) || (aBlock.getMaterial() == Material.glass) || (aBlock.getMaterial() == Material.ice) || (aBlock.getMaterial() == Material.packedIce) || (GT_Recipe.GT_Recipe_Map.sHammerRecipes.containsInput(new ItemStack(aBlock, 1, aMetaData))); } + @Override public int convertBlockDrops(List<ItemStack> aDrops, ItemStack aStack, EntityPlayer aPlayer, Block aBlock, int aX, int aY, int aZ, byte aMetaData, int aFortune, boolean aSilkTouch, BlockEvent.HarvestDropsEvent aEvent) { int rConversions = 0; GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sHammerRecipes.findRecipe(null, true, 2147483647L, null, new ItemStack(aBlock, 1, aMetaData)); @@ -124,26 +143,32 @@ public class GT_Tool_HardHammer extends GT_Tool { return rConversions; } + @Override public ItemStack getBrokenItem(ItemStack aStack) { return null; } + @Override public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadHammer.mTextureIndex] : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.stick.mTextureIndex]; } + @Override public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa; } + @Override public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) { aItem.addItemBehavior(aID, new Behaviour_Prospecting(1, 1000)); } + @Override public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) { return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " was squashed by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE); } + @Override public void onToolCrafted(ItemStack aStack, EntityPlayer aPlayer) { super.onToolCrafted(aStack, aPlayer); try { diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Hoe.java b/src/main/java/gregtech/common/tools/GT_Tool_Hoe.java index b826f07763..65849d7dad 100644 --- a/src/main/java/gregtech/common/tools/GT_Tool_Hoe.java +++ b/src/main/java/gregtech/common/tools/GT_Tool_Hoe.java @@ -15,88 +15,109 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IChatComponent; public class GT_Tool_Hoe extends GT_Tool { + @Override public int getToolDamagePerBlockBreak() { return 50; } + @Override public int getToolDamagePerDropConversion() { return 100; } + @Override public int getToolDamagePerContainerCraft() { return 100; } + @Override public int getToolDamagePerEntityAttack() { return 200; } + @Override public int getBaseQuality() { return 0; } + @Override public float getBaseDamage() { return 1.75F; } + @Override public float getSpeedMultiplier() { return 1.0F; } + @Override public float getMaxDurabilityMultiplier() { return 1.0F; } + @Override public String getCraftingSound() { return null; } + @Override public String getEntityHitSound() { return null; } + @Override public String getBreakingSound() { return (String) GregTech_API.sSoundList.get(0); } + @Override public String getMiningSound() { return null; } + @Override public boolean canBlock() { return false; } + @Override public boolean isCrowbar() { return false; } + @Override public boolean isMinableBlock(Block aBlock, byte aMetaData) { String tTool = aBlock.getHarvestTool(aMetaData); return aBlock.getHarvestLevel(aMetaData) != -1 && (tTool == null || tTool.isEmpty() || (tTool.equals("hoe"))) || (aBlock.getMaterial() == Material.gourd); } + @Override public ItemStack getBrokenItem(ItemStack aStack) { return null; } + @Override public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadHoe.mTextureIndex] : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.stick.mTextureIndex]; } + @Override public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa; } + @Override public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) { aItem.addItemBehavior(aID, new Behaviour_Hoe(100)); } + @Override public void onToolCrafted(ItemStack aStack, EntityPlayer aPlayer) { super.onToolCrafted(aStack, aPlayer); aPlayer.triggerAchievement(AchievementList.buildHoe); } + @Override public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) { return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " has been called a stupid Hoe by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE); } diff --git a/src/main/java/gregtech/common/tools/GT_Tool_JackHammer.java b/src/main/java/gregtech/common/tools/GT_Tool_JackHammer.java index 1a52f54046..f76170963a 100644 --- a/src/main/java/gregtech/common/tools/GT_Tool_JackHammer.java +++ b/src/main/java/gregtech/common/tools/GT_Tool_JackHammer.java @@ -18,43 +18,53 @@ import net.minecraftforge.event.world.BlockEvent; import java.util.List; public class GT_Tool_JackHammer extends GT_Tool_Drill_LV { + @Override public int getToolDamagePerBlockBreak() { return GT_Mod.gregtechproxy.mHardRock ? 200 : 400; } + @Override public int getToolDamagePerDropConversion() { return 400; } + @Override public int getToolDamagePerContainerCraft() { return 3200; } + @Override public int getToolDamagePerEntityAttack() { return 800; } + @Override public int getBaseQuality() { return 1; } + @Override public float getBaseDamage() { return 3.0F; } + @Override public float getSpeedMultiplier() { return 12.0F; } + @Override public float getMaxDurabilityMultiplier() { return 2.0F; } + @Override public boolean isMinableBlock(Block aBlock, byte aMetaData) { String tTool = aBlock.getHarvestTool(aMetaData); return aBlock.getHarvestLevel(aMetaData) != -1 && (tTool == null || tTool.isEmpty() || (tTool.equals("pickaxe"))) || (aBlock.getMaterial() == Material.rock) || (aBlock.getMaterial() == Material.glass) || (aBlock.getMaterial() == Material.ice) || (aBlock.getMaterial() == Material.packedIce); } + @Override public int convertBlockDrops(List<ItemStack> aDrops, ItemStack aStack, EntityPlayer aPlayer, Block aBlock, int aX, int aY, int aZ, byte aMetaData, int aFortune, boolean aSilkTouch, BlockEvent.HarvestDropsEvent aEvent) { int rConversions = 0; GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sHammerRecipes.findRecipe(null, true, 2147483647L, null, new ItemStack(aBlock, 1, aMetaData)); @@ -79,6 +89,7 @@ public class GT_Tool_JackHammer extends GT_Tool_Drill_LV { return rConversions; } + @Override public void onToolCrafted(ItemStack aStack, EntityPlayer aPlayer) { super.onToolCrafted(aStack, aPlayer); try { @@ -88,10 +99,12 @@ public class GT_Tool_JackHammer extends GT_Tool_Drill_LV { } + @Override public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? Textures.ItemIcons.JACKHAMMER : null; } + @Override public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) { return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " has been jackhammered into pieces by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE); } diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Knife.java b/src/main/java/gregtech/common/tools/GT_Tool_Knife.java index b07be7b98e..2a4ba6fff9 100644 --- a/src/main/java/gregtech/common/tools/GT_Tool_Knife.java +++ b/src/main/java/gregtech/common/tools/GT_Tool_Knife.java @@ -10,42 +10,52 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IChatComponent; public class GT_Tool_Knife extends GT_Tool_Sword { + @Override public int getToolDamagePerBlockBreak() { return 100; } + @Override public int getToolDamagePerDropConversion() { return 100; } + @Override public int getToolDamagePerContainerCraft() { return 100; } + @Override public int getToolDamagePerEntityAttack() { return 600; } + @Override public float getBaseDamage() { return 0F; } + @Override public int getHurtResistanceTime(int aOriginalHurtResistance, Entity aEntity) { return aOriginalHurtResistance * 3; } + @Override public float getSpeedMultiplier() { return 0.5F; } + @Override public float getMaxDurabilityMultiplier() { return 1.0F; } + @Override public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? Textures.ItemIcons.KNIFE : null; } + @Override public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) { return new ChatComponentText("<" + EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + "> " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE + " what are you doing?, " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE + "?!? STAHP!!!"); } diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Mortar.java b/src/main/java/gregtech/common/tools/GT_Tool_Mortar.java index 8bf4dbc957..772da53b7f 100644 --- a/src/main/java/gregtech/common/tools/GT_Tool_Mortar.java +++ b/src/main/java/gregtech/common/tools/GT_Tool_Mortar.java @@ -13,85 +13,106 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IChatComponent; public class GT_Tool_Mortar extends GT_Tool { + @Override public int getToolDamagePerBlockBreak() { return 50; } + @Override public int getToolDamagePerDropConversion() { return 100; } + @Override public int getToolDamagePerContainerCraft() { return 400; } + @Override public int getToolDamagePerEntityAttack() { return 200; } + @Override public int getBaseQuality() { return 0; } + @Override public float getBaseDamage() { return 2.0F; } + @Override public float getSpeedMultiplier() { return 1.0F; } + @Override public float getMaxDurabilityMultiplier() { return 1.0F; } + @Override public String getCraftingSound() { return null; } + @Override public String getEntityHitSound() { return null; } + @Override public String getBreakingSound() { return (String) GregTech_API.sSoundList.get(0); } + @Override public String getMiningSound() { return null; } + @Override public boolean canBlock() { return false; } + @Override public boolean isCrowbar() { return false; } + @Override public boolean isMiningTool() { return false; } + @Override public boolean isMinableBlock(Block aBlock, byte aMetaData) { return false; } + @Override public ItemStack getBrokenItem(ItemStack aStack) { return null; } + @Override public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? Textures.ItemIcons.MORTAR : null; } + @Override public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : Dyes._NULL.mRGBa; } + @Override public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) { } + @Override public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) { return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " was grounded by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE); } diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Pickaxe.java b/src/main/java/gregtech/common/tools/GT_Tool_Pickaxe.java index 05ffa76ba2..db9d3a6a5f 100644 --- a/src/main/java/gregtech/common/tools/GT_Tool_Pickaxe.java +++ b/src/main/java/gregtech/common/tools/GT_Tool_Pickaxe.java @@ -15,82 +15,102 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IChatComponent; public class GT_Tool_Pickaxe extends GT_Tool { + @Override public int getToolDamagePerBlockBreak() { return GT_Mod.gregtechproxy.mHardRock ? 25 : 50; } + @Override public int getToolDamagePerDropConversion() { return 100; } + @Override public int getToolDamagePerContainerCraft() { return 100; } + @Override public int getToolDamagePerEntityAttack() { return 200; } + @Override public int getBaseQuality() { return 0; } + @Override public float getBaseDamage() { return 1.5F; } + @Override public float getSpeedMultiplier() { return 1.0F; } + @Override public float getMaxDurabilityMultiplier() { return 1.0F; } + @Override public String getCraftingSound() { return null; } + @Override public String getEntityHitSound() { return null; } + @Override public String getBreakingSound() { return (String) GregTech_API.sSoundList.get(0); } + @Override public String getMiningSound() { return null; } + @Override public boolean canBlock() { return false; } + @Override public boolean isCrowbar() { return false; } + @Override public boolean isMinableBlock(Block aBlock, byte aMetaData) { String tTool = aBlock.getHarvestTool(aMetaData); return aBlock.getHarvestLevel(aMetaData) != -1 && (tTool == null || tTool.isEmpty() || (tTool.equals("pickaxe"))) || (aBlock.getMaterial() == Material.rock) || (aBlock.getMaterial() == Material.iron) || (aBlock.getMaterial() == Material.anvil) || (aBlock.getMaterial() == Material.glass); } + @Override public ItemStack getBrokenItem(ItemStack aStack) { return null; } + @Override public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadPickaxe.mTextureIndex] : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.stick.mTextureIndex]; } + @Override public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa; } + @Override public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) { } + @Override public void onToolCrafted(ItemStack aStack, EntityPlayer aPlayer) { super.onToolCrafted(aStack, aPlayer); aPlayer.triggerAchievement(AchievementList.buildPickaxe); @@ -101,6 +121,7 @@ public class GT_Tool_Pickaxe extends GT_Tool { } } + @Override public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) { return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " got mined by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE); } diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Plow.java b/src/main/java/gregtech/common/tools/GT_Tool_Plow.java index 54bf6c7d54..0239598222 100644 --- a/src/main/java/gregtech/common/tools/GT_Tool_Plow.java +++ b/src/main/java/gregtech/common/tools/GT_Tool_Plow.java @@ -20,19 +20,23 @@ import java.util.List; public class GT_Tool_Plow extends GT_Tool { private ThreadLocal<Object> sIsHarvestingRightNow = new ThreadLocal(); + @Override public float getNormalDamageAgainstEntity(float aOriginalDamage, Entity aEntity, ItemStack aStack, EntityPlayer aPlayer) { return (aEntity instanceof EntitySnowman) ? aOriginalDamage * 4.0F : aOriginalDamage; } + @Override public float getBaseDamage() { return 1.0F; } + @Override public boolean isMinableBlock(Block aBlock, byte aMetaData) { String tTool = aBlock.getHarvestTool(aMetaData); return aBlock.getHarvestLevel(aMetaData) != -1 && (tTool == null || tTool.isEmpty() || (tTool.equals("plow"))) || (aBlock.getMaterial() == Material.snow) || (aBlock.getMaterial() == Material.craftedSnow); } + @Override public int convertBlockDrops(List<ItemStack> aDrops, ItemStack aStack, EntityPlayer aPlayer, Block aBlock, int aX, int aY, int aZ, byte aMetaData, int aFortune, boolean aSilkTouch, BlockEvent.HarvestDropsEvent aEvent) { int rConversions = 0; if ((this.sIsHarvestingRightNow.get() == null) && ((aPlayer instanceof EntityPlayerMP))) { @@ -54,14 +58,17 @@ public class GT_Tool_Plow extends GT_Tool { return rConversions; } + @Override public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadPlow.mTextureIndex] : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.stick.mTextureIndex]; } + @Override public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa; } + @Override public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) { return new ChatComponentText(EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE + " plew through the yard of " + EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE); } diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Plunger.java b/src/main/java/gregtech/common/tools/GT_Tool_Plunger.java index 6f18ed08ae..c0046a8a6c 100644 --- a/src/main/java/gregtech/common/tools/GT_Tool_Plunger.java +++ b/src/main/java/gregtech/common/tools/GT_Tool_Plunger.java @@ -16,43 +16,53 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IChatComponent; public class GT_Tool_Plunger extends GT_Tool { + @Override public float getBaseDamage() { return 1.25F; } + @Override public float getMaxDurabilityMultiplier() { return 0.25F; } + @Override public String getCraftingSound() { return (String) GregTech_API.sSoundList.get(101); } + @Override public String getEntityHitSound() { return (String) GregTech_API.sSoundList.get(101); } + @Override public String getBreakingSound() { return (String) GregTech_API.sSoundList.get(0); } + @Override public String getMiningSound() { return (String) GregTech_API.sSoundList.get(101); } + @Override public boolean isMinableBlock(Block aBlock, byte aMetaData) { String tTool = aBlock.getHarvestTool(aMetaData); return aBlock.getHarvestLevel(aMetaData) != -1 && (tTool == null || tTool.isEmpty() || tTool.equals("plunger")); } + @Override public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? Textures.ItemIcons.PLUNGER : null; } + @Override public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa; } + @Override public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) { aItem.addItemBehavior(aID, new Behaviour_Plunger_Item(getToolDamagePerDropConversion())); aItem.addItemBehavior(aID, new Behaviour_Plunger_Fluid(getToolDamagePerDropConversion())); @@ -65,6 +75,7 @@ public class GT_Tool_Plunger extends GT_Tool { } } + @Override public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) { return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " got stuck trying to escape through a Pipe while fighting " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE); } diff --git a/src/main/java/gregtech/common/tools/GT_Tool_RollingPin.java b/src/main/java/gregtech/common/tools/GT_Tool_RollingPin.java index 8b54a6881d..b4b1422d92 100644 --- a/src/main/java/gregtech/common/tools/GT_Tool_RollingPin.java +++ b/src/main/java/gregtech/common/tools/GT_Tool_RollingPin.java @@ -12,41 +12,51 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IChatComponent; public class GT_Tool_RollingPin extends GT_Tool { + @Override public int getToolDamagePerBlockBreak() { return 50; } + @Override public int getToolDamagePerDropConversion() { return 100; } + @Override public int getToolDamagePerContainerCraft() { return 100; } + @Override public int getToolDamagePerEntityAttack() { return 200; } + @Override public float getBaseDamage() { return 2.0F; } + @Override public boolean isMinableBlock(Block aBlock, byte aMetaData) { return false; } + @Override public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : Dyes._NULL.mRGBa; } + @Override public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) { } + @Override public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? Textures.ItemIcons.ROLLING_PIN : null; } + @Override public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) { return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " got flattened by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE); } diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Saw.java b/src/main/java/gregtech/common/tools/GT_Tool_Saw.java index a8c9c5dd8a..fb37a55eef 100644 --- a/src/main/java/gregtech/common/tools/GT_Tool_Saw.java +++ b/src/main/java/gregtech/common/tools/GT_Tool_Saw.java @@ -20,54 +20,67 @@ import java.util.ArrayList; import java.util.List; public class GT_Tool_Saw extends GT_Tool { + @Override public int getToolDamagePerBlockBreak() { return 50; } + @Override public int getToolDamagePerDropConversion() { return 100; } + @Override public int getToolDamagePerContainerCraft() { return 200; } + @Override public int getToolDamagePerEntityAttack() { return 200; } + @Override public int getBaseQuality() { return 0; } + @Override public float getBaseDamage() { return 1.75F; } + @Override public float getSpeedMultiplier() { return 1.0F; } + @Override public float getMaxDurabilityMultiplier() { return 1.0F; } + @Override public String getCraftingSound() { return null; } + @Override public String getEntityHitSound() { return null; } + @Override public String getBreakingSound() { return (String) GregTech_API.sSoundList.get(0); } + @Override public String getMiningSound() { return null; } + @Override public int convertBlockDrops(List<ItemStack> aDrops, ItemStack aStack, EntityPlayer aPlayer, Block aBlock, int aX, int aY, int aZ, byte aMetaData, int aFortune, boolean aSilkTouch, BlockEvent.HarvestDropsEvent aEvent) { if ((aBlock.getMaterial() == Material.leaves) && ((aBlock instanceof IShearable))) { aPlayer.worldObj.setBlock(aX, aY, aZ, aBlock, aMetaData, 0); @@ -87,26 +100,32 @@ public class GT_Tool_Saw extends GT_Tool { return 0; } + @Override public boolean isMinableBlock(Block aBlock, byte aMetaData) { String tTool = aBlock.getHarvestTool(aMetaData); return aBlock.getHarvestLevel(aMetaData) != -1 && (tTool == null || tTool.isEmpty() || ((tTool.equals("axe")) || (tTool.equals("saw")))) || (aBlock.getMaterial() == Material.leaves) || (aBlock.getMaterial() == Material.vine) || (aBlock.getMaterial() == Material.wood) || (aBlock.getMaterial() == Material.cactus) || (aBlock.getMaterial() == Material.ice) || (aBlock.getMaterial() == Material.packedIce); } + @Override public ItemStack getBrokenItem(ItemStack aStack) { return null; } + @Override public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadSaw.mTextureIndex] : Textures.ItemIcons.HANDLE_SAW; } + @Override public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa; } + @Override public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) { } + @Override public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) { return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " was getting cut down by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE); } diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Scoop.java b/src/main/java/gregtech/common/tools/GT_Tool_Scoop.java index c600fd8b61..674a52133d 100644 --- a/src/main/java/gregtech/common/tools/GT_Tool_Scoop.java +++ b/src/main/java/gregtech/common/tools/GT_Tool_Scoop.java @@ -19,79 +19,98 @@ import net.minecraft.util.IChatComponent; public class GT_Tool_Scoop extends GT_Tool { public static Material sBeeHiveMaterial; + @Override public int getToolDamagePerBlockBreak() { return 200; } + @Override public int getToolDamagePerDropConversion() { return 100; } + @Override public int getToolDamagePerContainerCraft() { return 200; } + @Override public int getToolDamagePerEntityAttack() { return 200; } + @Override public int getBaseQuality() { return 0; } + @Override public float getBaseDamage() { return 1.0F; } + @Override public float getSpeedMultiplier() { return 1.0F; } + @Override public float getMaxDurabilityMultiplier() { return 1.0F; } + @Override public String getCraftingSound() { return null; } + @Override public String getEntityHitSound() { return null; } + @Override public String getBreakingSound() { return (String) GregTech_API.sSoundList.get(0); } + @Override public String getMiningSound() { return null; } + @Override public boolean canBlock() { return false; } + @Override public boolean isCrowbar() { return false; } + @Override public boolean isMinableBlock(Block aBlock, byte aMetaData) { String tTool = aBlock.getHarvestTool(aMetaData); return aBlock.getHarvestLevel(aMetaData) != -1 && (tTool == null || tTool.isEmpty() || (tTool.equals("scoop"))) || (aBlock.getMaterial() == sBeeHiveMaterial); } + @Override public ItemStack getBrokenItem(ItemStack aStack) { return null; } + @Override public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? Textures.ItemIcons.SCOOP : null; } + @Override public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa; } + @Override public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) { if(Loader.isModLoaded(GT_Values.MOD_ID_FR)){ aItem.addItemBehavior(aID, new Behaviour_Scoop(200)); @@ -101,6 +120,7 @@ public class GT_Tool_Scoop extends GT_Tool { } + @Override public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) { return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " got scooped up by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE); } diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Screwdriver.java b/src/main/java/gregtech/common/tools/GT_Tool_Screwdriver.java index 3f5ea60612..f6b99bdb5a 100644 --- a/src/main/java/gregtech/common/tools/GT_Tool_Screwdriver.java +++ b/src/main/java/gregtech/common/tools/GT_Tool_Screwdriver.java @@ -23,93 +23,115 @@ import java.util.List; public class GT_Tool_Screwdriver extends GT_Tool { public static final List<String> mEffectiveList = Arrays.asList(EntityCaveSpider.class.getName(), EntitySpider.class.getName(), "EntityTFHedgeSpider", "EntityTFKingSpider", "EntityTFSwarmSpider", "EntityTFTowerBroodling"); + @Override public float getNormalDamageAgainstEntity(float aOriginalDamage, Entity aEntity, ItemStack aStack, EntityPlayer aPlayer) { String tName = aEntity.getClass().getName(); tName = tName.substring(tName.lastIndexOf('.') + 1); return mEffectiveList.contains(tName) ? aOriginalDamage * 2.0F : aOriginalDamage; } + @Override public int getToolDamagePerBlockBreak() { return 200; } + @Override public int getToolDamagePerDropConversion() { return 100; } + @Override public int getToolDamagePerContainerCraft() { return 400; } + @Override public int getToolDamagePerEntityAttack() { return 200; } + @Override public int getBaseQuality() { return 0; } + @Override public float getBaseDamage() { return 1.5F; } + @Override public float getSpeedMultiplier() { return 1.0F; } + @Override public float getMaxDurabilityMultiplier() { return 1.0F; } + @Override public String getCraftingSound() { return (String) GregTech_API.sSoundList.get(100); } + @Override public String getEntityHitSound() { return null; } + @Override public String getBreakingSound() { return (String) GregTech_API.sSoundList.get(0); } + @Override public String getMiningSound() { return null; } + @Override public boolean canBlock() { return true; } + @Override public boolean isCrowbar() { return false; } + @Override public boolean isMiningTool() { return false; } + @Override public boolean isMinableBlock(Block aBlock, byte aMetaData) { String tTool = aBlock.getHarvestTool(aMetaData); return aBlock.getHarvestLevel(aMetaData) != -1 && (tTool == null || tTool.isEmpty() || (tTool.equals("screwdriver"))) || (aBlock.getMaterial() == Material.circuits); } + @Override public ItemStack getBrokenItem(ItemStack aStack) { return null; } + @Override public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { return !aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadScrewdriver.mTextureIndex] : Textures.ItemIcons.HANDLE_SCREWDRIVER; } + @Override public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) { return !aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa; } + @Override public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) { aItem.addItemBehavior(aID, new Behaviour_Screwdriver(1, 200)); } + @Override public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) { return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " is screwed! (by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE + ")"); } diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Screwdriver_LV.java b/src/main/java/gregtech/common/tools/GT_Tool_Screwdriver_LV.java index b7cd982dc2..d8d97cdc4b 100644 --- a/src/main/java/gregtech/common/tools/GT_Tool_Screwdriver_LV.java +++ b/src/main/java/gregtech/common/tools/GT_Tool_Screwdriver_LV.java @@ -6,18 +6,22 @@ import gregtech.api.items.GT_MetaGenerated_Tool; import net.minecraft.item.ItemStack; public class GT_Tool_Screwdriver_LV extends GT_Tool_Screwdriver { + @Override public float getMaxDurabilityMultiplier() { return 1.0F; } + @Override public int getToolDamagePerContainerCraft() { return 200; } + @Override public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { return !aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadScrewdriver.mTextureIndex] : Textures.ItemIcons.HANDLE_ELECTRIC_SCREWDRIVER; } + @Override public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) { return !aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa; } diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Sense.java b/src/main/java/gregtech/common/tools/GT_Tool_Sense.java index fa6c3abf86..99830fe315 100644 --- a/src/main/java/gregtech/common/tools/GT_Tool_Sense.java +++ b/src/main/java/gregtech/common/tools/GT_Tool_Sense.java @@ -19,20 +19,24 @@ import java.util.List; public class GT_Tool_Sense extends GT_Tool { private ThreadLocal<Object> sIsHarvestingRightNow = new ThreadLocal(); + @Override public float getBaseDamage() { return 3.0F; } + @Override public float getMaxDurabilityMultiplier() { return 4.0F; } + @Override public boolean isMinableBlock(Block aBlock, byte aMetaData) { String tTool = aBlock.getHarvestTool(aMetaData); return aBlock.getHarvestLevel(aMetaData) != -1 && (tTool == null || tTool.isEmpty() || ((tTool.equals("sense")) || (tTool.equals("scythe")))) || (aBlock.getMaterial() == Material.plants) || (aBlock.getMaterial() == Material.leaves); } + @Override public int convertBlockDrops(List<ItemStack> aDrops, ItemStack aStack, EntityPlayer aPlayer, Block aBlock, int aX, int aY, int aZ, byte aMetaData, int aFortune, boolean aSilkTouch, BlockEvent.HarvestDropsEvent aEvent) { int rConversions = 0; if ((this.sIsHarvestingRightNow.get() == null) && ((aPlayer instanceof EntityPlayerMP))) { @@ -53,18 +57,22 @@ public class GT_Tool_Sense extends GT_Tool { return rConversions; } + @Override public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadSense.mTextureIndex] : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.stick.mTextureIndex]; } + @Override public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa; } + @Override public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) { aItem.addItemBehavior(aID, new Behaviour_Sense(getToolDamagePerBlockBreak())); } + @Override public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) { return new ChatComponentText(EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE + " has taken the Soul of " + EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE); } diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Shovel.java b/src/main/java/gregtech/common/tools/GT_Tool_Shovel.java index b1e4708d94..ee42c6345c 100644 --- a/src/main/java/gregtech/common/tools/GT_Tool_Shovel.java +++ b/src/main/java/gregtech/common/tools/GT_Tool_Shovel.java @@ -12,82 +12,102 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IChatComponent; public class GT_Tool_Shovel extends GT_Tool { + @Override public int getToolDamagePerBlockBreak() { return 50; } + @Override public int getToolDamagePerDropConversion() { return 100; } + @Override public int getToolDamagePerContainerCraft() { return 100; } + @Override public int getToolDamagePerEntityAttack() { return 200; } + @Override public int getBaseQuality() { return 0; } + @Override public float getBaseDamage() { return 1.5F; } + @Override public float getSpeedMultiplier() { return 1.0F; } + @Override public float getMaxDurabilityMultiplier() { return 1.0F; } + @Override public String getCraftingSound() { return null; } + @Override public String getEntityHitSound() { return null; } + @Override public String getBreakingSound() { return (String) GregTech_API.sSoundList.get(0); } + @Override public String getMiningSound() { return null; } + @Override public boolean canBlock() { return false; } + @Override public boolean isCrowbar() { return false; } + @Override public boolean isMinableBlock(Block aBlock, byte aMetaData) { String tTool = aBlock.getHarvestTool(aMetaData); return aBlock.getHarvestLevel(aMetaData) != -1 && (tTool == null || tTool.isEmpty() || (tTool.equals("shovel"))) || (aBlock.getMaterial() == Material.sand) || (aBlock.getMaterial() == Material.grass) || (aBlock.getMaterial() == Material.ground) || (aBlock.getMaterial() == Material.snow) || (aBlock.getMaterial() == Material.clay); } + @Override public ItemStack getBrokenItem(ItemStack aStack) { return null; } + @Override public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadShovel.mTextureIndex] : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.stick.mTextureIndex]; } + @Override public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa; } + @Override public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) { } + @Override public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) { return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " got dug up by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE); } diff --git a/src/main/java/gregtech/common/tools/GT_Tool_SoftHammer.java b/src/main/java/gregtech/common/tools/GT_Tool_SoftHammer.java index 996213c8c4..ef460bdcc4 100644 --- a/src/main/java/gregtech/common/tools/GT_Tool_SoftHammer.java +++ b/src/main/java/gregtech/common/tools/GT_Tool_SoftHammer.java @@ -13,95 +13,118 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IChatComponent; public class GT_Tool_SoftHammer extends GT_Tool { + @Override public int getToolDamagePerBlockBreak() { return 50; } + @Override public int getToolDamagePerDropConversion() { return 100; } + @Override public int getToolDamagePerContainerCraft() { return 800; } + @Override public int getToolDamagePerEntityAttack() { return 200; } + @Override public int getBaseQuality() { return 0; } + @Override public float getBaseDamage() { return 3.0F; } + @Override public int getHurtResistanceTime(int aOriginalHurtResistance, Entity aEntity) { return aOriginalHurtResistance * 2; } + @Override public float getSpeedMultiplier() { return 0.1F; } + @Override public float getMaxDurabilityMultiplier() { return 8.0F; } + @Override public String getCraftingSound() { return (String) GregTech_API.sSoundList.get(101); } + @Override public String getEntityHitSound() { return (String) GregTech_API.sSoundList.get(101); } + @Override public String getBreakingSound() { return (String) GregTech_API.sSoundList.get(0); } + @Override public String getMiningSound() { return (String) GregTech_API.sSoundList.get(101); } + @Override public boolean canBlock() { return true; } + @Override public boolean isCrowbar() { return false; } + @Override public boolean isMiningTool() { return false; } + @Override public boolean isWeapon() { return true; } + @Override public boolean isMinableBlock(Block aBlock, byte aMetaData) { String tTool = aBlock.getHarvestTool(aMetaData); return aBlock.getHarvestLevel(aMetaData) != -1 && (tTool == null || tTool.isEmpty() || tTool.equals("softhammer")); } + @Override public ItemStack getBrokenItem(ItemStack aStack) { return null; } + @Override public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadMallet.mTextureIndex] : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.handleMallet.mTextureIndex]; } + @Override public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa; } + @Override public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) { aItem.addItemBehavior(aID, new Behaviour_SoftHammer(100)); } + @Override public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) { return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " was hammered to death by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE); } diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Soldering_Iron.java b/src/main/java/gregtech/common/tools/GT_Tool_Soldering_Iron.java index e4ef7a435e..c8eefb40ea 100644 --- a/src/main/java/gregtech/common/tools/GT_Tool_Soldering_Iron.java +++ b/src/main/java/gregtech/common/tools/GT_Tool_Soldering_Iron.java @@ -23,93 +23,115 @@ import java.util.List; public class GT_Tool_Soldering_Iron extends GT_Tool { public static final List<String> mEffectiveList = Arrays.asList(EntityCaveSpider.class.getName(), EntitySpider.class.getName(), "EntityTFHedgeSpider", "EntityTFKingSpider", "EntityTFSwarmSpider", "EntityTFTowerBroodling"); + @Override public float getNormalDamageAgainstEntity(float aOriginalDamage, Entity aEntity, ItemStack aStack, EntityPlayer aPlayer) { String tName = aEntity.getClass().getName(); tName = tName.substring(tName.lastIndexOf('.') + 1); return mEffectiveList.contains(tName) ? aOriginalDamage * 2.0F : aOriginalDamage; } + @Override public int getToolDamagePerBlockBreak() { return 1000; } + @Override public int getToolDamagePerDropConversion() { return 500; } + @Override public int getToolDamagePerContainerCraft() { return 1000; } + @Override public int getToolDamagePerEntityAttack() { return 500; } + @Override public int getBaseQuality() { return 0; } + @Override public float getBaseDamage() { return 1.5F; } + @Override public float getSpeedMultiplier() { return 1.0F; } + @Override public float getMaxDurabilityMultiplier() { return 1.0F; } + @Override public String getCraftingSound() { return (String) GregTech_API.sSoundList.get(100); } + @Override public String getEntityHitSound() { return null; } + @Override public String getBreakingSound() { return (String) GregTech_API.sSoundList.get(0); } + @Override public String getMiningSound() { return null; } + @Override public boolean canBlock() { return true; } + @Override public boolean isCrowbar() { return false; } + @Override public boolean isMiningTool() { return false; } + @Override public boolean isMinableBlock(Block aBlock, byte aMetaData) { String tTool = aBlock.getHarvestTool(aMetaData); return aBlock.getHarvestLevel(aMetaData) != -1 && (tTool == null || tTool.isEmpty() || (tTool.equals("soldering_iron"))) || (aBlock.getMaterial() == Material.circuits); } + @Override public ItemStack getBrokenItem(ItemStack aStack) { return null; } + @Override public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { return !aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[49] : Textures.ItemIcons.HANDLE_SOLDERING; } + @Override public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) { return !aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa; } + @Override public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) { aItem.addItemBehavior(aID, new Behaviour_Screwdriver(1, 200)); } + @Override public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) { return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " got soldert! (by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE + ")"); } diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Sword.java b/src/main/java/gregtech/common/tools/GT_Tool_Sword.java index 350bc8ebb3..a357fe3ba0 100644 --- a/src/main/java/gregtech/common/tools/GT_Tool_Sword.java +++ b/src/main/java/gregtech/common/tools/GT_Tool_Sword.java @@ -11,83 +11,103 @@ import net.minecraft.item.ItemStack; import net.minecraft.stats.AchievementList; public class GT_Tool_Sword extends GT_Tool { + @Override public int getToolDamagePerBlockBreak() { return 200; } + @Override public int getToolDamagePerDropConversion() { return 100; } + @Override public int getToolDamagePerContainerCraft() { return 100; } + @Override public int getToolDamagePerEntityAttack() { return 100; } + @Override public int getBaseQuality() { return 0; } + @Override public float getBaseDamage() { return 4.0F; } + @Override public float getSpeedMultiplier() { return 1.0F; } + @Override public float getMaxDurabilityMultiplier() { return 1.0F; } + @Override public String getCraftingSound() { return null; } + @Override public String getEntityHitSound() { return null; } + @Override public String getBreakingSound() { return (String) GregTech_API.sSoundList.get(0); } + @Override public String getMiningSound() { return null; } + @Override public boolean canBlock() { return true; } + @Override public boolean isCrowbar() { return false; } + @Override public boolean isWeapon() { return true; } + @Override public boolean isMinableBlock(Block aBlock, byte aMetaData) { String tTool = aBlock.getHarvestTool(aMetaData); return aBlock.getHarvestLevel(aMetaData) != -1 && (tTool == null || tTool.isEmpty() || (tTool.equals("sword"))) || (aBlock.getMaterial() == Material.leaves) || (aBlock.getMaterial() == Material.gourd) || (aBlock.getMaterial() == Material.vine) || (aBlock.getMaterial() == Material.web) || (aBlock.getMaterial() == Material.cloth) || (aBlock.getMaterial() == Material.carpet) || (aBlock.getMaterial() == Material.plants) || (aBlock.getMaterial() == Material.cactus) || (aBlock.getMaterial() == Material.cake) || (aBlock.getMaterial() == Material.tnt) || (aBlock.getMaterial() == Material.sponge); } + @Override public ItemStack getBrokenItem(ItemStack aStack) { return null; } + @Override public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { return !aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadSword.mTextureIndex] : Textures.ItemIcons.HANDLE_SWORD; } + @Override public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) { return !aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa; } + @Override public void onToolCrafted(ItemStack aStack, EntityPlayer aPlayer) { super.onToolCrafted(aStack, aPlayer); aPlayer.triggerAchievement(AchievementList.buildSword); diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Turbine.java b/src/main/java/gregtech/common/tools/GT_Tool_Turbine.java index 8ac83ef486..249ca04acb 100644 --- a/src/main/java/gregtech/common/tools/GT_Tool_Turbine.java +++ b/src/main/java/gregtech/common/tools/GT_Tool_Turbine.java @@ -10,6 +10,7 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IChatComponent; public abstract class GT_Tool_Turbine extends GT_Tool { + @Override public abstract float getBaseDamage(); @Override @@ -27,6 +28,7 @@ public abstract class GT_Tool_Turbine extends GT_Tool { return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : null; } + @Override public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) { return new ChatComponentText(EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE + " put " + EnumChatFormatting.RED + aEntity.getCommandSenderName() + "s" + EnumChatFormatting.WHITE + " head into a turbine"); @@ -34,10 +36,13 @@ public abstract class GT_Tool_Turbine extends GT_Tool { public abstract IIconContainer getTurbineIcon(); + @Override public abstract float getSpeedMultiplier(); + @Override public abstract float getMaxDurabilityMultiplier(); + @Override public ItemStack getBrokenItem(ItemStack aStack) { return null; } diff --git a/src/main/java/gregtech/common/tools/GT_Tool_UniversalSpade.java b/src/main/java/gregtech/common/tools/GT_Tool_UniversalSpade.java index 27f56e5771..690c3c1b5a 100644 --- a/src/main/java/gregtech/common/tools/GT_Tool_UniversalSpade.java +++ b/src/main/java/gregtech/common/tools/GT_Tool_UniversalSpade.java @@ -16,87 +16,108 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IChatComponent; public class GT_Tool_UniversalSpade extends GT_Tool { + @Override public int getToolDamagePerBlockBreak() { return 50; } + @Override public int getToolDamagePerDropConversion() { return 100; } + @Override public int getToolDamagePerContainerCraft() { return 400; } + @Override public int getToolDamagePerEntityAttack() { return 100; } + @Override public int getBaseQuality() { return 0; } + @Override public float getBaseDamage() { return 3.0F; } + @Override public float getSpeedMultiplier() { return 0.75F; } + @Override public float getMaxDurabilityMultiplier() { return 1.0F; } + @Override public String getCraftingSound() { return null; } + @Override public String getEntityHitSound() { return null; } + @Override public String getBreakingSound() { return (String) GregTech_API.sSoundList.get(0); } + @Override public String getMiningSound() { return null; } + @Override public boolean canBlock() { return true; } + @Override public boolean isCrowbar() { return true; } + @Override public boolean isWeapon() { return true; } + @Override public boolean isMinableBlock(Block aBlock, byte aMetaData) { String tTool = aBlock.getHarvestTool(aMetaData); return aBlock.getHarvestLevel(aMetaData) != -1 && (tTool == null || tTool.isEmpty() || ((tTool.equals("shovel")) || (tTool.equals("axe")) || (tTool.equals("saw")) || (tTool.equals("sword")) || (tTool.equals("crowbar")))) || (aBlock.getMaterial() == Material.sand) || (aBlock.getMaterial() == Material.grass) || (aBlock.getMaterial() == Material.ground) || (aBlock.getMaterial() == Material.snow) || (aBlock.getMaterial() == Material.clay) || (aBlock.getMaterial() == Material.leaves) || (aBlock.getMaterial() == Material.vine) || (aBlock.getMaterial() == Material.wood) || (aBlock.getMaterial() == Material.cactus) || (aBlock.getMaterial() == Material.circuits) || (aBlock.getMaterial() == Material.gourd) || (aBlock.getMaterial() == Material.web) || (aBlock.getMaterial() == Material.cloth) || (aBlock.getMaterial() == Material.carpet) || (aBlock.getMaterial() == Material.plants) || (aBlock.getMaterial() == Material.cake) || (aBlock.getMaterial() == Material.tnt) || (aBlock.getMaterial() == Material.sponge); } + @Override public ItemStack getBrokenItem(ItemStack aStack) { return null; } + @Override public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadUniversalSpade.mTextureIndex] : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.stick.mTextureIndex]; } + @Override public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa; } + @Override public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) { aItem.addItemBehavior(aID, new Behaviour_Crowbar(2, 2000)); } + @Override public void onToolCrafted(ItemStack aStack, EntityPlayer aPlayer) { super.onToolCrafted(aStack, aPlayer); aPlayer.triggerAchievement(AchievementList.buildSword); @@ -106,6 +127,7 @@ public class GT_Tool_UniversalSpade extends GT_Tool { } } + @Override public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) { return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " has been digged by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE); } diff --git a/src/main/java/gregtech/common/tools/GT_Tool_WireCutter.java b/src/main/java/gregtech/common/tools/GT_Tool_WireCutter.java index 948da23db0..b77efa1e4e 100644 --- a/src/main/java/gregtech/common/tools/GT_Tool_WireCutter.java +++ b/src/main/java/gregtech/common/tools/GT_Tool_WireCutter.java @@ -12,82 +12,102 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IChatComponent; public class GT_Tool_WireCutter extends GT_Tool { + @Override public int getToolDamagePerBlockBreak() { return 100; } + @Override public int getToolDamagePerDropConversion() { return 100; } + @Override public int getToolDamagePerContainerCraft() { return 400; } + @Override public int getToolDamagePerEntityAttack() { return 200; } + @Override public int getBaseQuality() { return 0; } + @Override public float getBaseDamage() { return 1.25F; } + @Override public float getSpeedMultiplier() { return 1.0F; } + @Override public float getMaxDurabilityMultiplier() { return 1.0F; } + @Override public String getCraftingSound() { return null; } + @Override public String getEntityHitSound() { return null; } + @Override public String getBreakingSound() { return (String) GregTech_API.sSoundList.get(0); } + @Override public String getMiningSound() { return null; } + @Override public boolean canBlock() { return false; } + @Override public boolean isCrowbar() { return false; } + @Override public boolean isMinableBlock(Block aBlock, byte aMetaData) { String tTool = aBlock.getHarvestTool(aMetaData); return aBlock.getHarvestLevel(aMetaData) != -1 && ( tTool == null || tTool.isEmpty() || (tTool.equals("cutter"))); } + @Override public ItemStack getBrokenItem(ItemStack aStack) { return null; } + @Override public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? Textures.ItemIcons.WIRE_CUTTER : null; } + @Override public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa; } + @Override public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) { } + @Override public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) { return new ChatComponentText(EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE + " has cut the Cable for the Life Support Machine of " + EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE); } diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Wrench.java b/src/main/java/gregtech/common/tools/GT_Tool_Wrench.java index 56b4284687..98fc1005c0 100644 --- a/src/main/java/gregtech/common/tools/GT_Tool_Wrench.java +++ b/src/main/java/gregtech/common/tools/GT_Tool_Wrench.java @@ -23,97 +23,120 @@ import java.util.List; public class GT_Tool_Wrench extends GT_Tool { public static final List<String> mEffectiveList = Arrays.asList(EntityIronGolem.class.getName(), "EntityTowerGuardian"); + @Override public float getNormalDamageAgainstEntity(float aOriginalDamage, Entity aEntity, ItemStack aStack, EntityPlayer aPlayer) { String tName = aEntity.getClass().getName(); tName = tName.substring(tName.lastIndexOf('.') + 1); return (mEffectiveList.contains(tName)) || (tName.contains("Golem")) ? aOriginalDamage * 2.0F : aOriginalDamage; } + @Override public int getToolDamagePerBlockBreak() { return 50; } + @Override public int getToolDamagePerDropConversion() { return 100; } + @Override public int getToolDamagePerContainerCraft() { return 800; } + @Override public int getToolDamagePerEntityAttack() { return 200; } + @Override public int getBaseQuality() { return 0; } + @Override public float getBaseDamage() { return 3.0F; } + @Override public int getHurtResistanceTime(int aOriginalHurtResistance, Entity aEntity) { return aOriginalHurtResistance * 2; } + @Override public float getSpeedMultiplier() { return 1.0F; } + @Override public float getMaxDurabilityMultiplier() { return 1.0F; } + @Override public String getCraftingSound() { return (String) GregTech_API.sSoundList.get(100); } + @Override public String getEntityHitSound() { return null; } + @Override public String getBreakingSound() { return (String) GregTech_API.sSoundList.get(0); } + @Override public String getMiningSound() { return (String) GregTech_API.sSoundList.get(100); } + @Override public boolean canBlock() { return false; } + @Override public boolean isCrowbar() { return false; } + @Override public boolean isWrench() { return true; } + @Override public boolean isMinableBlock(Block aBlock, byte aMetaData) { String tTool = aBlock.getHarvestTool(aMetaData); return aBlock.getHarvestLevel(aMetaData) != -1 && (tTool == null || tTool.isEmpty() || (tTool.equals("wrench"))) || (aBlock.getMaterial() == Material.piston) || (aBlock == Blocks.hopper) || (aBlock == Blocks.dispenser) || (aBlock == Blocks.dropper); } + @Override public ItemStack getBrokenItem(ItemStack aStack) { return null; } + @Override public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? Textures.ItemIcons.WRENCH : null; } + @Override public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : null; } + @Override public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) { aItem.addItemBehavior(aID, new Behaviour_Wrench(100)); } + @Override public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) { return new ChatComponentText(EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE + " threw a Monkey Wrench into the Plans of " + EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE); } diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Wrench_HV.java b/src/main/java/gregtech/common/tools/GT_Tool_Wrench_HV.java index a7069ee590..4ec433d9a7 100644 --- a/src/main/java/gregtech/common/tools/GT_Tool_Wrench_HV.java +++ b/src/main/java/gregtech/common/tools/GT_Tool_Wrench_HV.java @@ -6,46 +6,57 @@ import gregtech.api.items.GT_MetaGenerated_Tool; import net.minecraft.item.ItemStack; public class GT_Tool_Wrench_HV extends GT_Tool_Wrench_LV { + @Override public int getToolDamagePerBlockBreak() { return 800; } + @Override public int getToolDamagePerDropConversion() { return 1600; } + @Override public int getToolDamagePerContainerCraft() { return 12800; } + @Override public int getToolDamagePerEntityAttack() { return 3200; } + @Override public int getBaseQuality() { return 1; } + @Override public float getBaseDamage() { return 2.0F; } + @Override public float getSpeedMultiplier() { return 4.0F; } + @Override public float getMaxDurabilityMultiplier() { return 4.0F; } + @Override public boolean canBlock() { return false; } + @Override public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadWrench.mTextureIndex] : Textures.ItemIcons.POWER_UNIT_HV; } + @Override public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa; } diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Wrench_LV.java b/src/main/java/gregtech/common/tools/GT_Tool_Wrench_LV.java index 7a084d8f4f..12b83dcb83 100644 --- a/src/main/java/gregtech/common/tools/GT_Tool_Wrench_LV.java +++ b/src/main/java/gregtech/common/tools/GT_Tool_Wrench_LV.java @@ -8,50 +8,62 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; public class GT_Tool_Wrench_LV extends GT_Tool_Wrench { + @Override public float getNormalDamageAgainstEntity(float aOriginalDamage, Entity aEntity, ItemStack aStack, EntityPlayer aPlayer) { return aOriginalDamage; } + @Override public int getToolDamagePerBlockBreak() { return 50; } + @Override public int getToolDamagePerDropConversion() { return 100; } + @Override public int getToolDamagePerContainerCraft() { return 800; } + @Override public int getToolDamagePerEntityAttack() { return 200; } + @Override public int getBaseQuality() { return 0; } + @Override public float getBaseDamage() { return 1.0F; } + @Override public float getSpeedMultiplier() { return 2.0F; } + @Override public float getMaxDurabilityMultiplier() { return 1.0F; } + @Override public boolean canBlock() { return false; } + @Override public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadWrench.mTextureIndex] : Textures.ItemIcons.POWER_UNIT_LV; } + @Override public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa; } diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Wrench_MV.java b/src/main/java/gregtech/common/tools/GT_Tool_Wrench_MV.java index 28b89e4e0b..5ffc3b1481 100644 --- a/src/main/java/gregtech/common/tools/GT_Tool_Wrench_MV.java +++ b/src/main/java/gregtech/common/tools/GT_Tool_Wrench_MV.java @@ -6,46 +6,57 @@ import gregtech.api.items.GT_MetaGenerated_Tool; import net.minecraft.item.ItemStack; public class GT_Tool_Wrench_MV extends GT_Tool_Wrench_LV { + @Override public int getToolDamagePerBlockBreak() { return 200; } + @Override public int getToolDamagePerDropConversion() { return 400; } + @Override public int getToolDamagePerContainerCraft() { return 3200; } + @Override public int getToolDamagePerEntityAttack() { return 800; } + @Override public int getBaseQuality() { return 1; } + @Override public float getBaseDamage() { return 1.5F; } + @Override public float getSpeedMultiplier() { return 3.0F; } + @Override public float getMaxDurabilityMultiplier() { return 2.0F; } + @Override public boolean canBlock() { return false; } + @Override public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadWrench.mTextureIndex] : Textures.ItemIcons.POWER_UNIT_MV; } + @Override public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) { return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa; } |