aboutsummaryrefslogtreecommitdiff
path: root/main/java/gregtech/common/tools
diff options
context:
space:
mode:
Diffstat (limited to 'main/java/gregtech/common/tools')
-rw-r--r--main/java/gregtech/common/tools/GT_Tool.java176
-rw-r--r--main/java/gregtech/common/tools/GT_Tool_Axe.java152
-rw-r--r--main/java/gregtech/common/tools/GT_Tool_BranchCutter.java106
-rw-r--r--main/java/gregtech/common/tools/GT_Tool_ButcheryKnife.java105
-rw-r--r--main/java/gregtech/common/tools/GT_Tool_BuzzSaw.java87
-rw-r--r--main/java/gregtech/common/tools/GT_Tool_Chainsaw_HV.java61
-rw-r--r--main/java/gregtech/common/tools/GT_Tool_Chainsaw_LV.java111
-rw-r--r--main/java/gregtech/common/tools/GT_Tool_Chainsaw_MV.java61
-rw-r--r--main/java/gregtech/common/tools/GT_Tool_Crowbar.java152
-rw-r--r--main/java/gregtech/common/tools/GT_Tool_Drill_HV.java63
-rw-r--r--main/java/gregtech/common/tools/GT_Tool_Drill_LV.java137
-rw-r--r--main/java/gregtech/common/tools/GT_Tool_Drill_MV.java63
-rw-r--r--main/java/gregtech/common/tools/GT_Tool_File.java130
-rw-r--r--main/java/gregtech/common/tools/GT_Tool_HardHammer.java188
-rw-r--r--main/java/gregtech/common/tools/GT_Tool_Hoe.java134
-rw-r--r--main/java/gregtech/common/tools/GT_Tool_JackHammer.java120
-rw-r--r--main/java/gregtech/common/tools/GT_Tool_Knife.java65
-rw-r--r--main/java/gregtech/common/tools/GT_Tool_Mortar.java130
-rw-r--r--main/java/gregtech/common/tools/GT_Tool_Pickaxe.java133
-rw-r--r--main/java/gregtech/common/tools/GT_Tool_Plow.java87
-rw-r--r--main/java/gregtech/common/tools/GT_Tool_Plunger.java96
-rw-r--r--main/java/gregtech/common/tools/GT_Tool_RollingPin.java71
-rw-r--r--main/java/gregtech/common/tools/GT_Tool_Saw.java148
-rw-r--r--main/java/gregtech/common/tools/GT_Tool_Scoop.java140
-rw-r--r--main/java/gregtech/common/tools/GT_Tool_Screwdriver.java150
-rw-r--r--main/java/gregtech/common/tools/GT_Tool_Screwdriver_LV.java38
-rw-r--r--main/java/gregtech/common/tools/GT_Tool_Sense.java86
-rw-r--r--main/java/gregtech/common/tools/GT_Tool_Shovel.java122
-rw-r--r--main/java/gregtech/common/tools/GT_Tool_SoftHammer.java141
-rw-r--r--main/java/gregtech/common/tools/GT_Tool_Sword.java128
-rw-r--r--main/java/gregtech/common/tools/GT_Tool_UniversalSpade.java139
-rw-r--r--main/java/gregtech/common/tools/GT_Tool_WireCutter.java125
-rw-r--r--main/java/gregtech/common/tools/GT_Tool_Wrench.java150
-rw-r--r--main/java/gregtech/common/tools/GT_Tool_Wrench_HV.java73
-rw-r--r--main/java/gregtech/common/tools/GT_Tool_Wrench_LV.java80
-rw-r--r--main/java/gregtech/common/tools/GT_Tool_Wrench_MV.java73
36 files changed, 4021 insertions, 0 deletions
diff --git a/main/java/gregtech/common/tools/GT_Tool.java b/main/java/gregtech/common/tools/GT_Tool.java
new file mode 100644
index 0000000000..7af4bc3837
--- /dev/null
+++ b/main/java/gregtech/common/tools/GT_Tool.java
@@ -0,0 +1,176 @@
+/* 1: */ package gregtech.common.tools;
+/* 2: */
+/* 3: */ import gregtech.api.GregTech_API;
+/* 4: */ import gregtech.api.damagesources.GT_DamageSources;
+/* 5: */ import gregtech.api.interfaces.IToolStats;
+/* 6: */ import gregtech.api.items.GT_MetaGenerated_Tool;
+
+/* 7: */ import java.util.List;
+/* 8: */ import java.util.Map;
+
+/* 9: */ import net.minecraft.block.Block;
+/* 10: */ import net.minecraft.enchantment.Enchantment;
+/* 11: */ import net.minecraft.entity.Entity;
+/* 12: */ import net.minecraft.entity.EntityLivingBase;
+/* 13: */ import net.minecraft.entity.player.EntityPlayer;
+/* 14: */ import net.minecraft.item.ItemStack;
+/* 15: */ import net.minecraft.stats.AchievementList;
+/* 16: */ import net.minecraft.util.DamageSource;
+/* 17: */ import net.minecraft.util.EntityDamageSource;
+/* 18: */ import net.minecraft.util.IChatComponent;
+import net.minecraftforge.event.world.BlockEvent;
+/* 19: */ import net.minecraftforge.event.world.BlockEvent.HarvestDropsEvent;
+/* 20: */
+/* 21: */ public abstract class GT_Tool
+/* 22: */ implements IToolStats
+/* 23: */ {
+/* 24: 23 */ public static final Enchantment[] FORTUNE_ENCHANTMENT = { Enchantment.fortune };
+/* 25: 24 */ public static final Enchantment[] LOOTING_ENCHANTMENT = { Enchantment.looting };
+/* 26: 25 */ public static final Enchantment[] ZERO_ENCHANTMENTS = new Enchantment[0];
+/* 27: 26 */ public static final int[] ZERO_ENCHANTMENT_LEVELS = new int[0];
+/* 28: */
+/* 29: */ public int getToolDamagePerBlockBreak()
+/* 30: */ {
+/* 31: 30 */ return 100;
+/* 32: */ }
+/* 33: */
+/* 34: */ public int getToolDamagePerDropConversion()
+/* 35: */ {
+/* 36: 35 */ return 100;
+/* 37: */ }
+/* 38: */
+/* 39: */ public int getToolDamagePerContainerCraft()
+/* 40: */ {
+/* 41: 40 */ return 800;
+/* 42: */ }
+/* 43: */
+/* 44: */ public int getToolDamagePerEntityAttack()
+/* 45: */ {
+/* 46: 45 */ return 200;
+/* 47: */ }
+/* 48: */
+/* 49: */ public float getSpeedMultiplier()
+/* 50: */ {
+/* 51: 50 */ return 1.0F;
+/* 52: */ }
+/* 53: */
+/* 54: */ public float getMaxDurabilityMultiplier()
+/* 55: */ {
+/* 56: 55 */ return 1.0F;
+/* 57: */ }
+/* 58: */
+/* 59: */ public int getHurtResistanceTime(int aOriginalHurtResistance, Entity aEntity)
+/* 60: */ {
+/* 61: 60 */ return aOriginalHurtResistance;
+/* 62: */ }
+/* 63: */
+/* 64: */ public String getMiningSound()
+/* 65: */ {
+/* 66: 65 */ return null;
+/* 67: */ }
+/* 68: */
+/* 69: */ public String getCraftingSound()
+/* 70: */ {
+/* 71: 70 */ return null;
+/* 72: */ }
+/* 73: */
+/* 74: */ public String getEntityHitSound()
+/* 75: */ {
+/* 76: 75 */ return null;
+/* 77: */ }
+/* 78: */
+/* 79: */ public String getBreakingSound()
+/* 80: */ {
+/* 81: 80 */ return (String)GregTech_API.sSoundList.get(Integer.valueOf(0));
+/* 82: */ }
+/* 83: */
+/* 84: */ public int getBaseQuality()
+/* 85: */ {
+/* 86: 85 */ return 0;
+/* 87: */ }
+/* 88: */
+/* 89: */ public boolean canBlock()
+/* 90: */ {
+/* 91: 90 */ return false;
+/* 92: */ }
+/* 93: */
+/* 94: */ public boolean isCrowbar()
+/* 95: */ {
+/* 96: 95 */ return false;
+/* 97: */ }
+/* 98: */
+/* 99: */ public boolean isGrafter()
+/* 100: */ {
+/* 101:100 */ return false;
+/* 102: */ }
+/* 103: */
+/* 104: */ public boolean isWeapon()
+/* 105: */ {
+/* 106:105 */ return false;
+/* 107: */ }
+/* 108: */
+/* 109: */ public boolean isRangedWeapon()
+/* 110: */ {
+/* 111:110 */ return false;
+/* 112: */ }
+/* 113: */
+/* 114: */ public boolean isMiningTool()
+/* 115: */ {
+/* 116:115 */ return true;
+/* 117: */ }
+/* 118: */
+/* 119: */ public DamageSource getDamageSource(EntityLivingBase aPlayer, Entity aEntity)
+/* 120: */ {
+/* 121:120 */ return GT_DamageSources.getCombatDamage((aPlayer instanceof EntityPlayer) ? "player" : "mob", aPlayer, (aEntity instanceof EntityLivingBase) ? getDeathMessage(aPlayer, (EntityLivingBase)aEntity) : null);
+/* 122: */ }
+/* 123: */
+/* 124: */ public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity)
+/* 125: */ {
+/* 126:124 */ return new EntityDamageSource((aPlayer instanceof EntityPlayer) ? "player" : "mob", aPlayer).func_151519_b(aEntity);
+/* 127: */ }
+/* 128: */
+/* 129: */ 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)
+/* 130: */ {
+/* 131:129 */ return 0;
+/* 132: */ }
+/* 133: */
+/* 134: */ public ItemStack getBrokenItem(ItemStack aStack)
+/* 135: */ {
+/* 136:134 */ return null;
+/* 137: */ }
+/* 138: */
+/* 139: */ public Enchantment[] getEnchantments(ItemStack aStack)
+/* 140: */ {
+/* 141:139 */ return ZERO_ENCHANTMENTS;
+/* 142: */ }
+/* 143: */
+/* 144: */ public int[] getEnchantmentLevels(ItemStack aStack)
+/* 145: */ {
+/* 146:144 */ return ZERO_ENCHANTMENT_LEVELS;
+/* 147: */ }
+/* 148: */
+/* 149: */ public void onToolCrafted(ItemStack aStack, EntityPlayer aPlayer)
+/* 150: */ {
+/* 151:149 */ aPlayer.triggerAchievement(AchievementList.openInventory);
+/* 152:150 */ aPlayer.triggerAchievement(AchievementList.mineWood);
+/* 153:151 */ aPlayer.triggerAchievement(AchievementList.buildWorkBench);
+/* 154: */ }
+/* 155: */
+/* 156: */ public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) {}
+/* 157: */
+/* 158: */ public float getNormalDamageAgainstEntity(float aOriginalDamage, Entity aEntity, ItemStack aStack, EntityPlayer aPlayer)
+/* 159: */ {
+/* 160:161 */ return aOriginalDamage;
+/* 161: */ }
+/* 162: */
+/* 163: */ public float getMagicDamageAgainstEntity(float aOriginalDamage, Entity aEntity, ItemStack aStack, EntityPlayer aPlayer)
+/* 164: */ {
+/* 165:166 */ return aOriginalDamage;
+/* 166: */ }
+/* 167: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tools.GT_Tool
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/main/java/gregtech/common/tools/GT_Tool_Axe.java b/main/java/gregtech/common/tools/GT_Tool_Axe.java
new file mode 100644
index 0000000000..5f07ded782
--- /dev/null
+++ b/main/java/gregtech/common/tools/GT_Tool_Axe.java
@@ -0,0 +1,152 @@
+/* 1: */ package gregtech.common.tools;
+/* 2: */
+/* 3: */ import gregtech.api.GregTech_API;
+/* 4: */ import gregtech.api.enums.Materials;
+/* 5: */ import gregtech.api.enums.OrePrefixes;
+/* 6: */ import gregtech.api.interfaces.IIconContainer;
+/* 7: */ import gregtech.api.items.GT_MetaGenerated_Tool;
+
+/* 8: */ import java.util.List;
+/* 9: */ import java.util.Map;
+
+/* 10: */ import net.minecraft.block.Block;
+/* 11: */ import net.minecraft.block.material.Material;
+/* 12: */ import net.minecraft.entity.EntityLivingBase;
+/* 13: */ import net.minecraft.entity.player.EntityPlayer;
+/* 14: */ import net.minecraft.item.ItemStack;
+/* 15: */ import net.minecraft.util.ChatComponentText;
+/* 16: */ import net.minecraft.util.EnumChatFormatting;
+/* 17: */ import net.minecraft.util.IChatComponent;
+/* 18: */ import net.minecraft.world.World;
+import net.minecraftforge.event.world.BlockEvent;
+/* 19: */ import net.minecraftforge.event.world.BlockEvent.HarvestDropsEvent;
+/* 20: */
+/* 21: */ public class GT_Tool_Axe
+/* 22: */ extends GT_Tool
+/* 23: */ {
+/* 24: */ public int getToolDamagePerBlockBreak()
+/* 25: */ {
+/* 26: 23 */ return 50;
+/* 27: */ }
+/* 28: */
+/* 29: */ public int getToolDamagePerDropConversion()
+/* 30: */ {
+/* 31: 28 */ return 100;
+/* 32: */ }
+/* 33: */
+/* 34: */ public int getToolDamagePerContainerCraft()
+/* 35: */ {
+/* 36: 33 */ return 100;
+/* 37: */ }
+/* 38: */
+/* 39: */ public int getToolDamagePerEntityAttack()
+/* 40: */ {
+/* 41: 38 */ return 200;
+/* 42: */ }
+/* 43: */
+/* 44: */ public int getBaseQuality()
+/* 45: */ {
+/* 46: 43 */ return 0;
+/* 47: */ }
+/* 48: */
+/* 49: */ public float getBaseDamage()
+/* 50: */ {
+/* 51: 48 */ return 3.0F;
+/* 52: */ }
+/* 53: */
+/* 54: */ public float getSpeedMultiplier()
+/* 55: */ {
+/* 56: 53 */ return 2.0F;
+/* 57: */ }
+/* 58: */
+/* 59: */ public float getMaxDurabilityMultiplier()
+/* 60: */ {
+/* 61: 58 */ return 1.0F;
+/* 62: */ }
+/* 63: */
+/* 64: */ public String getCraftingSound()
+/* 65: */ {
+/* 66: 63 */ return null;
+/* 67: */ }
+/* 68: */
+/* 69: */ public String getEntityHitSound()
+/* 70: */ {
+/* 71: 68 */ return null;
+/* 72: */ }
+/* 73: */
+/* 74: */ public String getBreakingSound()
+/* 75: */ {
+/* 76: 73 */ return (String)GregTech_API.sSoundList.get(Integer.valueOf(0));
+/* 77: */ }
+/* 78: */
+/* 79: */ public String getMiningSound()
+/* 80: */ {
+/* 81: 78 */ return null;
+/* 82: */ }
+/* 83: */
+/* 84: */ public boolean canBlock()
+/* 85: */ {
+/* 86: 83 */ return false;
+/* 87: */ }
+/* 88: */
+/* 89: */ public boolean isCrowbar()
+/* 90: */ {
+/* 91: 88 */ return false;
+/* 92: */ }
+/* 93: */
+/* 94: */ public boolean isWeapon()
+/* 95: */ {
+/* 96: 93 */ return true;
+/* 97: */ }
+/* 98: */
+/* 99: */ public boolean isMinableBlock(Block aBlock, byte aMetaData)
+/* 100: */ {
+/* 101: 98 */ String tTool = aBlock.getHarvestTool(aMetaData);
+/* 102: 99 */ return ((tTool != null) && (tTool.equals("axe"))) || (aBlock.getMaterial() == Material.wood);
+/* 103: */ }
+/* 104: */
+/* 105: */ 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)
+/* 106: */ {
+/* 107:104 */ int rAmount = 0;
+/* 108:105 */ if ((GregTech_API.sTimber) && (!aPlayer.isSneaking()) && (OrePrefixes.log.contains(new ItemStack(aBlock, 1, aMetaData))))
+/* 109: */ {
+/* 110:106 */ int tY = aY + 1;
+/* 111:106 */ for (int tH = aPlayer.worldObj.getHeight(); tY < tH; tY++)
+/* 112: */ {
+/* 113:107 */ if ((aPlayer.worldObj.getBlock(aX, tY, aZ) != aBlock) || (!aPlayer.worldObj.func_147480_a(aX, tY, aZ, true))) {
+/* 114: */ break;
+/* 115: */ }
+/* 116:107 */ rAmount++;
+/* 117: */ }
+/* 118: */ }
+/* 119:110 */ return rAmount;
+/* 120: */ }
+/* 121: */
+/* 122: */ public ItemStack getBrokenItem(ItemStack aStack)
+/* 123: */ {
+/* 124:115 */ return null;
+/* 125: */ }
+/* 126: */
+/* 127: */ public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack)
+/* 128: */ {
+/* 129:120 */ return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[OrePrefixes.toolHeadAxe.mTextureIndex] : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mIconSet.mTextures[OrePrefixes.stick.mTextureIndex];
+/* 130: */ }
+/* 131: */
+/* 132: */ public short[] getRGBa(boolean aIsToolHead, ItemStack aStack)
+/* 133: */ {
+/* 134:125 */ return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
+/* 135: */ }
+/* 136: */
+/* 137: */ public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) {}
+/* 138: */
+/* 139: */ public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity)
+/* 140: */ {
+/* 141:135 */ return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " has been chopped by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE);
+/* 142: */ }
+/* 143: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tools.GT_Tool_Axe
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/main/java/gregtech/common/tools/GT_Tool_BranchCutter.java b/main/java/gregtech/common/tools/GT_Tool_BranchCutter.java
new file mode 100644
index 0000000000..2a26e934f6
--- /dev/null
+++ b/main/java/gregtech/common/tools/GT_Tool_BranchCutter.java
@@ -0,0 +1,106 @@
+/* 1: */ package gregtech.common.tools;
+/* 2: */
+/* 3: */ import gregtech.api.enums.Materials;
+import gregtech.api.enums.Textures;
+/* 4: */ import gregtech.api.enums.Textures.ItemIcons;
+/* 5: */ import gregtech.api.interfaces.IIconContainer;
+/* 6: */ import gregtech.api.items.GT_MetaGenerated_Tool;
+/* 7: */ import gregtech.api.util.GT_ModHandler;
+/* 8: */ import gregtech.api.util.GT_Utility;
+
+/* 9: */ import java.util.List;
+/* 10: */ import java.util.Random;
+
+/* 11: */ import net.minecraft.block.Block;
+/* 12: */ import net.minecraft.block.material.Material;
+/* 13: */ import net.minecraft.entity.EntityLivingBase;
+/* 14: */ import net.minecraft.entity.player.EntityPlayer;
+/* 15: */ import net.minecraft.init.Blocks;
+/* 16: */ import net.minecraft.init.Items;
+/* 17: */ import net.minecraft.item.Item;
+/* 18: */ import net.minecraft.item.ItemStack;
+/* 19: */ import net.minecraft.util.ChatComponentText;
+/* 20: */ import net.minecraft.util.EnumChatFormatting;
+/* 21: */ import net.minecraft.util.IChatComponent;
+/* 22: */ import net.minecraft.world.World;
+import net.minecraftforge.event.world.BlockEvent;
+/* 23: */ import net.minecraftforge.event.world.BlockEvent.HarvestDropsEvent;
+/* 24: */
+/* 25: */ public class GT_Tool_BranchCutter
+/* 26: */ extends GT_Tool
+/* 27: */ {
+/* 28: */ public float getBaseDamage()
+/* 29: */ {
+/* 30:26 */ return 2.5F;
+/* 31: */ }
+/* 32: */
+/* 33: */ public float getSpeedMultiplier()
+/* 34: */ {
+/* 35:31 */ return 0.25F;
+/* 36: */ }
+/* 37: */
+/* 38: */ public float getMaxDurabilityMultiplier()
+/* 39: */ {
+/* 40:36 */ return 0.25F;
+/* 41: */ }
+/* 42: */
+/* 43: */ public boolean isGrafter()
+/* 44: */ {
+/* 45:41 */ return true;
+/* 46: */ }
+/* 47: */
+/* 48: */ 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)
+/* 49: */ {
+/* 50:46 */ if (aBlock.getMaterial() == Material.leaves)
+/* 51: */ {
+/* 52:47 */ aEvent.dropChance = Math.min(1.0F, Math.max(aEvent.dropChance, (aStack.getItem().getHarvestLevel(aStack, "") + 1) * 0.2F));
+/* 53:48 */ if (aBlock == Blocks.leaves)
+/* 54: */ {
+/* 55:49 */ aDrops.clear();
+/* 56:50 */ if (((aMetaData & 0x3) == 0) && (aPlayer.worldObj.rand.nextInt(9) <= aFortune * 2)) {
+/* 57:50 */ aDrops.add(new ItemStack(Items.apple, 1, 0));
+/* 58: */ } else {
+/* 59:50 */ aDrops.add(new ItemStack(Blocks.sapling, 1, aMetaData & 0x3));
+/* 60: */ }
+/* 61: */ }
+/* 62:51 */ else if (aBlock == Blocks.leaves2)
+/* 63: */ {
+/* 64:52 */ aDrops.clear();
+/* 65:53 */ aDrops.add(new ItemStack(Blocks.sapling, 1, (aMetaData & 0x3) + 4));
+/* 66: */ }
+/* 67:54 */ else if (aBlock == GT_Utility.getBlockFromStack(GT_ModHandler.getIC2Item("rubberLeaves", 1L)))
+/* 68: */ {
+/* 69:55 */ aDrops.clear();
+/* 70:56 */ aDrops.add(GT_ModHandler.getIC2Item("rubberSapling", 1L));
+/* 71: */ }
+/* 72: */ }
+/* 73:59 */ return 0;
+/* 74: */ }
+/* 75: */
+/* 76: */ public boolean isMinableBlock(Block aBlock, byte aMetaData)
+/* 77: */ {
+/* 78:64 */ String tTool = aBlock.getHarvestTool(aMetaData);
+/* 79:65 */ return ((tTool != null) && (tTool.equals("grafter"))) || (aBlock.getMaterial() == Material.leaves);
+/* 80: */ }
+/* 81: */
+/* 82: */ public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack)
+/* 83: */ {
+/* 84:70 */ return aIsToolHead ? Textures.ItemIcons.GRAFTER : null;
+/* 85: */ }
+/* 86: */
+/* 87: */ public short[] getRGBa(boolean aIsToolHead, ItemStack aStack)
+/* 88: */ {
+/* 89:75 */ return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
+/* 90: */ }
+/* 91: */
+/* 92: */ public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity)
+/* 93: */ {
+/* 94:80 */ return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " has been trimmed by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE);
+/* 95: */ }
+/* 96: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tools.GT_Tool_BranchCutter
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/main/java/gregtech/common/tools/GT_Tool_ButcheryKnife.java b/main/java/gregtech/common/tools/GT_Tool_ButcheryKnife.java
new file mode 100644
index 0000000000..2e3a4d9ef0
--- /dev/null
+++ b/main/java/gregtech/common/tools/GT_Tool_ButcheryKnife.java
@@ -0,0 +1,105 @@
+/* 1: */ package gregtech.common.tools;
+/* 2: */
+/* 3: */ import gregtech.api.enums.Materials;
+import gregtech.api.enums.Textures;
+/* 4: */ import gregtech.api.enums.Textures.ItemIcons;
+/* 5: */ import gregtech.api.interfaces.IIconContainer;
+/* 6: */ import gregtech.api.items.GT_MetaGenerated_Tool;
+/* 7: */ import net.minecraft.block.Block;
+/* 8: */ import net.minecraft.enchantment.Enchantment;
+/* 9: */ import net.minecraft.entity.Entity;
+/* 10: */ import net.minecraft.entity.EntityLivingBase;
+/* 11: */ import net.minecraft.item.ItemStack;
+/* 12: */ import net.minecraft.util.ChatComponentText;
+/* 13: */ import net.minecraft.util.EnumChatFormatting;
+/* 14: */ import net.minecraft.util.IChatComponent;
+/* 15: */
+/* 16: */ public class GT_Tool_ButcheryKnife
+/* 17: */ extends GT_Tool
+/* 18: */ {
+/* 19: */ public int getToolDamagePerBlockBreak()
+/* 20: */ {
+/* 21:18 */ return 200;
+/* 22: */ }
+/* 23: */
+/* 24: */ public int getToolDamagePerDropConversion()
+/* 25: */ {
+/* 26:23 */ return 100;
+/* 27: */ }
+/* 28: */
+/* 29: */ public int getToolDamagePerContainerCraft()
+/* 30: */ {
+/* 31:28 */ return 100;
+/* 32: */ }
+/* 33: */
+/* 34: */ public int getToolDamagePerEntityAttack()
+/* 35: */ {
+/* 36:33 */ return 400;
+/* 37: */ }
+/* 38: */
+/* 39: */ public float getBaseDamage()
+/* 40: */ {
+/* 41:38 */ return 1.0F;
+/* 42: */ }
+/* 43: */
+/* 44: */ public int getHurtResistanceTime(int aOriginalHurtResistance, Entity aEntity)
+/* 45: */ {
+/* 46:43 */ return aOriginalHurtResistance * 2;
+/* 47: */ }
+/* 48: */
+/* 49: */ public float getSpeedMultiplier()
+/* 50: */ {
+/* 51:48 */ return 0.1F;
+/* 52: */ }
+/* 53: */
+/* 54: */ public float getMaxDurabilityMultiplier()
+/* 55: */ {
+/* 56:53 */ return 1.0F;
+/* 57: */ }
+/* 58: */
+/* 59: */ public boolean isWeapon()
+/* 60: */ {
+/* 61:58 */ return true;
+/* 62: */ }
+/* 63: */
+/* 64: */ public boolean isMiningTool()
+/* 65: */ {
+/* 66:63 */ return false;
+/* 67: */ }
+/* 68: */
+/* 69: */ public Enchantment[] getEnchantments(ItemStack aStack)
+/* 70: */ {
+/* 71:68 */ return LOOTING_ENCHANTMENT;
+/* 72: */ }
+/* 73: */
+/* 74: */ public int[] getEnchantmentLevels(ItemStack aStack)
+/* 75: */ {
+/* 76:73 */ return new int[] { (2 + GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mToolQuality) / 2 };
+/* 77: */ }
+/* 78: */
+/* 79: */ public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack)
+/* 80: */ {
+/* 81:78 */ return aIsToolHead ? Textures.ItemIcons.BUTCHERYKNIFE : null;
+/* 82: */ }
+/* 83: */
+/* 84: */ public short[] getRGBa(boolean aIsToolHead, ItemStack aStack)
+/* 85: */ {
+/* 86:83 */ return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
+/* 87: */ }
+/* 88: */
+/* 89: */ public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity)
+/* 90: */ {
+/* 91:88 */ return new ChatComponentText(EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE + " has butchered " + EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE);
+/* 92: */ }
+/* 93: */
+/* 94: */ public boolean isMinableBlock(Block aBlock, byte aMetaData)
+/* 95: */ {
+/* 96:93 */ return false;
+/* 97: */ }
+/* 98: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tools.GT_Tool_ButcheryKnife
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/main/java/gregtech/common/tools/GT_Tool_BuzzSaw.java b/main/java/gregtech/common/tools/GT_Tool_BuzzSaw.java
new file mode 100644
index 0000000000..16ba45c220
--- /dev/null
+++ b/main/java/gregtech/common/tools/GT_Tool_BuzzSaw.java
@@ -0,0 +1,87 @@
+/* 1: */ package gregtech.common.tools;
+/* 2: */
+/* 3: */ import gregtech.api.GregTech_API;
+/* 4: */ import gregtech.api.enums.Materials;
+import gregtech.api.enums.Textures;
+/* 5: */ import gregtech.api.enums.Textures.ItemIcons;
+/* 6: */ import gregtech.api.interfaces.IIconContainer;
+/* 7: */ import gregtech.api.items.GT_MetaGenerated_Tool;
+
+/* 8: */ import java.util.Map;
+
+/* 9: */ import net.minecraft.block.Block;
+/* 10: */ import net.minecraft.entity.EntityLivingBase;
+/* 11: */ import net.minecraft.item.ItemStack;
+/* 12: */ import net.minecraft.util.ChatComponentText;
+/* 13: */ import net.minecraft.util.EnumChatFormatting;
+/* 14: */ import net.minecraft.util.IChatComponent;
+/* 15: */
+/* 16: */ public class GT_Tool_BuzzSaw
+/* 17: */ extends GT_Tool_Saw
+/* 18: */ {
+/* 19: */ public int getToolDamagePerContainerCraft()
+/* 20: */ {
+/* 21:18 */ return 100;
+/* 22: */ }
+/* 23: */
+/* 24: */ public int getToolDamagePerEntityAttack()
+/* 25: */ {
+/* 26:23 */ return 300;
+/* 27: */ }
+/* 28: */
+/* 29: */ public float getBaseDamage()
+/* 30: */ {
+/* 31:28 */ return 1.0F;
+/* 32: */ }
+/* 33: */
+/* 34: */ public float getMaxDurabilityMultiplier()
+/* 35: */ {
+/* 36:33 */ return 1.0F;
+/* 37: */ }
+/* 38: */
+/* 39: */ public String getCraftingSound()
+/* 40: */ {
+/* 41:38 */ return (String)GregTech_API.sSoundList.get(Integer.valueOf(104));
+/* 42: */ }
+/* 43: */
+/* 44: */ public String getEntityHitSound()
+/* 45: */ {
+/* 46:43 */ return (String)GregTech_API.sSoundList.get(Integer.valueOf(105));
+/* 47: */ }
+/* 48: */
+/* 49: */ public String getBreakingSound()
+/* 50: */ {
+/* 51:48 */ return (String)GregTech_API.sSoundList.get(Integer.valueOf(0));
+/* 52: */ }
+/* 53: */
+/* 54: */ public String getMiningSound()
+/* 55: */ {
+/* 56:53 */ return (String)GregTech_API.sSoundList.get(Integer.valueOf(104));
+/* 57: */ }
+/* 58: */
+/* 59: */ public boolean isMinableBlock(Block aBlock, byte aMetaData)
+/* 60: */ {
+/* 61:58 */ return false;
+/* 62: */ }
+/* 63: */
+/* 64: */ public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack)
+/* 65: */ {
+/* 66:63 */ return !aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadBuzzSaw.mTextureIndex] : Textures.ItemIcons.HANDLE_BUZZSAW;
+/* 67: */ }
+/* 68: */
+/* 69: */ public short[] getRGBa(boolean aIsToolHead, ItemStack aStack)
+/* 70: */ {
+/* 71:68 */ return !aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
+/* 72: */ }
+/* 73: */
+/* 74: */ public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity)
+/* 75: */ {
+/* 76:73 */ return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " got buzzed by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE);
+/* 77: */ }
+/* 78: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tools.GT_Tool_BuzzSaw
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/main/java/gregtech/common/tools/GT_Tool_Chainsaw_HV.java b/main/java/gregtech/common/tools/GT_Tool_Chainsaw_HV.java
new file mode 100644
index 0000000000..21182beee2
--- /dev/null
+++ b/main/java/gregtech/common/tools/GT_Tool_Chainsaw_HV.java
@@ -0,0 +1,61 @@
+/* 1: */ package gregtech.common.tools;
+/* 2: */
+/* 3: */ import gregtech.api.enums.Textures;
+import gregtech.api.enums.Textures.ItemIcons;
+/* 4: */ import gregtech.api.interfaces.IIconContainer;
+/* 5: */ import net.minecraft.item.ItemStack;
+/* 6: */
+/* 7: */ public class GT_Tool_Chainsaw_HV
+/* 8: */ extends GT_Tool_Chainsaw_LV
+/* 9: */ {
+/* 10: */ public int getToolDamagePerBlockBreak()
+/* 11: */ {
+/* 12:12 */ return 800;
+/* 13: */ }
+/* 14: */
+/* 15: */ public int getToolDamagePerDropConversion()
+/* 16: */ {
+/* 17:17 */ return 1600;
+/* 18: */ }
+/* 19: */
+/* 20: */ public int getToolDamagePerContainerCraft()
+/* 21: */ {
+/* 22:22 */ return 12800;
+/* 23: */ }
+/* 24: */
+/* 25: */ public int getToolDamagePerEntityAttack()
+/* 26: */ {
+/* 27:27 */ return 3200;
+/* 28: */ }
+/* 29: */
+/* 30: */ public int getBaseQuality()
+/* 31: */ {
+/* 32:32 */ return 1;
+/* 33: */ }
+/* 34: */
+/* 35: */ public float getBaseDamage()
+/* 36: */ {
+/* 37:37 */ return 4.0F;
+/* 38: */ }
+/* 39: */
+/* 40: */ public float getSpeedMultiplier()
+/* 41: */ {
+/* 42:42 */ return 4.0F;
+/* 43: */ }
+/* 44: */
+/* 45: */ public float getMaxDurabilityMultiplier()
+/* 46: */ {
+/* 47:47 */ return 4.0F;
+/* 48: */ }
+/* 49: */
+/* 50: */ public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack)
+/* 51: */ {
+/* 52:52 */ return aIsToolHead ? gregtech.api.items.GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadChainsaw.mTextureIndex] : Textures.ItemIcons.POWER_UNIT_HV;
+/* 53: */ }
+/* 54: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tools.GT_Tool_Chainsaw_HV
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/main/java/gregtech/common/tools/GT_Tool_Chainsaw_LV.java b/main/java/gregtech/common/tools/GT_Tool_Chainsaw_LV.java
new file mode 100644
index 0000000000..391177bd66
--- /dev/null
+++ b/main/java/gregtech/common/tools/GT_Tool_Chainsaw_LV.java
@@ -0,0 +1,111 @@
+/* 1: */ package gregtech.common.tools;
+/* 2: */
+/* 3: */ import gregtech.api.GregTech_API;
+/* 4: */ import gregtech.api.enums.Materials;
+import gregtech.api.enums.Textures;
+/* 5: */ import gregtech.api.enums.Textures.ItemIcons;
+/* 6: */ import gregtech.api.interfaces.IIconContainer;
+/* 7: */ import gregtech.api.items.GT_MetaGenerated_Tool;
+
+/* 8: */ import java.util.Map;
+
+/* 9: */ import net.minecraft.entity.EntityLivingBase;
+/* 10: */ import net.minecraft.item.ItemStack;
+/* 11: */ import net.minecraft.util.ChatComponentText;
+/* 12: */ import net.minecraft.util.EnumChatFormatting;
+/* 13: */ import net.minecraft.util.IChatComponent;
+/* 14: */
+/* 15: */ public class GT_Tool_Chainsaw_LV
+/* 16: */ extends GT_Tool_Saw
+/* 17: */ {
+/* 18: */ public int getToolDamagePerBlockBreak()
+/* 19: */ {
+/* 20:17 */ return 50;
+/* 21: */ }
+/* 22: */
+/* 23: */ public int getToolDamagePerDropConversion()
+/* 24: */ {
+/* 25:22 */ return 100;
+/* 26: */ }
+/* 27: */
+/* 28: */ public int getToolDamagePerContainerCraft()
+/* 29: */ {
+/* 30:27 */ return 800;
+/* 31: */ }
+/* 32: */
+/* 33: */ public int getToolDamagePerEntityAttack()
+/* 34: */ {
+/* 35:32 */ return 200;
+/* 36: */ }
+/* 37: */
+/* 38: */ public int getBaseQuality()
+/* 39: */ {
+/* 40:37 */ return 0;
+/* 41: */ }
+/* 42: */
+/* 43: */ public float getBaseDamage()
+/* 44: */ {
+/* 45:42 */ return 3.0F;
+/* 46: */ }
+/* 47: */
+/* 48: */ public float getSpeedMultiplier()
+/* 49: */ {
+/* 50:47 */ return 2.0F;
+/* 51: */ }
+/* 52: */
+/* 53: */ public float getMaxDurabilityMultiplier()
+/* 54: */ {
+/* 55:52 */ return 1.0F;
+/* 56: */ }
+/* 57: */
+/* 58: */ public String getCraftingSound()
+/* 59: */ {
+/* 60:57 */ return (String)GregTech_API.sSoundList.get(Integer.valueOf(104));
+/* 61: */ }
+/* 62: */
+/* 63: */ public String getEntityHitSound()
+/* 64: */ {
+/* 65:62 */ return (String)GregTech_API.sSoundList.get(Integer.valueOf(105));
+/* 66: */ }
+/* 67: */
+/* 68: */ public String getBreakingSound()
+/* 69: */ {
+/* 70:67 */ return (String)GregTech_API.sSoundList.get(Integer.valueOf(0));
+/* 71: */ }
+/* 72: */
+/* 73: */ public String getMiningSound()
+/* 74: */ {
+/* 75:72 */ return (String)GregTech_API.sSoundList.get(Integer.valueOf(104));
+/* 76: */ }
+/* 77: */
+/* 78: */ public boolean canBlock()
+/* 79: */ {
+/* 80:77 */ return false;
+/* 81: */ }
+/* 82: */
+/* 83: */ public boolean isWeapon()
+/* 84: */ {
+/* 85:82 */ return true;
+/* 86: */ }
+/* 87: */
+/* 88: */ public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack)
+/* 89: */ {
+/* 90:87 */ return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadChainsaw.mTextureIndex] : Textures.ItemIcons.POWER_UNIT_LV;
+/* 91: */ }
+/* 92: */
+/* 93: */ public short[] getRGBa(boolean aIsToolHead, ItemStack aStack)
+/* 94: */ {
+/* 95:92 */ return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
+/* 96: */ }
+/* 97: */
+/* 98: */ public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity)
+/* 99: */ {
+/* :0:97 */ return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " was massacred by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE);
+/* :1: */ }
+/* :2: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tools.GT_Tool_Chainsaw_LV
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/main/java/gregtech/common/tools/GT_Tool_Chainsaw_MV.java b/main/java/gregtech/common/tools/GT_Tool_Chainsaw_MV.java
new file mode 100644
index 0000000000..f6b5dc4ac7
--- /dev/null
+++ b/main/java/gregtech/common/tools/GT_Tool_Chainsaw_MV.java
@@ -0,0 +1,61 @@
+/* 1: */ package gregtech.common.tools;
+/* 2: */
+/* 3: */ import gregtech.api.enums.Textures;
+import gregtech.api.enums.Textures.ItemIcons;
+/* 4: */ import gregtech.api.interfaces.IIconContainer;
+/* 5: */ import net.minecraft.item.ItemStack;
+/* 6: */
+/* 7: */ public class GT_Tool_Chainsaw_MV
+/* 8: */ extends GT_Tool_Chainsaw_LV
+/* 9: */ {
+/* 10: */ public int getToolDamagePerBlockBreak()
+/* 11: */ {
+/* 12:12 */ return 200;
+/* 13: */ }
+/* 14: */
+/* 15: */ public int getToolDamagePerDropConversion()
+/* 16: */ {
+/* 17:17 */ return 400;
+/* 18: */ }
+/* 19: */
+/* 20: */ public int getToolDamagePerContainerCraft()
+/* 21: */ {
+/* 22:22 */ return 3200;
+/* 23: */ }
+/* 24: */
+/* 25: */ public int getToolDamagePerEntityAttack()
+/* 26: */ {
+/* 27:27 */ return 800;
+/* 28: */ }
+/* 29: */
+/* 30: */ public int getBaseQuality()
+/* 31: */ {
+/* 32:32 */ return 1;
+/* 33: */ }
+/* 34: */
+/* 35: */ public float getBaseDamage()
+/* 36: */ {
+/* 37:37 */ return 3.5F;
+/* 38: */ }
+/* 39: */
+/* 40: */ public float getSpeedMultiplier()
+/* 41: */ {
+/* 42:42 */ return 3.0F;
+/* 43: */ }
+/* 44: */
+/* 45: */ public float getMaxDurabilityMultiplier()
+/* 46: */ {
+/* 47:47 */ return 2.0F;
+/* 48: */ }
+/* 49: */
+/* 50: */ public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack)
+/* 51: */ {
+/* 52:52 */ return aIsToolHead ? gregtech.api.items.GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadChainsaw.mTextureIndex] : Textures.ItemIcons.POWER_UNIT_MV;
+/* 53: */ }
+/* 54: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tools.GT_Tool_Chainsaw_MV
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/main/java/gregtech/common/tools/GT_Tool_Crowbar.java b/main/java/gregtech/common/tools/GT_Tool_Crowbar.java
new file mode 100644
index 0000000000..ce2b45b4d9
--- /dev/null
+++ b/main/java/gregtech/common/tools/GT_Tool_Crowbar.java
@@ -0,0 +1,152 @@
+/* 1: */ package gregtech.common.tools;
+/* 2: */
+/* 3: */ import gregtech.api.GregTech_API;
+/* 4: */ import gregtech.api.enums.Materials;
+import gregtech.api.enums.Textures;
+/* 5: */ import gregtech.api.enums.Textures.ItemIcons;
+/* 6: */ import gregtech.api.interfaces.IIconContainer;
+/* 7: */ import gregtech.api.interfaces.IToolStats;
+/* 8: */ import gregtech.api.items.GT_MetaGenerated_Tool;
+/* 9: */ import gregtech.common.items.GT_MetaGenerated_Tool_01;
+/* 10: */ import gregtech.common.items.behaviors.Behaviour_Crowbar;
+
+/* 11: */ import java.util.Collection;
+/* 12: */ import java.util.HashMap;
+/* 13: */ import java.util.Iterator;
+/* 14: */ import java.util.Map;
+
+/* 15: */ import net.minecraft.block.Block;
+/* 16: */ import net.minecraft.block.material.Material;
+/* 17: */ import net.minecraft.entity.EntityLivingBase;
+/* 18: */ import net.minecraft.item.ItemStack;
+/* 19: */ import net.minecraft.util.ChatComponentText;
+/* 20: */ import net.minecraft.util.EnumChatFormatting;
+/* 21: */ import net.minecraft.util.IChatComponent;
+/* 22: */
+/* 23: */ public class GT_Tool_Crowbar
+/* 24: */ extends GT_Tool
+/* 25: */ {
+/* 26: */ public int getToolDamagePerBlockBreak()
+/* 27: */ {
+/* 28: 21 */ return 50;
+/* 29: */ }
+/* 30: */
+/* 31: */ public int getToolDamagePerDropConversion()
+/* 32: */ {
+/* 33: 26 */ return 100;
+/* 34: */ }
+/* 35: */
+/* 36: */ public int getToolDamagePerContainerCraft()
+/* 37: */ {
+/* 38: 31 */ return 100;
+/* 39: */ }
+/* 40: */
+/* 41: */ public int getToolDamagePerEntityAttack()
+/* 42: */ {
+/* 43: 36 */ return 200;
+/* 44: */ }
+/* 45: */
+/* 46: */ public int getBaseQuality()
+/* 47: */ {
+/* 48: 41 */ return 0;
+/* 49: */ }
+/* 50: */
+/* 51: */ public float getBaseDamage()
+/* 52: */ {
+/* 53: 46 */ return 2.0F;
+/* 54: */ }
+/* 55: */
+/* 56: */ public float getSpeedMultiplier()
+/* 57: */ {
+/* 58: 51 */ return 1.0F;
+/* 59: */ }
+/* 60: */
+/* 61: */ public float getMaxDurabilityMultiplier()
+/* 62: */ {
+/* 63: 56 */ return 1.0F;
+/* 64: */ }
+/* 65: */
+/* 66: */ public String getCraftingSound()
+/* 67: */ {
+/* 68: 61 */ return (String)GregTech_API.sSoundList.get(Integer.valueOf(0));
+/* 69: */ }
+/* 70: */
+/* 71: */ public String getEntityHitSound()
+/* 72: */ {
+/* 73: 66 */ return (String)GregTech_API.sSoundList.get(Integer.valueOf(0));
+/* 74: */ }
+/* 75: */
+/* 76: */ public String getBreakingSound()
+/* 77: */ {
+/* 78: 71 */ return (String)GregTech_API.sSoundList.get(Integer.valueOf(0));
+/* 79: */ }
+/* 80: */
+/* 81: */ public String getMiningSound()
+/* 82: */ {
+/* 83: 76 */ return (String)GregTech_API.sSoundList.get(Integer.valueOf(0));
+/* 84: */ }
+/* 85: */
+/* 86: */ public boolean canBlock()
+/* 87: */ {
+/* 88: 81 */ return true;
+/* 89: */ }
+/* 90: */
+/* 91: */ public boolean isCrowbar()
+/* 92: */ {
+/* 93: 86 */ return true;
+/* 94: */ }
+/* 95: */
+/* 96: */ public boolean isWeapon()
+/* 97: */ {
+/* 98: 91 */ return true;
+/* 99: */ }
+/* 100: */
+/* 101: */ public boolean isMinableBlock(Block aBlock, byte aMetaData)
+/* 102: */ {
+/* 103: 96 */ if (aBlock.getMaterial() == Material.circuits) {
+/* 104: 96 */ return true;
+/* 105: */ }
+/* 106: 97 */ String tTool = aBlock.getHarvestTool(aMetaData);
+/* 107: 98 */ if ((tTool == null) || (tTool.equals("")))
+/* 108: */ {
+/* 109: 99 */ for (Iterator i$ = GT_MetaGenerated_Tool_01.INSTANCE.mToolStats.values().iterator(); i$.hasNext(); i$.next())
+/* 110: */ {
+/* 111: 99 */ IToolStats tStat = (IToolStats)i$;
+/* 112: 99 */ if (((tStat instanceof GT_Tool_Crowbar)) || (!tStat.isMinableBlock(aBlock, aMetaData))) {}
+/* 113: */ }
+/* 114:100 */ return true;
+/* 115: */ }
+/* 116:102 */ return tTool.equals("crowbar");
+/* 117: */ }
+/* 118: */
+/* 119: */ public ItemStack getBrokenItem(ItemStack aStack)
+/* 120: */ {
+/* 121:107 */ return null;
+/* 122: */ }
+/* 123: */
+/* 124: */ public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack)
+/* 125: */ {
+/* 126:112 */ return aIsToolHead ? Textures.ItemIcons.CROWBAR : null;
+/* 127: */ }
+/* 128: */
+/* 129: */ public short[] getRGBa(boolean aIsToolHead, ItemStack aStack)
+/* 130: */ {
+/* 131:117 */ return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : null;
+/* 132: */ }
+/* 133: */
+/* 134: */ public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID)
+/* 135: */ {
+/* 136:122 */ aItem.addItemBehavior(aID, new Behaviour_Crowbar(1, 1000));
+/* 137: */ }
+/* 138: */
+/* 139: */ public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity)
+/* 140: */ {
+/* 141:127 */ return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " was removed by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE);
+/* 142: */ }
+/* 143: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tools.GT_Tool_Crowbar
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/main/java/gregtech/common/tools/GT_Tool_Drill_HV.java b/main/java/gregtech/common/tools/GT_Tool_Drill_HV.java
new file mode 100644
index 0000000000..a71722a17d
--- /dev/null
+++ b/main/java/gregtech/common/tools/GT_Tool_Drill_HV.java
@@ -0,0 +1,63 @@
+/* 1: */ package gregtech.common.tools;
+/* 2: */
+/* 3: */ import gregtech.GT_Mod;
+import gregtech.api.enums.Textures;
+/* 4: */ import gregtech.api.enums.Textures.ItemIcons;
+/* 5: */ import gregtech.api.interfaces.IIconContainer;
+/* 6: */ import gregtech.common.GT_Proxy;
+/* 7: */ import net.minecraft.item.ItemStack;
+/* 8: */
+/* 9: */ public class GT_Tool_Drill_HV
+/* 10: */ extends GT_Tool_Drill_LV
+/* 11: */ {
+/* 12: */ public int getToolDamagePerBlockBreak()
+/* 13: */ {
+/* 14:13 */ return GT_Mod.gregtechproxy.mHardRock ? 400 : 800;
+/* 15: */ }
+/* 16: */
+/* 17: */ public int getToolDamagePerDropConversion()
+/* 18: */ {
+/* 19:18 */ return 1600;
+/* 20: */ }
+/* 21: */
+/* 22: */ public int getToolDamagePerContainerCraft()
+/* 23: */ {
+/* 24:23 */ return 12800;
+/* 25: */ }
+/* 26: */
+/* 27: */ public int getToolDamagePerEntityAttack()
+/* 28: */ {
+/* 29:28 */ return 3200;
+/* 30: */ }
+/* 31: */
+/* 32: */ public int getBaseQuality()
+/* 33: */ {
+/* 34:33 */ return 1;
+/* 35: */ }
+/* 36: */
+/* 37: */ public float getBaseDamage()
+/* 38: */ {
+/* 39:38 */ return 3.0F;
+/* 40: */ }
+/* 41: */
+/* 42: */ public float getSpeedMultiplier()
+/* 43: */ {
+/* 44:43 */ return 9.0F;
+/* 45: */ }
+/* 46: */
+/* 47: */ public float getMaxDurabilityMultiplier()
+/* 48: */ {
+/* 49:48 */ return 4.0F;
+/* 50: */ }
+/* 51: */
+/* 52: */ public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack)
+/* 53: */ {
+/* 54:53 */ return aIsToolHead ? gregtech.api.items.GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadDrill.mTextureIndex] : Textures.ItemIcons.POWER_UNIT_HV;
+/* 55: */ }
+/* 56: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tools.GT_Tool_Drill_HV
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/main/java/gregtech/common/tools/GT_Tool_Drill_LV.java b/main/java/gregtech/common/tools/GT_Tool_Drill_LV.java
new file mode 100644
index 0000000000..941b3c037b
--- /dev/null
+++ b/main/java/gregtech/common/tools/GT_Tool_Drill_LV.java
@@ -0,0 +1,137 @@
+/* 1: */ package gregtech.common.tools;
+/* 2: */
+/* 3: */ import gregtech.GT_Mod;
+/* 4: */ import gregtech.api.GregTech_API;
+/* 5: */ import gregtech.api.enums.Materials;
+import gregtech.api.enums.Textures;
+/* 6: */ import gregtech.api.enums.Textures.ItemIcons;
+/* 7: */ import gregtech.api.interfaces.IIconContainer;
+/* 8: */ import gregtech.api.items.GT_MetaGenerated_Tool;
+/* 9: */ import gregtech.common.GT_Proxy;
+
+/* 10: */ import java.util.Map;
+
+/* 11: */ import net.minecraft.block.Block;
+/* 12: */ import net.minecraft.block.material.Material;
+/* 13: */ import net.minecraft.entity.EntityLivingBase;
+/* 14: */ import net.minecraft.entity.player.EntityPlayer;
+/* 15: */ import net.minecraft.item.ItemStack;
+/* 16: */ import net.minecraft.stats.AchievementList;
+/* 17: */ import net.minecraft.util.ChatComponentText;
+/* 18: */ import net.minecraft.util.EnumChatFormatting;
+/* 19: */ import net.minecraft.util.IChatComponent;
+/* 20: */
+/* 21: */ public class GT_Tool_Drill_LV
+/* 22: */ extends GT_Tool
+/* 23: */ {
+/* 24: */ public int getToolDamagePerBlockBreak()
+/* 25: */ {
+/* 26: 22 */ return GT_Mod.gregtechproxy.mHardRock ? 25 : 50;
+/* 27: */ }
+/* 28: */
+/* 29: */ public int getToolDamagePerDropConversion()
+/* 30: */ {
+/* 31: 27 */ return 100;
+/* 32: */ }
+/* 33: */
+/* 34: */ public int getToolDamagePerContainerCraft()
+/* 35: */ {
+/* 36: 32 */ return 100;
+/* 37: */ }
+/* 38: */
+/* 39: */ public int getToolDamagePerEntityAttack()
+/* 40: */ {
+/* 41: 37 */ return 200;
+/* 42: */ }
+/* 43: */
+/* 44: */ public int getBaseQuality()
+/* 45: */ {
+/* 46: 42 */ return 0;
+/* 47: */ }
+/* 48: */
+/* 49: */ public float getBaseDamage()
+/* 50: */ {
+/* 51: 47 */ return 2.0F;
+/* 52: */ }
+/* 53: */
+/* 54: */ public float getSpeedMultiplier()
+/* 55: */ {
+/* 56: 52 */ return 3.0F;
+/* 57: */ }
+/* 58: */
+/* 59: */ public float getMaxDurabilityMultiplier()
+/* 60: */ {
+/* 61: 57 */ return 1.0F;
+/* 62: */ }
+/* 63: */
+/* 64: */ public String getCraftingSound()
+/* 65: */ {
+/* 66: 62 */ return (String)GregTech_API.sSoundList.get(Integer.valueOf(106));
+/* 67: */ }
+/* 68: */
+/* 69: */ public String getEntityHitSound()
+/* 70: */ {
+/* 71: 67 */ return (String)GregTech_API.sSoundList.get(Integer.valueOf(106));
+/* 72: */ }
+/* 73: */
+/* 74: */ public String getBreakingSound()
+/* 75: */ {
+/* 76: 72 */ return (String)GregTech_API.sSoundList.get(Integer.valueOf(106));
+/* 77: */ }
+/* 78: */
+/* 79: */ public String getMiningSound()
+/* 80: */ {
+/* 81: 77 */ return (String)GregTech_API.sSoundList.get(Integer.valueOf(106));
+/* 82: */ }
+/* 83: */
+/* 84: */ public boolean canBlock()
+/* 85: */ {
+/* 86: 82 */ return false;
+/* 87: */ }
+/* 88: */
+/* 89: */ public boolean isCrowbar()
+/* 90: */ {
+/* 91: 87 */ return false;
+/* 92: */ }
+/* 93: */
+/* 94: */ public boolean isMinableBlock(Block aBlock, byte aMetaData)
+/* 95: */ {
+/* 96: 92 */ String tTool = aBlock.getHarvestTool(aMetaData);
+/* 97: 93 */ return ((tTool != null) && ((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);
+/* 98: */ }
+/* 99: */
+/* 100: */ public ItemStack getBrokenItem(ItemStack aStack)
+/* 101: */ {
+/* 102: 98 */ return null;
+/* 103: */ }
+/* 104: */
+/* 105: */ public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack)
+/* 106: */ {
+/* 107:103 */ return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadDrill.mTextureIndex] : Textures.ItemIcons.POWER_UNIT_LV;
+/* 108: */ }
+/* 109: */
+/* 110: */ public short[] getRGBa(boolean aIsToolHead, ItemStack aStack)
+/* 111: */ {
+/* 112:108 */ return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
+/* 113: */ }
+/* 114: */
+/* 115: */ public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) {}
+/* 116: */
+/* 117: */ public void onToolCrafted(ItemStack aStack, EntityPlayer aPlayer)
+/* 118: */ {
+/* 119:118 */ super.onToolCrafted(aStack, aPlayer);
+/* 120:119 */ aPlayer.triggerAchievement(AchievementList.buildPickaxe);
+/* 121:120 */ aPlayer.triggerAchievement(AchievementList.buildBetterPickaxe);
+/* 122: */ }
+/* 123: */
+/* 124: */ public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity)
+/* 125: */ {
+/* 126:125 */ return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " got the Drill! (by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE + ")");
+/* 127: */ }
+/* 128: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tools.GT_Tool_Drill_LV
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/main/java/gregtech/common/tools/GT_Tool_Drill_MV.java b/main/java/gregtech/common/tools/GT_Tool_Drill_MV.java
new file mode 100644
index 0000000000..05821fa9e2
--- /dev/null
+++ b/main/java/gregtech/common/tools/GT_Tool_Drill_MV.java
@@ -0,0 +1,63 @@
+/* 1: */ package gregtech.common.tools;
+/* 2: */
+/* 3: */ import gregtech.GT_Mod;
+import gregtech.api.enums.Textures;
+/* 4: */ import gregtech.api.enums.Textures.ItemIcons;
+/* 5: */ import gregtech.api.interfaces.IIconContainer;
+/* 6: */ import gregtech.common.GT_Proxy;
+/* 7: */ import net.minecraft.item.ItemStack;
+/* 8: */
+/* 9: */ public class GT_Tool_Drill_MV
+/* 10: */ extends GT_Tool_Drill_LV
+/* 11: */ {
+/* 12: */ public int getToolDamagePerBlockBreak()
+/* 13: */ {
+/* 14:13 */ return GT_Mod.gregtechproxy.mHardRock ? 100 : 200;
+/* 15: */ }
+/* 16: */
+/* 17: */ public int getToolDamagePerDropConversion()
+/* 18: */ {
+/* 19:18 */ return 400;
+/* 20: */ }
+/* 21: */
+/* 22: */ public int getToolDamagePerContainerCraft()
+/* 23: */ {
+/* 24:23 */ return 3200;
+/* 25: */ }
+/* 26: */
+/* 27: */ public int getToolDamagePerEntityAttack()
+/* 28: */ {
+/* 29:28 */ return 800;
+/* 30: */ }
+/* 31: */
+/* 32: */ public int getBaseQuality()
+/* 33: */ {
+/* 34:33 */ return 1;
+/* 35: */ }
+/* 36: */
+/* 37: */ public float getBaseDamage()
+/* 38: */ {
+/* 39:38 */ return 2.5F;
+/* 40: */ }
+/* 41: */
+/* 42: */ public float getSpeedMultiplier()
+/* 43: */ {
+/* 44:43 */ return 6.0F;
+/* 45: */ }
+/* 46: */
+/* 47: */ public float getMaxDurabilityMultiplier()
+/* 48: */ {
+/* 49:48 */ return 2.0F;
+/* 50: */ }
+/* 51: */
+/* 52: */ public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack)
+/* 53: */ {
+/* 54:53 */ return aIsToolHead ? gregtech.api.items.GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadDrill.mTextureIndex] : Textures.ItemIcons.POWER_UNIT_MV;
+/* 55: */ }
+/* 56: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tools.GT_Tool_Drill_MV
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/main/java/gregtech/common/tools/GT_Tool_File.java b/main/java/gregtech/common/tools/GT_Tool_File.java
new file mode 100644
index 0000000000..a1b78fe98b
--- /dev/null
+++ b/main/java/gregtech/common/tools/GT_Tool_File.java
@@ -0,0 +1,130 @@
+/* 1: */ package gregtech.common.tools;
+/* 2: */
+/* 3: */ import gregtech.api.GregTech_API;
+/* 4: */ import gregtech.api.enums.Materials;
+import gregtech.api.enums.Textures;
+/* 5: */ import gregtech.api.enums.Textures.ItemIcons;
+/* 6: */ import gregtech.api.interfaces.IIconContainer;
+/* 7: */ import gregtech.api.items.GT_MetaGenerated_Tool;
+
+/* 8: */ import java.util.Map;
+
+/* 9: */ import net.minecraft.block.Block;
+/* 10: */ import net.minecraft.entity.EntityLivingBase;
+/* 11: */ import net.minecraft.item.ItemStack;
+/* 12: */ import net.minecraft.util.ChatComponentText;
+/* 13: */ import net.minecraft.util.EnumChatFormatting;
+/* 14: */ import net.minecraft.util.IChatComponent;
+/* 15: */
+/* 16: */ public class GT_Tool_File
+/* 17: */ extends GT_Tool
+/* 18: */ {
+/* 19: */ public int getToolDamagePerBlockBreak()
+/* 20: */ {
+/* 21: 18 */ return 50;
+/* 22: */ }
+/* 23: */
+/* 24: */ public int getToolDamagePerDropConversion()
+/* 25: */ {
+/* 26: 23 */ return 100;
+/* 27: */ }
+/* 28: */
+/* 29: */ public int getToolDamagePerContainerCraft()
+/* 30: */ {
+/* 31: 28 */ return 400;
+/* 32: */ }
+/* 33: */
+/* 34: */ public int getToolDamagePerEntityAttack()
+/* 35: */ {
+/* 36: 33 */ return 200;
+/* 37: */ }
+/* 38: */
+/* 39: */ public int getBaseQuality()
+/* 40: */ {
+/* 41: 38 */ return 0;
+/* 42: */ }
+/* 43: */
+/* 44: */ public float getBaseDamage()
+/* 45: */ {
+/* 46: 43 */ return 1.5F;
+/* 47: */ }
+/* 48: */
+/* 49: */ public float getSpeedMultiplier()
+/* 50: */ {
+/* 51: 48 */ return 1.0F;
+/* 52: */ }
+/* 53: */
+/* 54: */ public float getMaxDurabilityMultiplier()
+/* 55: */ {
+/* 56: 53 */ return 1.0F;
+/* 57: */ }
+/* 58: */
+/* 59: */ public String getCraftingSound()
+/* 60: */ {
+/* 61: 58 */ return null;
+/* 62: */ }
+/* 63: */
+/* 64: */ public String getEntityHitSound()
+/* 65: */ {
+/* 66: 63 */ return null;
+/* 67: */ }
+/* 68: */
+/* 69: */ public String getBreakingSound()
+/* 70: */ {
+/* 71: 68 */ return (String)GregTech_API.sSoundList.get(Integer.valueOf(0));
+/* 72: */ }
+/* 73: */
+/* 74: */ public String getMiningSound()
+/* 75: */ {
+/* 76: 73 */ return null;
+/* 77: */ }
+/* 78: */
+/* 79: */ public boolean canBlock()
+/* 80: */ {
+/* 81: 78 */ return true;
+/* 82: */ }
+/* 83: */
+/* 84: */ public boolean isCrowbar()
+/* 85: */ {
+/* 86: 83 */ return false;
+/* 87: */ }
+/* 88: */
+/* 89: */ public boolean isMiningTool()
+/* 90: */ {
+/* 91: 88 */ return false;
+/* 92: */ }
+/* 93: */
+/* 94: */ public boolean isMinableBlock(Block aBlock, byte aMetaData)
+/* 95: */ {
+/* 96: 93 */ String tTool = aBlock.getHarvestTool(aMetaData);
+/* 97: 94 */ return (tTool != null) && (tTool.equals("file"));
+/* 98: */ }
+/* 99: */
+/* 100: */ public ItemStack getBrokenItem(ItemStack aStack)
+/* 101: */ {
+/* 102: 99 */ return null;
+/* 103: */ }
+/* 104: */
+/* 105: */ public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack)
+/* 106: */ {
+/* 107:104 */ return !aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadFile.mTextureIndex] : Textures.ItemIcons.HANDLE_FILE;
+/* 108: */ }
+/* 109: */
+/* 110: */ public short[] getRGBa(boolean aIsToolHead, ItemStack aStack)
+/* 111: */ {
+/* 112:109 */ return !aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
+/* 113: */ }
+/* 114: */
+/* 115: */ public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) {}
+/* 116: */
+/* 117: */ public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity)
+/* 118: */ {
+/* 119:119 */ return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " has been filed D for 'Dead' by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE);
+/* 120: */ }
+/* 121: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tools.GT_Tool_File
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/main/java/gregtech/common/tools/GT_Tool_HardHammer.java b/main/java/gregtech/common/tools/GT_Tool_HardHammer.java
new file mode 100644
index 0000000000..67cb45ff24
--- /dev/null
+++ b/main/java/gregtech/common/tools/GT_Tool_HardHammer.java
@@ -0,0 +1,188 @@
+/* 1: */ package gregtech.common.tools;
+/* 2: */
+/* 3: */ import gregtech.api.GregTech_API;
+/* 4: */ import gregtech.api.enums.Materials;
+/* 5: */ import gregtech.api.interfaces.IIconContainer;
+/* 6: */ import gregtech.api.items.GT_MetaGenerated_Tool;
+/* 7: */ import gregtech.api.util.GT_Recipe;
+/* 8: */ import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
+/* 9: */ import gregtech.api.util.GT_Utility;
+/* 10: */ import gregtech.common.items.behaviors.Behaviour_Prospecting;
+
+/* 11: */ import java.util.Arrays;
+/* 12: */ import java.util.List;
+/* 13: */ import java.util.Map;
+
+/* 14: */ import net.minecraft.block.Block;
+/* 15: */ import net.minecraft.block.material.Material;
+/* 16: */ import net.minecraft.entity.Entity;
+/* 17: */ import net.minecraft.entity.EntityLivingBase;
+/* 18: */ import net.minecraft.entity.monster.EntityIronGolem;
+/* 19: */ import net.minecraft.entity.player.EntityPlayer;
+/* 20: */ import net.minecraft.item.ItemStack;
+/* 21: */ import net.minecraft.util.ChatComponentText;
+/* 22: */ import net.minecraft.util.EnumChatFormatting;
+/* 23: */ import net.minecraft.util.IChatComponent;
+import net.minecraftforge.event.world.BlockEvent;
+/* 24: */ import net.minecraftforge.event.world.BlockEvent.HarvestDropsEvent;
+/* 25: */
+/* 26: */ public class GT_Tool_HardHammer
+/* 27: */ extends GT_Tool
+/* 28: */ {
+/* 29: 28 */ public static final List<String> mEffectiveList = Arrays.asList(new String[] { EntityIronGolem.class.getName(), "EntityTowerGuardian" });
+/* 30: */
+/* 31: */ public float getNormalDamageAgainstEntity(float aOriginalDamage, Entity aEntity, ItemStack aStack, EntityPlayer aPlayer)
+/* 32: */ {
+/* 33: 35 */ String tName = aEntity.getClass().getName();
+/* 34: 36 */ tName = tName.substring(tName.lastIndexOf(".") + 1);
+/* 35: 37 */ return (mEffectiveList.contains(tName)) || (tName.contains("Golem")) ? aOriginalDamage * 2.0F : aOriginalDamage;
+/* 36: */ }
+/* 37: */
+/* 38: */ public int getToolDamagePerBlockBreak()
+/* 39: */ {
+/* 40: 42 */ return 50;
+/* 41: */ }
+/* 42: */
+/* 43: */ public int getToolDamagePerDropConversion()
+/* 44: */ {
+/* 45: 47 */ return 200;
+/* 46: */ }
+/* 47: */
+/* 48: */ public int getToolDamagePerContainerCraft()
+/* 49: */ {
+/* 50: 52 */ return 400;
+/* 51: */ }
+/* 52: */
+/* 53: */ public int getToolDamagePerEntityAttack()
+/* 54: */ {
+/* 55: 57 */ return 200;
+/* 56: */ }
+/* 57: */
+/* 58: */ public int getBaseQuality()
+/* 59: */ {
+/* 60: 62 */ return 0;
+/* 61: */ }
+/* 62: */
+/* 63: */ public float getBaseDamage()
+/* 64: */ {
+/* 65: 67 */ return 3.0F;
+/* 66: */ }
+/* 67: */
+/* 68: */ public int getHurtResistanceTime(int aOriginalHurtResistance, Entity aEntity)
+/* 69: */ {
+/* 70: 72 */ return aOriginalHurtResistance * 2;
+/* 71: */ }
+/* 72: */
+/* 73: */ public float getSpeedMultiplier()
+/* 74: */ {
+/* 75: 77 */ return 0.75F;
+/* 76: */ }
+/* 77: */
+/* 78: */ public float getMaxDurabilityMultiplier()
+/* 79: */ {
+/* 80: 82 */ return 1.0F;
+/* 81: */ }
+/* 82: */
+/* 83: */ public String getCraftingSound()
+/* 84: */ {
+/* 85: 87 */ return (String)GregTech_API.sSoundList.get(Integer.valueOf(1));
+/* 86: */ }
+/* 87: */
+/* 88: */ public String getEntityHitSound()
+/* 89: */ {
+/* 90: 92 */ return null;
+/* 91: */ }
+/* 92: */
+/* 93: */ public String getBreakingSound()
+/* 94: */ {
+/* 95: 97 */ return (String)GregTech_API.sSoundList.get(Integer.valueOf(2));
+/* 96: */ }
+/* 97: */
+/* 98: */ public String getMiningSound()
+/* 99: */ {
+/* 100:102 */ return null;
+/* 101: */ }
+/* 102: */
+/* 103: */ public boolean canBlock()
+/* 104: */ {
+/* 105:107 */ return true;
+/* 106: */ }
+/* 107: */
+/* 108: */ public boolean isCrowbar()
+/* 109: */ {
+/* 110:112 */ return false;
+/* 111: */ }
+/* 112: */
+/* 113: */ public boolean isWeapon()
+/* 114: */ {
+/* 115:117 */ return true;
+/* 116: */ }
+/* 117: */
+/* 118: */ public boolean isMinableBlock(Block aBlock, byte aMetaData)
+/* 119: */ {
+/* 120:122 */ String tTool = aBlock.getHarvestTool(aMetaData);
+/* 121:123 */ return ((tTool != null) && ((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)));
+/* 122: */ }
+/* 123: */
+/* 124: */ 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)
+/* 125: */ {
+/* 126:128 */ int rConversions = 0;
+/* 127:129 */ GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sHammerRecipes.findRecipe(null, true, 2147483647L, null, new ItemStack[] { new ItemStack(aBlock, 1, aMetaData) });
+/* 128:130 */ if ((tRecipe == null) || (aBlock.hasTileEntity(aMetaData)))
+/* 129: */ {
+/* 130:131 */ for (ItemStack tDrop : aDrops)
+/* 131: */ {
+/* 132:132 */ tRecipe = GT_Recipe.GT_Recipe_Map.sHammerRecipes.findRecipe(null, true, 2147483647L, null, new ItemStack[] { GT_Utility.copyAmount(1L, new Object[] { tDrop }) });
+/* 133:133 */ if (tRecipe != null)
+/* 134: */ {
+/* 135:134 */ ItemStack tHammeringOutput = tRecipe.getOutput(0);
+/* 136:135 */ if (tHammeringOutput != null)
+/* 137: */ {
+/* 138:136 */ rConversions += tDrop.stackSize;
+/* 139:137 */ tDrop.stackSize *= tHammeringOutput.stackSize;
+/* 140:138 */ tHammeringOutput.stackSize = tDrop.stackSize;
+/* 141:139 */ GT_Utility.setStack(tDrop, tHammeringOutput);
+/* 142: */ }
+/* 143: */ }
+/* 144: */ }
+/* 145: */ }
+/* 146: */ else
+/* 147: */ {
+/* 148:144 */ aDrops.clear();
+/* 149:145 */ aDrops.add(tRecipe.getOutput(0));
+/* 150:146 */ rConversions++;
+/* 151: */ }
+/* 152:148 */ return rConversions;
+/* 153: */ }
+/* 154: */
+/* 155: */ public ItemStack getBrokenItem(ItemStack aStack)
+/* 156: */ {
+/* 157:153 */ return null;
+/* 158: */ }
+/* 159: */
+/* 160: */ public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack)
+/* 161: */ {
+/* 162:158 */ 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];
+/* 163: */ }
+/* 164: */
+/* 165: */ public short[] getRGBa(boolean aIsToolHead, ItemStack aStack)
+/* 166: */ {
+/* 167:163 */ return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
+/* 168: */ }
+/* 169: */
+/* 170: */ public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID)
+/* 171: */ {
+/* 172:168 */ aItem.addItemBehavior(aID, new Behaviour_Prospecting(1, 1000));
+/* 173: */ }
+/* 174: */
+/* 175: */ public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity)
+/* 176: */ {
+/* 177:173 */ return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " was squashed by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE);
+/* 178: */ }
+/* 179: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tools.GT_Tool_HardHammer
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/main/java/gregtech/common/tools/GT_Tool_Hoe.java b/main/java/gregtech/common/tools/GT_Tool_Hoe.java
new file mode 100644
index 0000000000..a1175287e4
--- /dev/null
+++ b/main/java/gregtech/common/tools/GT_Tool_Hoe.java
@@ -0,0 +1,134 @@
+/* 1: */ package gregtech.common.tools;
+/* 2: */
+/* 3: */ import gregtech.api.GregTech_API;
+/* 4: */ import gregtech.api.enums.Materials;
+/* 5: */ import gregtech.api.interfaces.IIconContainer;
+/* 6: */ import gregtech.api.items.GT_MetaGenerated_Tool;
+/* 7: */ import gregtech.common.items.behaviors.Behaviour_Hoe;
+/* 8: */ import java.util.Map;
+/* 9: */ import net.minecraft.block.Block;
+/* 10: */ import net.minecraft.block.material.Material;
+/* 11: */ import net.minecraft.entity.EntityLivingBase;
+/* 12: */ import net.minecraft.entity.player.EntityPlayer;
+/* 13: */ import net.minecraft.item.ItemStack;
+/* 14: */ import net.minecraft.stats.AchievementList;
+/* 15: */ import net.minecraft.util.ChatComponentText;
+/* 16: */ import net.minecraft.util.EnumChatFormatting;
+/* 17: */ import net.minecraft.util.IChatComponent;
+/* 18: */
+/* 19: */ public class GT_Tool_Hoe
+/* 20: */ extends GT_Tool
+/* 21: */ {
+/* 22: */ public int getToolDamagePerBlockBreak()
+/* 23: */ {
+/* 24: 21 */ return 50;
+/* 25: */ }
+/* 26: */
+/* 27: */ public int getToolDamagePerDropConversion()
+/* 28: */ {
+/* 29: 26 */ return 100;
+/* 30: */ }
+/* 31: */
+/* 32: */ public int getToolDamagePerContainerCraft()
+/* 33: */ {
+/* 34: 31 */ return 100;
+/* 35: */ }
+/* 36: */
+/* 37: */ public int getToolDamagePerEntityAttack()
+/* 38: */ {
+/* 39: 36 */ return 200;
+/* 40: */ }
+/* 41: */
+/* 42: */ public int getBaseQuality()
+/* 43: */ {
+/* 44: 41 */ return 0;
+/* 45: */ }
+/* 46: */
+/* 47: */ public float getBaseDamage()
+/* 48: */ {
+/* 49: 46 */ return 1.75F;
+/* 50: */ }
+/* 51: */
+/* 52: */ public float getSpeedMultiplier()
+/* 53: */ {
+/* 54: 51 */ return 1.0F;
+/* 55: */ }
+/* 56: */
+/* 57: */ public float getMaxDurabilityMultiplier()
+/* 58: */ {
+/* 59: 56 */ return 1.0F;
+/* 60: */ }
+/* 61: */
+/* 62: */ public String getCraftingSound()
+/* 63: */ {
+/* 64: 61 */ return null;
+/* 65: */ }
+/* 66: */
+/* 67: */ public String getEntityHitSound()
+/* 68: */ {
+/* 69: 66 */ return null;
+/* 70: */ }
+/* 71: */
+/* 72: */ public String getBreakingSound()
+/* 73: */ {
+/* 74: 71 */ return (String)GregTech_API.sSoundList.get(Integer.valueOf(0));
+/* 75: */ }
+/* 76: */
+/* 77: */ public String getMiningSound()
+/* 78: */ {
+/* 79: 76 */ return null;
+/* 80: */ }
+/* 81: */
+/* 82: */ public boolean canBlock()
+/* 83: */ {
+/* 84: 81 */ return false;
+/* 85: */ }
+/* 86: */
+/* 87: */ public boolean isCrowbar()
+/* 88: */ {
+/* 89: 86 */ return false;
+/* 90: */ }
+/* 91: */
+/* 92: */ public boolean isMinableBlock(Block aBlock, byte aMetaData)
+/* 93: */ {
+/* 94: 91 */ String tTool = aBlock.getHarvestTool(aMetaData);
+/* 95: 92 */ return ((tTool != null) && (tTool.equals("hoe"))) || (aBlock.getMaterial() == Material.gourd);
+/* 96: */ }
+/* 97: */
+/* 98: */ public ItemStack getBrokenItem(ItemStack aStack)
+/* 99: */ {
+/* 100: 97 */ return null;
+/* 101: */ }
+/* 102: */
+/* 103: */ public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack)
+/* 104: */ {
+/* 105:102 */ 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];
+/* 106: */ }
+/* 107: */
+/* 108: */ public short[] getRGBa(boolean aIsToolHead, ItemStack aStack)
+/* 109: */ {
+/* 110:107 */ return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
+/* 111: */ }
+/* 112: */
+/* 113: */ public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID)
+/* 114: */ {
+/* 115:112 */ aItem.addItemBehavior(aID, new Behaviour_Hoe(100));
+/* 116: */ }
+/* 117: */
+/* 118: */ public void onToolCrafted(ItemStack aStack, EntityPlayer aPlayer)
+/* 119: */ {
+/* 120:117 */ super.onToolCrafted(aStack, aPlayer);
+/* 121:118 */ aPlayer.triggerAchievement(AchievementList.buildHoe);
+/* 122: */ }
+/* 123: */
+/* 124: */ public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity)
+/* 125: */ {
+/* 126:123 */ return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " has been called a stupid Hoe by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE);
+/* 127: */ }
+/* 128: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tools.GT_Tool_Hoe
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/main/java/gregtech/common/tools/GT_Tool_JackHammer.java b/main/java/gregtech/common/tools/GT_Tool_JackHammer.java
new file mode 100644
index 0000000000..17f8c6be64
--- /dev/null
+++ b/main/java/gregtech/common/tools/GT_Tool_JackHammer.java
@@ -0,0 +1,120 @@
+/* 1: */ package gregtech.common.tools;
+/* 2: */
+/* 3: */ import gregtech.GT_Mod;
+import gregtech.api.enums.Textures;
+/* 4: */ import gregtech.api.enums.Textures.ItemIcons;
+/* 5: */ import gregtech.api.interfaces.IIconContainer;
+/* 6: */ import gregtech.api.util.GT_Recipe;
+/* 7: */ import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
+/* 8: */ import gregtech.api.util.GT_Utility;
+/* 9: */ import gregtech.common.GT_Proxy;
+
+/* 10: */ import java.util.List;
+
+/* 11: */ import net.minecraft.block.Block;
+/* 12: */ import net.minecraft.block.material.Material;
+/* 13: */ import net.minecraft.entity.EntityLivingBase;
+/* 14: */ import net.minecraft.entity.player.EntityPlayer;
+/* 15: */ import net.minecraft.item.ItemStack;
+/* 16: */ import net.minecraft.util.ChatComponentText;
+/* 17: */ import net.minecraft.util.EnumChatFormatting;
+/* 18: */ import net.minecraft.util.IChatComponent;
+import net.minecraftforge.event.world.BlockEvent;
+/* 19: */ import net.minecraftforge.event.world.BlockEvent.HarvestDropsEvent;
+/* 20: */
+/* 21: */ public class GT_Tool_JackHammer
+/* 22: */ extends GT_Tool_Drill_LV
+/* 23: */ {
+/* 24: */ public int getToolDamagePerBlockBreak()
+/* 25: */ {
+/* 26: 25 */ return GT_Mod.gregtechproxy.mHardRock ? 200 : 400;
+/* 27: */ }
+/* 28: */
+/* 29: */ public int getToolDamagePerDropConversion()
+/* 30: */ {
+/* 31: 30 */ return 400;
+/* 32: */ }
+/* 33: */
+/* 34: */ public int getToolDamagePerContainerCraft()
+/* 35: */ {
+/* 36: 35 */ return 3200;
+/* 37: */ }
+/* 38: */
+/* 39: */ public int getToolDamagePerEntityAttack()
+/* 40: */ {
+/* 41: 40 */ return 800;
+/* 42: */ }
+/* 43: */
+/* 44: */ public int getBaseQuality()
+/* 45: */ {
+/* 46: 45 */ return 1;
+/* 47: */ }
+/* 48: */
+/* 49: */ public float getBaseDamage()
+/* 50: */ {
+/* 51: 50 */ return 3.0F;
+/* 52: */ }
+/* 53: */
+/* 54: */ public float getSpeedMultiplier()
+/* 55: */ {
+/* 56: 55 */ return 12.0F;
+/* 57: */ }
+/* 58: */
+/* 59: */ public float getMaxDurabilityMultiplier()
+/* 60: */ {
+/* 61: 60 */ return 2.0F;
+/* 62: */ }
+/* 63: */
+/* 64: */ public boolean isMinableBlock(Block aBlock, byte aMetaData)
+/* 65: */ {
+/* 66: 65 */ String tTool = aBlock.getHarvestTool(aMetaData);
+/* 67: 66 */ return ((tTool != null) && (tTool.equals("pickaxe"))) || (aBlock.getMaterial() == Material.rock) || (aBlock.getMaterial() == Material.glass) || (aBlock.getMaterial() == Material.ice) || (aBlock.getMaterial() == Material.packedIce);
+/* 68: */ }
+/* 69: */
+/* 70: */ 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)
+/* 71: */ {
+/* 72: 71 */ int rConversions = 0;
+/* 73: 72 */ GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sHammerRecipes.findRecipe(null, true, 2147483647L, null, new ItemStack[] { new ItemStack(aBlock, 1, aMetaData) });
+/* 74: 73 */ if ((tRecipe == null) || (aBlock.hasTileEntity(aMetaData)))
+/* 75: */ {
+/* 76: 74 */ for (ItemStack tDrop : aDrops)
+/* 77: */ {
+/* 78: 75 */ tRecipe = GT_Recipe.GT_Recipe_Map.sHammerRecipes.findRecipe(null, true, 2147483647L, null, new ItemStack[] { GT_Utility.copyAmount(1L, new Object[] { tDrop }) });
+/* 79: 76 */ if (tRecipe != null)
+/* 80: */ {
+/* 81: 77 */ ItemStack tHammeringOutput = tRecipe.getOutput(0);
+/* 82: 78 */ if (tHammeringOutput != null)
+/* 83: */ {
+/* 84: 79 */ rConversions += tDrop.stackSize;
+/* 85: 80 */ tDrop.stackSize *= tHammeringOutput.stackSize;
+/* 86: 81 */ tHammeringOutput.stackSize = tDrop.stackSize;
+/* 87: 82 */ GT_Utility.setStack(tDrop, tHammeringOutput);
+/* 88: */ }
+/* 89: */ }
+/* 90: */ }
+/* 91: */ }
+/* 92: */ else
+/* 93: */ {
+/* 94: 87 */ aDrops.clear();
+/* 95: 88 */ aDrops.add(tRecipe.getOutput(0));
+/* 96: 89 */ rConversions++;
+/* 97: */ }
+/* 98: 91 */ return rConversions;
+/* 99: */ }
+/* 100: */
+/* 101: */ public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack)
+/* 102: */ {
+/* 103: 96 */ return aIsToolHead ? Textures.ItemIcons.JACKHAMMER : null;
+/* 104: */ }
+/* 105: */
+/* 106: */ public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity)
+/* 107: */ {
+/* 108:101 */ return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " has been jackhammered into pieces by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE);
+/* 109: */ }
+/* 110: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tools.GT_Tool_JackHammer
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/main/java/gregtech/common/tools/GT_Tool_Knife.java b/main/java/gregtech/common/tools/GT_Tool_Knife.java
new file mode 100644
index 0000000000..d516774ea1
--- /dev/null
+++ b/main/java/gregtech/common/tools/GT_Tool_Knife.java
@@ -0,0 +1,65 @@
+/* 1: */ package gregtech.common.tools;
+/* 2: */
+/* 3: */ import gregtech.api.enums.Textures;
+import gregtech.api.enums.Textures.ItemIcons;
+/* 4: */ import gregtech.api.interfaces.IIconContainer;
+/* 5: */ import net.minecraft.entity.EntityLivingBase;
+/* 6: */ import net.minecraft.item.ItemStack;
+/* 7: */ import net.minecraft.util.ChatComponentText;
+/* 8: */ import net.minecraft.util.EnumChatFormatting;
+/* 9: */ import net.minecraft.util.IChatComponent;
+/* 10: */
+/* 11: */ public class GT_Tool_Knife
+/* 12: */ extends GT_Tool_Sword
+/* 13: */ {
+/* 14: */ public int getToolDamagePerBlockBreak()
+/* 15: */ {
+/* 16:14 */ return 100;
+/* 17: */ }
+/* 18: */
+/* 19: */ public int getToolDamagePerDropConversion()
+/* 20: */ {
+/* 21:19 */ return 100;
+/* 22: */ }
+/* 23: */
+/* 24: */ public int getToolDamagePerContainerCraft()
+/* 25: */ {
+/* 26:24 */ return 100;
+/* 27: */ }
+/* 28: */
+/* 29: */ public int getToolDamagePerEntityAttack()
+/* 30: */ {
+/* 31:29 */ return 200;
+/* 32: */ }
+/* 33: */
+/* 34: */ public float getBaseDamage()
+/* 35: */ {
+/* 36:34 */ return 2.0F;
+/* 37: */ }
+/* 38: */
+/* 39: */ public float getSpeedMultiplier()
+/* 40: */ {
+/* 41:39 */ return 0.5F;
+/* 42: */ }
+/* 43: */
+/* 44: */ public float getMaxDurabilityMultiplier()
+/* 45: */ {
+/* 46:44 */ return 1.0F;
+/* 47: */ }
+/* 48: */
+/* 49: */ public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack)
+/* 50: */ {
+/* 51:49 */ return aIsToolHead ? Textures.ItemIcons.KNIFE : null;
+/* 52: */ }
+/* 53: */
+/* 54: */ public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity)
+/* 55: */ {
+/* 56:54 */ 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!!!");
+/* 57: */ }
+/* 58: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tools.GT_Tool_Knife
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/main/java/gregtech/common/tools/GT_Tool_Mortar.java b/main/java/gregtech/common/tools/GT_Tool_Mortar.java
new file mode 100644
index 0000000000..c00cf73075
--- /dev/null
+++ b/main/java/gregtech/common/tools/GT_Tool_Mortar.java
@@ -0,0 +1,130 @@
+/* 1: */ package gregtech.common.tools;
+/* 2: */
+/* 3: */ import gregtech.api.GregTech_API;
+/* 4: */ import gregtech.api.enums.Dyes;
+/* 5: */ import gregtech.api.enums.Materials;
+import gregtech.api.enums.Textures;
+/* 6: */ import gregtech.api.enums.Textures.ItemIcons;
+/* 7: */ import gregtech.api.interfaces.IIconContainer;
+/* 8: */ import gregtech.api.items.GT_MetaGenerated_Tool;
+
+/* 9: */ import java.util.Map;
+
+/* 10: */ import net.minecraft.block.Block;
+/* 11: */ import net.minecraft.entity.EntityLivingBase;
+/* 12: */ import net.minecraft.item.ItemStack;
+/* 13: */ import net.minecraft.util.ChatComponentText;
+/* 14: */ import net.minecraft.util.EnumChatFormatting;
+/* 15: */ import net.minecraft.util.IChatComponent;
+/* 16: */
+/* 17: */ public class GT_Tool_Mortar
+/* 18: */ extends GT_Tool
+/* 19: */ {
+/* 20: */ public int getToolDamagePerBlockBreak()
+/* 21: */ {
+/* 22: 18 */ return 50;
+/* 23: */ }
+/* 24: */
+/* 25: */ public int getToolDamagePerDropConversion()
+/* 26: */ {
+/* 27: 23 */ return 100;
+/* 28: */ }
+/* 29: */
+/* 30: */ public int getToolDamagePerContainerCraft()
+/* 31: */ {
+/* 32: 28 */ return 400;
+/* 33: */ }
+/* 34: */
+/* 35: */ public int getToolDamagePerEntityAttack()
+/* 36: */ {
+/* 37: 33 */ return 200;
+/* 38: */ }
+/* 39: */
+/* 40: */ public int getBaseQuality()
+/* 41: */ {
+/* 42: 38 */ return 0;
+/* 43: */ }
+/* 44: */
+/* 45: */ public float getBaseDamage()
+/* 46: */ {
+/* 47: 43 */ return 2.0F;
+/* 48: */ }
+/* 49: */
+/* 50: */ public float getSpeedMultiplier()
+/* 51: */ {
+/* 52: 48 */ return 1.0F;
+/* 53: */ }
+/* 54: */
+/* 55: */ public float getMaxDurabilityMultiplier()
+/* 56: */ {
+/* 57: 53 */ return 1.0F;
+/* 58: */ }
+/* 59: */
+/* 60: */ public String getCraftingSound()
+/* 61: */ {
+/* 62: 58 */ return null;
+/* 63: */ }
+/* 64: */
+/* 65: */ public String getEntityHitSound()
+/* 66: */ {
+/* 67: 63 */ return null;
+/* 68: */ }
+/* 69: */
+/* 70: */ public String getBreakingSound()
+/* 71: */ {
+/* 72: 68 */ return (String)GregTech_API.sSoundList.get(Integer.valueOf(0));
+/* 73: */ }
+/* 74: */
+/* 75: */ public String getMiningSound()
+/* 76: */ {
+/* 77: 73 */ return null;
+/* 78: */ }
+/* 79: */
+/* 80: */ public boolean canBlock()
+/* 81: */ {
+/* 82: 78 */ return false;
+/* 83: */ }
+/* 84: */
+/* 85: */ public boolean isCrowbar()
+/* 86: */ {
+/* 87: 83 */ return false;
+/* 88: */ }
+/* 89: */
+/* 90: */ public boolean isMiningTool()
+/* 91: */ {
+/* 92: 88 */ return false;
+/* 93: */ }
+/* 94: */
+/* 95: */ public boolean isMinableBlock(Block aBlock, byte aMetaData)
+/* 96: */ {
+/* 97: 93 */ return false;
+/* 98: */ }
+/* 99: */
+/* 100: */ public ItemStack getBrokenItem(ItemStack aStack)
+/* 101: */ {
+/* 102: 98 */ return null;
+/* 103: */ }
+/* 104: */
+/* 105: */ public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack)
+/* 106: */ {
+/* 107:103 */ return aIsToolHead ? Textures.ItemIcons.MORTAR : null;
+/* 108: */ }
+/* 109: */
+/* 110: */ public short[] getRGBa(boolean aIsToolHead, ItemStack aStack)
+/* 111: */ {
+/* 112:108 */ return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : Dyes._NULL.mRGBa;
+/* 113: */ }
+/* 114: */
+/* 115: */ public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) {}
+/* 116: */
+/* 117: */ public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity)
+/* 118: */ {
+/* 119:118 */ return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " was grounded by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE);
+/* 120: */ }
+/* 121: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tools.GT_Tool_Mortar
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/main/java/gregtech/common/tools/GT_Tool_Pickaxe.java b/main/java/gregtech/common/tools/GT_Tool_Pickaxe.java
new file mode 100644
index 0000000000..e4bca9b7af
--- /dev/null
+++ b/main/java/gregtech/common/tools/GT_Tool_Pickaxe.java
@@ -0,0 +1,133 @@
+/* 1: */ package gregtech.common.tools;
+/* 2: */
+/* 3: */ import gregtech.GT_Mod;
+/* 4: */ import gregtech.api.GregTech_API;
+/* 5: */ import gregtech.api.enums.Materials;
+/* 6: */ import gregtech.api.interfaces.IIconContainer;
+/* 7: */ import gregtech.api.items.GT_MetaGenerated_Tool;
+/* 8: */ import gregtech.common.GT_Proxy;
+/* 9: */ import java.util.Map;
+/* 10: */ import net.minecraft.block.Block;
+/* 11: */ import net.minecraft.block.material.Material;
+/* 12: */ import net.minecraft.entity.EntityLivingBase;
+/* 13: */ import net.minecraft.entity.player.EntityPlayer;
+/* 14: */ import net.minecraft.item.ItemStack;
+/* 15: */ import net.minecraft.stats.AchievementList;
+/* 16: */ import net.minecraft.util.ChatComponentText;
+/* 17: */ import net.minecraft.util.EnumChatFormatting;
+/* 18: */ import net.minecraft.util.IChatComponent;
+/* 19: */
+/* 20: */ public class GT_Tool_Pickaxe
+/* 21: */ extends GT_Tool
+/* 22: */ {
+/* 23: */ public int getToolDamagePerBlockBreak()
+/* 24: */ {
+/* 25: 21 */ return GT_Mod.gregtechproxy.mHardRock ? 25 : 50;
+/* 26: */ }
+/* 27: */
+/* 28: */ public int getToolDamagePerDropConversion()
+/* 29: */ {
+/* 30: 26 */ return 100;
+/* 31: */ }
+/* 32: */
+/* 33: */ public int getToolDamagePerContainerCraft()
+/* 34: */ {
+/* 35: 31 */ return 100;
+/* 36: */ }
+/* 37: */
+/* 38: */ public int getToolDamagePerEntityAttack()
+/* 39: */ {
+/* 40: 36 */ return 200;
+/* 41: */ }
+/* 42: */
+/* 43: */ public int getBaseQuality()
+/* 44: */ {
+/* 45: 41 */ return 0;
+/* 46: */ }
+/* 47: */
+/* 48: */ public float getBaseDamage()
+/* 49: */ {
+/* 50: 46 */ return 1.5F;
+/* 51: */ }
+/* 52: */
+/* 53: */ public float getSpeedMultiplier()
+/* 54: */ {
+/* 55: 51 */ return 1.0F;
+/* 56: */ }
+/* 57: */
+/* 58: */ public float getMaxDurabilityMultiplier()
+/* 59: */ {
+/* 60: 56 */ return 1.0F;
+/* 61: */ }
+/* 62: */
+/* 63: */ public String getCraftingSound()
+/* 64: */ {
+/* 65: 61 */ return null;
+/* 66: */ }
+/* 67: */
+/* 68: */ public String getEntityHitSound()
+/* 69: */ {
+/* 70: 66 */ return null;
+/* 71: */ }
+/* 72: */
+/* 73: */ public String getBreakingSound()
+/* 74: */ {
+/* 75: 71 */ return (String)GregTech_API.sSoundList.get(Integer.valueOf(0));
+/* 76: */ }
+/* 77: */
+/* 78: */ public String getMiningSound()
+/* 79: */ {
+/* 80: 76 */ return null;
+/* 81: */ }
+/* 82: */
+/* 83: */ public boolean canBlock()
+/* 84: */ {
+/* 85: 81 */ return false;
+/* 86: */ }
+/* 87: */
+/* 88: */ public boolean isCrowbar()
+/* 89: */ {
+/* 90: 86 */ return false;
+/* 91: */ }
+/* 92: */
+/* 93: */ public boolean isMinableBlock(Block aBlock, byte aMetaData)
+/* 94: */ {
+/* 95: 91 */ String tTool = aBlock.getHarvestTool(aMetaData);
+/* 96: 92 */ return ((tTool != null) && (tTool.equals("pickaxe"))) || (aBlock.getMaterial() == Material.rock) || (aBlock.getMaterial() == Material.iron) || (aBlock.getMaterial() == Material.anvil) || (aBlock.getMaterial() == Material.glass);
+/* 97: */ }
+/* 98: */
+/* 99: */ public ItemStack getBrokenItem(ItemStack aStack)
+/* 100: */ {
+/* 101: 97 */ return null;
+/* 102: */ }
+/* 103: */
+/* 104: */ public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack)
+/* 105: */ {
+/* 106:102 */ 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];
+/* 107: */ }
+/* 108: */
+/* 109: */ public short[] getRGBa(boolean aIsToolHead, ItemStack aStack)
+/* 110: */ {
+/* 111:107 */ return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
+/* 112: */ }
+/* 113: */
+/* 114: */ public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) {}
+/* 115: */
+/* 116: */ public void onToolCrafted(ItemStack aStack, EntityPlayer aPlayer)
+/* 117: */ {
+/* 118:117 */ super.onToolCrafted(aStack, aPlayer);
+/* 119:118 */ aPlayer.triggerAchievement(AchievementList.buildPickaxe);
+/* 120:119 */ aPlayer.triggerAchievement(AchievementList.buildBetterPickaxe);
+/* 121: */ }
+/* 122: */
+/* 123: */ public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity)
+/* 124: */ {
+/* 125:124 */ return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " got mined by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE);
+/* 126: */ }
+/* 127: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tools.GT_Tool_Pickaxe
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/main/java/gregtech/common/tools/GT_Tool_Plow.java b/main/java/gregtech/common/tools/GT_Tool_Plow.java
new file mode 100644
index 0000000000..6b243aa697
--- /dev/null
+++ b/main/java/gregtech/common/tools/GT_Tool_Plow.java
@@ -0,0 +1,87 @@
+/* 1: */ package gregtech.common.tools;
+/* 2: */
+/* 3: */ import gregtech.api.enums.Materials;
+/* 4: */ import gregtech.api.interfaces.IIconContainer;
+/* 5: */ import gregtech.api.items.GT_MetaGenerated_Tool;
+
+/* 6: */ import java.util.List;
+
+/* 7: */ import net.minecraft.block.Block;
+/* 8: */ import net.minecraft.block.material.Material;
+/* 9: */ import net.minecraft.entity.Entity;
+/* 10: */ import net.minecraft.entity.EntityLivingBase;
+/* 11: */ import net.minecraft.entity.monster.EntitySnowman;
+/* 12: */ import net.minecraft.entity.player.EntityPlayer;
+/* 13: */ import net.minecraft.entity.player.EntityPlayerMP;
+/* 14: */ import net.minecraft.item.Item;
+/* 15: */ import net.minecraft.item.ItemStack;
+/* 16: */ import net.minecraft.server.management.ItemInWorldManager;
+/* 17: */ import net.minecraft.util.ChatComponentText;
+/* 18: */ import net.minecraft.util.EnumChatFormatting;
+/* 19: */ import net.minecraft.util.IChatComponent;
+/* 20: */ import net.minecraft.world.World;
+import net.minecraftforge.event.world.BlockEvent;
+/* 21: */ import net.minecraftforge.event.world.BlockEvent.HarvestDropsEvent;
+/* 22: */
+/* 23: */ public class GT_Tool_Plow
+/* 24: */ extends GT_Tool
+/* 25: */ {
+/* 26:23 */ private ThreadLocal<Object> sIsHarvestingRightNow = new ThreadLocal();
+/* 27: */
+/* 28: */ public float getNormalDamageAgainstEntity(float aOriginalDamage, Entity aEntity, ItemStack aStack, EntityPlayer aPlayer)
+/* 29: */ {
+/* 30:27 */ return (aEntity instanceof EntitySnowman) ? aOriginalDamage * 4.0F : aOriginalDamage;
+/* 31: */ }
+/* 32: */
+/* 33: */ public float getBaseDamage()
+/* 34: */ {
+/* 35:32 */ return 1.0F;
+/* 36: */ }
+/* 37: */
+/* 38: */ public boolean isMinableBlock(Block aBlock, byte aMetaData)
+/* 39: */ {
+/* 40:37 */ String tTool = aBlock.getHarvestTool(aMetaData);
+/* 41:38 */ return ((tTool != null) && (tTool.equals("plow"))) || (aBlock.getMaterial() == Material.snow) || (aBlock.getMaterial() == Material.craftedSnow);
+/* 42: */ }
+/* 43: */
+/* 44: */ 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)
+/* 45: */ {
+/* 46:43 */ int rConversions = 0;
+/* 47:44 */ if ((this.sIsHarvestingRightNow.get() == null) && ((aPlayer instanceof EntityPlayerMP)))
+/* 48: */ {
+/* 49:45 */ this.sIsHarvestingRightNow.set(this);
+/* 50:46 */ for (int i = -1; i < 2; i++) {
+/* 51:46 */ for (int j = -1; j < 2; j++) {
+/* 52:46 */ for (int k = -1; k < 2; k++) {
+/* 53:46 */ if (((i != 0) || (j != 0) || (k != 0)) && (aStack.getItem().getDigSpeed(aStack, aPlayer.worldObj.getBlock(aX + i, aY + j, aZ + k), aPlayer.worldObj.getBlockMetadata(aX + i, aY + j, aZ + k)) > 0.0F) && (((EntityPlayerMP)aPlayer).theItemInWorldManager.tryHarvestBlock(aX + i, aY + j, aZ + k))) {
+/* 54:46 */ rConversions++;
+/* 55: */ }
+/* 56: */ }
+/* 57: */ }
+/* 58: */ }
+/* 59:47 */ this.sIsHarvestingRightNow.set(null);
+/* 60: */ }
+/* 61:49 */ return rConversions;
+/* 62: */ }
+/* 63: */
+/* 64: */ public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack)
+/* 65: */ {
+/* 66:54 */ 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];
+/* 67: */ }
+/* 68: */
+/* 69: */ public short[] getRGBa(boolean aIsToolHead, ItemStack aStack)
+/* 70: */ {
+/* 71:59 */ return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
+/* 72: */ }
+/* 73: */
+/* 74: */ public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity)
+/* 75: */ {
+/* 76:64 */ return new ChatComponentText(EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE + " plew through the yard of " + EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE);
+/* 77: */ }
+/* 78: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tools.GT_Tool_Plow
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/main/java/gregtech/common/tools/GT_Tool_Plunger.java b/main/java/gregtech/common/tools/GT_Tool_Plunger.java
new file mode 100644
index 0000000000..3fbc112527
--- /dev/null
+++ b/main/java/gregtech/common/tools/GT_Tool_Plunger.java
@@ -0,0 +1,96 @@
+/* 1: */ package gregtech.common.tools;
+/* 2: */
+/* 3: */ import gregtech.api.GregTech_API;
+/* 4: */ import gregtech.api.enums.Materials;
+import gregtech.api.enums.Textures;
+/* 5: */ import gregtech.api.enums.Textures.ItemIcons;
+/* 6: */ import gregtech.api.interfaces.IIconContainer;
+/* 7: */ import gregtech.api.interfaces.IItemBehaviour;
+/* 8: */ import gregtech.api.items.GT_MetaGenerated_Tool;
+/* 9: */ import gregtech.api.util.GT_Utility;
+/* 10: */ import gregtech.common.items.behaviors.Behaviour_Plunger_Fluid;
+/* 11: */ import gregtech.common.items.behaviors.Behaviour_Plunger_Item;
+
+/* 12: */ import java.util.Map;
+
+/* 13: */ import net.minecraft.block.Block;
+/* 14: */ import net.minecraft.entity.EntityLivingBase;
+/* 15: */ import net.minecraft.item.ItemStack;
+/* 16: */ import net.minecraft.util.ChatComponentText;
+/* 17: */ import net.minecraft.util.EnumChatFormatting;
+/* 18: */ import net.minecraft.util.IChatComponent;
+/* 19: */
+/* 20: */ public class GT_Tool_Plunger
+/* 21: */ extends GT_Tool
+/* 22: */ {
+/* 23: */ public float getBaseDamage()
+/* 24: */ {
+/* 25:22 */ return 1.25F;
+/* 26: */ }
+/* 27: */
+/* 28: */ public float getMaxDurabilityMultiplier()
+/* 29: */ {
+/* 30:27 */ return 0.25F;
+/* 31: */ }
+/* 32: */
+/* 33: */ public String getCraftingSound()
+/* 34: */ {
+/* 35:32 */ return (String)GregTech_API.sSoundList.get(Integer.valueOf(101));
+/* 36: */ }
+/* 37: */
+/* 38: */ public String getEntityHitSound()
+/* 39: */ {
+/* 40:37 */ return (String)GregTech_API.sSoundList.get(Integer.valueOf(101));
+/* 41: */ }
+/* 42: */
+/* 43: */ public String getBreakingSound()
+/* 44: */ {
+/* 45:42 */ return (String)GregTech_API.sSoundList.get(Integer.valueOf(0));
+/* 46: */ }
+/* 47: */
+/* 48: */ public String getMiningSound()
+/* 49: */ {
+/* 50:47 */ return (String)GregTech_API.sSoundList.get(Integer.valueOf(101));
+/* 51: */ }
+/* 52: */
+/* 53: */ public boolean isMinableBlock(Block aBlock, byte aMetaData)
+/* 54: */ {
+/* 55:52 */ String tTool = aBlock.getHarvestTool(aMetaData);
+/* 56:53 */ return (tTool != null) && (tTool.equals("plunger"));
+/* 57: */ }
+/* 58: */
+/* 59: */ public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack)
+/* 60: */ {
+/* 61:58 */ return aIsToolHead ? Textures.ItemIcons.PLUNGER : null;
+/* 62: */ }
+/* 63: */
+/* 64: */ public short[] getRGBa(boolean aIsToolHead, ItemStack aStack)
+/* 65: */ {
+/* 66:63 */ return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
+/* 67: */ }
+/* 68: */
+/* 69: */ public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID)
+/* 70: */ {
+/* 71:68 */ aItem.addItemBehavior(aID, new Behaviour_Plunger_Item(getToolDamagePerDropConversion()));
+/* 72:69 */ aItem.addItemBehavior(aID, new Behaviour_Plunger_Fluid(getToolDamagePerDropConversion()));
+/* 73: */ try
+/* 74: */ {
+/* 75:71 */ Object tObject = GT_Utility.callConstructor("gregtech.common.items.behaviors.Behaviour_Plunger_Essentia", 0, null, false, new Object[] { Integer.valueOf(getToolDamagePerDropConversion()) });
+/* 76:72 */ if ((tObject instanceof IItemBehaviour)) {
+/* 77:72 */ aItem.addItemBehavior(aID, (IItemBehaviour)tObject);
+/* 78: */ }
+/* 79: */ }
+/* 80: */ catch (Throwable e) {}
+/* 81: */ }
+/* 82: */
+/* 83: */ public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity)
+/* 84: */ {
+/* 85:78 */ 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);
+/* 86: */ }
+/* 87: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tools.GT_Tool_Plunger
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/main/java/gregtech/common/tools/GT_Tool_RollingPin.java b/main/java/gregtech/common/tools/GT_Tool_RollingPin.java
new file mode 100644
index 0000000000..8b2b170419
--- /dev/null
+++ b/main/java/gregtech/common/tools/GT_Tool_RollingPin.java
@@ -0,0 +1,71 @@
+/* 1: */ package gregtech.common.tools;
+/* 2: */
+/* 3: */ import gregtech.api.enums.Dyes;
+/* 4: */ import gregtech.api.enums.Materials;
+import gregtech.api.enums.Textures;
+/* 5: */ import gregtech.api.enums.Textures.ItemIcons;
+/* 6: */ import gregtech.api.interfaces.IIconContainer;
+/* 7: */ import gregtech.api.items.GT_MetaGenerated_Tool;
+/* 8: */ import net.minecraft.block.Block;
+/* 9: */ import net.minecraft.entity.EntityLivingBase;
+/* 10: */ import net.minecraft.item.ItemStack;
+/* 11: */ import net.minecraft.util.ChatComponentText;
+/* 12: */ import net.minecraft.util.EnumChatFormatting;
+/* 13: */ import net.minecraft.util.IChatComponent;
+/* 14: */
+/* 15: */ public class GT_Tool_RollingPin
+/* 16: */ extends GT_Tool
+/* 17: */ {
+/* 18: */ public int getToolDamagePerBlockBreak()
+/* 19: */ {
+/* 20:17 */ return 50;
+/* 21: */ }
+/* 22: */
+/* 23: */ public int getToolDamagePerDropConversion()
+/* 24: */ {
+/* 25:22 */ return 100;
+/* 26: */ }
+/* 27: */
+/* 28: */ public int getToolDamagePerContainerCraft()
+/* 29: */ {
+/* 30:27 */ return 400;
+/* 31: */ }
+/* 32: */
+/* 33: */ public int getToolDamagePerEntityAttack()
+/* 34: */ {
+/* 35:32 */ return 200;
+/* 36: */ }
+/* 37: */
+/* 38: */ public float getBaseDamage()
+/* 39: */ {
+/* 40:37 */ return 2.0F;
+/* 41: */ }
+/* 42: */
+/* 43: */ public boolean isMinableBlock(Block aBlock, byte aMetaData)
+/* 44: */ {
+/* 45:42 */ return false;
+/* 46: */ }
+/* 47: */
+/* 48: */ public short[] getRGBa(boolean aIsToolHead, ItemStack aStack)
+/* 49: */ {
+/* 50:47 */ return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : Dyes._NULL.mRGBa;
+/* 51: */ }
+/* 52: */
+/* 53: */ public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) {}
+/* 54: */
+/* 55: */ public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack)
+/* 56: */ {
+/* 57:57 */ return aIsToolHead ? Textures.ItemIcons.ROLLING_PIN : null;
+/* 58: */ }
+/* 59: */
+/* 60: */ public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity)
+/* 61: */ {
+/* 62:62 */ return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " got flattened by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE);
+/* 63: */ }
+/* 64: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tools.GT_Tool_RollingPin
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/main/java/gregtech/common/tools/GT_Tool_Saw.java b/main/java/gregtech/common/tools/GT_Tool_Saw.java
new file mode 100644
index 0000000000..2ddff9cb37
--- /dev/null
+++ b/main/java/gregtech/common/tools/GT_Tool_Saw.java
@@ -0,0 +1,148 @@
+/* 1: */ package gregtech.common.tools;
+/* 2: */
+/* 3: */ import gregtech.api.GregTech_API;
+/* 4: */ import gregtech.api.enums.Materials;
+import gregtech.api.enums.Textures;
+/* 5: */ import gregtech.api.enums.Textures.ItemIcons;
+/* 6: */ import gregtech.api.interfaces.IIconContainer;
+/* 7: */ import gregtech.api.items.GT_MetaGenerated_Tool;
+
+/* 8: */ import java.util.ArrayList;
+/* 9: */ import java.util.List;
+/* 10: */ import java.util.Map;
+
+/* 11: */ import net.minecraft.block.Block;
+/* 12: */ import net.minecraft.block.material.Material;
+/* 13: */ import net.minecraft.entity.EntityLivingBase;
+/* 14: */ import net.minecraft.entity.player.EntityPlayer;
+/* 15: */ import net.minecraft.init.Blocks;
+/* 16: */ import net.minecraft.item.ItemStack;
+/* 17: */ import net.minecraft.util.ChatComponentText;
+/* 18: */ import net.minecraft.util.EnumChatFormatting;
+/* 19: */ import net.minecraft.util.IChatComponent;
+/* 20: */ import net.minecraft.world.World;
+/* 21: */ import net.minecraftforge.common.IShearable;
+import net.minecraftforge.event.world.BlockEvent;
+/* 22: */ import net.minecraftforge.event.world.BlockEvent.HarvestDropsEvent;
+/* 23: */
+/* 24: */ public class GT_Tool_Saw
+/* 25: */ extends GT_Tool
+/* 26: */ {
+/* 27: */ public int getToolDamagePerBlockBreak()
+/* 28: */ {
+/* 29: 27 */ return 50;
+/* 30: */ }
+/* 31: */
+/* 32: */ public int getToolDamagePerDropConversion()
+/* 33: */ {
+/* 34: 32 */ return 100;
+/* 35: */ }
+/* 36: */
+/* 37: */ public int getToolDamagePerContainerCraft()
+/* 38: */ {
+/* 39: 37 */ return 200;
+/* 40: */ }
+/* 41: */
+/* 42: */ public int getToolDamagePerEntityAttack()
+/* 43: */ {
+/* 44: 42 */ return 200;
+/* 45: */ }
+/* 46: */
+/* 47: */ public int getBaseQuality()
+/* 48: */ {
+/* 49: 47 */ return 0;
+/* 50: */ }
+/* 51: */
+/* 52: */ public float getBaseDamage()
+/* 53: */ {
+/* 54: 52 */ return 1.75F;
+/* 55: */ }
+/* 56: */
+/* 57: */ public float getSpeedMultiplier()
+/* 58: */ {
+/* 59: 57 */ return 1.0F;
+/* 60: */ }
+/* 61: */
+/* 62: */ public float getMaxDurabilityMultiplier()
+/* 63: */ {
+/* 64: 62 */ return 1.0F;
+/* 65: */ }
+/* 66: */
+/* 67: */ public String getCraftingSound()
+/* 68: */ {
+/* 69: 67 */ return null;
+/* 70: */ }
+/* 71: */
+/* 72: */ public String getEntityHitSound()
+/* 73: */ {
+/* 74: 72 */ return null;
+/* 75: */ }
+/* 76: */
+/* 77: */ public String getBreakingSound()
+/* 78: */ {
+/* 79: 77 */ return (String)GregTech_API.sSoundList.get(Integer.valueOf(0));
+/* 80: */ }
+/* 81: */
+/* 82: */ public String getMiningSound()
+/* 83: */ {
+/* 84: 82 */ return null;
+/* 85: */ }
+/* 86: */
+/* 87: */ 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)
+/* 88: */ {
+/* 89: 87 */ if ((aBlock.getMaterial() == Material.leaves) && ((aBlock instanceof IShearable)))
+/* 90: */ {
+/* 91: 88 */ aPlayer.worldObj.setBlock(aX, aY, aZ, aBlock, aMetaData, 0);
+/* 92: 89 */ if (((IShearable)aBlock).isShearable(aStack, aPlayer.worldObj, aX, aY, aZ))
+/* 93: */ {
+/* 94: 90 */ ArrayList<ItemStack> tDrops = ((IShearable)aBlock).onSheared(aStack, aPlayer.worldObj, aX, aY, aZ, aFortune);
+/* 95: 91 */ aDrops.clear();
+/* 96: 92 */ aDrops.addAll(tDrops);
+/* 97: 93 */ aEvent.dropChance = 1.0F;
+/* 98: */ }
+/* 99: 95 */ aPlayer.worldObj.setBlock(aX, aY, aZ, Blocks.air, 0, 0);
+/* 100: */ }
+/* 101: 96 */ else if (((aBlock.getMaterial() == Material.ice) || (aBlock.getMaterial() == Material.packedIce)) && (aDrops.isEmpty()))
+/* 102: */ {
+/* 103: 97 */ aDrops.add(new ItemStack(aBlock, 1, aMetaData));
+/* 104: 98 */ aPlayer.worldObj.setBlockToAir(aX, aY, aZ);
+/* 105: 99 */ aEvent.dropChance = 1.0F;
+/* 106:100 */ return 1;
+/* 107: */ }
+/* 108:102 */ return 0;
+/* 109: */ }
+/* 110: */
+/* 111: */ public boolean isMinableBlock(Block aBlock, byte aMetaData)
+/* 112: */ {
+/* 113:107 */ String tTool = aBlock.getHarvestTool(aMetaData);
+/* 114:108 */ return ((tTool != null) && ((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);
+/* 115: */ }
+/* 116: */
+/* 117: */ public ItemStack getBrokenItem(ItemStack aStack)
+/* 118: */ {
+/* 119:113 */ return null;
+/* 120: */ }
+/* 121: */
+/* 122: */ public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack)
+/* 123: */ {
+/* 124:118 */ return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadSaw.mTextureIndex] : Textures.ItemIcons.HANDLE_SAW;
+/* 125: */ }
+/* 126: */
+/* 127: */ public short[] getRGBa(boolean aIsToolHead, ItemStack aStack)
+/* 128: */ {
+/* 129:123 */ return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
+/* 130: */ }
+/* 131: */
+/* 132: */ public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) {}
+/* 133: */
+/* 134: */ public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity)
+/* 135: */ {
+/* 136:133 */ return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " was getting cut down by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE);
+/* 137: */ }
+/* 138: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tools.GT_Tool_Saw
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/main/java/gregtech/common/tools/GT_Tool_Scoop.java b/main/java/gregtech/common/tools/GT_Tool_Scoop.java
new file mode 100644
index 0000000000..c815bde9fd
--- /dev/null
+++ b/main/java/gregtech/common/tools/GT_Tool_Scoop.java
@@ -0,0 +1,140 @@
+/* 1: */ package gregtech.common.tools;
+/* 2: */
+/* 3: */ import gregtech.api.GregTech_API;
+/* 4: */ import gregtech.api.enums.Materials;
+import gregtech.api.enums.Textures;
+/* 5: */ import gregtech.api.enums.Textures.ItemIcons;
+/* 6: */ import gregtech.api.interfaces.IIconContainer;
+/* 7: */ import gregtech.api.interfaces.IItemBehaviour;
+/* 8: */ import gregtech.api.items.GT_MetaGenerated_Tool;
+/* 9: */ import gregtech.api.util.GT_Utility;
+
+/* 10: */ import java.util.Map;
+
+/* 11: */ import net.minecraft.block.Block;
+/* 12: */ import net.minecraft.block.material.Material;
+/* 13: */ import net.minecraft.entity.EntityLivingBase;
+/* 14: */ import net.minecraft.item.ItemStack;
+/* 15: */ import net.minecraft.util.ChatComponentText;
+/* 16: */ import net.minecraft.util.EnumChatFormatting;
+/* 17: */ import net.minecraft.util.IChatComponent;
+/* 18: */
+/* 19: */ public class GT_Tool_Scoop
+/* 20: */ extends GT_Tool
+/* 21: */ {
+/* 22: */ public static Material sBeeHiveMaterial;
+/* 23: */
+/* 24: */ public int getToolDamagePerBlockBreak()
+/* 25: */ {
+/* 26: 23 */ return 200;
+/* 27: */ }
+/* 28: */
+/* 29: */ public int getToolDamagePerDropConversion()
+/* 30: */ {
+/* 31: 28 */ return 100;
+/* 32: */ }
+/* 33: */
+/* 34: */ public int getToolDamagePerContainerCraft()
+/* 35: */ {
+/* 36: 33 */ return 800;
+/* 37: */ }
+/* 38: */
+/* 39: */ public int getToolDamagePerEntityAttack()
+/* 40: */ {
+/* 41: 38 */ return 200;
+/* 42: */ }
+/* 43: */
+/* 44: */ public int getBaseQuality()
+/* 45: */ {
+/* 46: 43 */ return 0;
+/* 47: */ }
+/* 48: */
+/* 49: */ public float getBaseDamage()
+/* 50: */ {
+/* 51: 48 */ return 1.0F;
+/* 52: */ }
+/* 53: */
+/* 54: */ public float getSpeedMultiplier()
+/* 55: */ {
+/* 56: 53 */ return 1.0F;
+/* 57: */ }
+/* 58: */
+/* 59: */ public float getMaxDurabilityMultiplier()
+/* 60: */ {
+/* 61: 58 */ return 1.0F;
+/* 62: */ }
+/* 63: */
+/* 64: */ public String getCraftingSound()
+/* 65: */ {
+/* 66: 63 */ return null;
+/* 67: */ }
+/* 68: */
+/* 69: */ public String getEntityHitSound()
+/* 70: */ {
+/* 71: 68 */ return null;
+/* 72: */ }
+/* 73: */
+/* 74: */ public String getBreakingSound()
+/* 75: */ {
+/* 76: 73 */ return (String)GregTech_API.sSoundList.get(Integer.valueOf(0));
+/* 77: */ }
+/* 78: */
+/* 79: */ public String getMiningSound()
+/* 80: */ {
+/* 81: 78 */ return null;
+/* 82: */ }
+/* 83: */
+/* 84: */ public boolean canBlock()
+/* 85: */ {
+/* 86: 83 */ return false;
+/* 87: */ }
+/* 88: */
+/* 89: */ public boolean isCrowbar()
+/* 90: */ {
+/* 91: 88 */ return false;
+/* 92: */ }
+/* 93: */
+/* 94: */ public boolean isMinableBlock(Block aBlock, byte aMetaData)
+/* 95: */ {
+/* 96: 93 */ String tTool = aBlock.getHarvestTool(aMetaData);
+/* 97: 94 */ return ((tTool != null) && (tTool.equals("scoop"))) || (aBlock.getMaterial() == sBeeHiveMaterial);
+/* 98: */ }
+/* 99: */
+/* 100: */ public ItemStack getBrokenItem(ItemStack aStack)
+/* 101: */ {
+/* 102: 99 */ return null;
+/* 103: */ }
+/* 104: */
+/* 105: */ public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack)
+/* 106: */ {
+/* 107:104 */ return aIsToolHead ? Textures.ItemIcons.SCOOP : null;
+/* 108: */ }
+/* 109: */
+/* 110: */ public short[] getRGBa(boolean aIsToolHead, ItemStack aStack)
+/* 111: */ {
+/* 112:109 */ return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
+/* 113: */ }
+/* 114: */
+/* 115: */ public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID)
+/* 116: */ {
+/* 117: */ try
+/* 118: */ {
+/* 119:115 */ Object tObject = GT_Utility.callConstructor("gregtech.common.items.behaviors.Behaviour_Scoop", 0, null, false, new Object[] { Integer.valueOf(200) });
+/* 120:116 */ if ((tObject instanceof IItemBehaviour)) {
+/* 121:116 */ aItem.addItemBehavior(aID, (IItemBehaviour)tObject);
+/* 122: */ }
+/* 123: */ }
+/* 124: */ catch (Throwable e) {}
+/* 125: */ }
+/* 126: */
+/* 127: */ public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity)
+/* 128: */ {
+/* 129:122 */ return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " got scooped up by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE);
+/* 130: */ }
+/* 131: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tools.GT_Tool_Scoop
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/main/java/gregtech/common/tools/GT_Tool_Screwdriver.java b/main/java/gregtech/common/tools/GT_Tool_Screwdriver.java
new file mode 100644
index 0000000000..3749100746
--- /dev/null
+++ b/main/java/gregtech/common/tools/GT_Tool_Screwdriver.java
@@ -0,0 +1,150 @@
+/* 1: */ package gregtech.common.tools;
+/* 2: */
+/* 3: */ import gregtech.api.GregTech_API;
+/* 4: */ import gregtech.api.enums.Materials;
+import gregtech.api.enums.Textures;
+/* 5: */ import gregtech.api.enums.Textures.ItemIcons;
+/* 6: */ import gregtech.api.interfaces.IIconContainer;
+/* 7: */ import gregtech.api.items.GT_MetaGenerated_Tool;
+/* 8: */ import gregtech.common.items.behaviors.Behaviour_Screwdriver;
+
+/* 9: */ import java.util.Arrays;
+/* 10: */ import java.util.List;
+/* 11: */ import java.util.Map;
+
+/* 12: */ import net.minecraft.block.Block;
+/* 13: */ import net.minecraft.block.material.Material;
+/* 14: */ import net.minecraft.entity.Entity;
+/* 15: */ import net.minecraft.entity.EntityLivingBase;
+/* 16: */ import net.minecraft.entity.monster.EntityCaveSpider;
+/* 17: */ import net.minecraft.entity.monster.EntitySpider;
+/* 18: */ import net.minecraft.entity.player.EntityPlayer;
+/* 19: */ import net.minecraft.item.ItemStack;
+/* 20: */ import net.minecraft.util.ChatComponentText;
+/* 21: */ import net.minecraft.util.EnumChatFormatting;
+/* 22: */ import net.minecraft.util.IChatComponent;
+/* 23: */
+/* 24: */ public class GT_Tool_Screwdriver
+/* 25: */ extends GT_Tool
+/* 26: */ {
+/* 27: 26 */ public static final List<String> mEffectiveList = Arrays.asList(new String[] { EntityCaveSpider.class.getName(), EntitySpider.class.getName(), "EntityTFHedgeSpider", "EntityTFKingSpider", "EntityTFSwarmSpider", "EntityTFTowerBroodling" });
+/* 28: */
+/* 29: */ public float getNormalDamageAgainstEntity(float aOriginalDamage, Entity aEntity, ItemStack aStack, EntityPlayer aPlayer)
+/* 30: */ {
+/* 31: 37 */ String tName = aEntity.getClass().getName();
+/* 32: 38 */ tName = tName.substring(tName.lastIndexOf(".") + 1);
+/* 33: 39 */ return mEffectiveList.contains(tName) ? aOriginalDamage * 2.0F : aOriginalDamage;
+/* 34: */ }
+/* 35: */
+/* 36: */ public int getToolDamagePerBlockBreak()
+/* 37: */ {
+/* 38: 44 */ return 200;
+/* 39: */ }
+/* 40: */
+/* 41: */ public int getToolDamagePerDropConversion()
+/* 42: */ {
+/* 43: 49 */ return 100;
+/* 44: */ }
+/* 45: */
+/* 46: */ public int getToolDamagePerContainerCraft()
+/* 47: */ {
+/* 48: 54 */ return 400;
+/* 49: */ }
+/* 50: */
+/* 51: */ public int getToolDamagePerEntityAttack()
+/* 52: */ {
+/* 53: 59 */ return 200;
+/* 54: */ }
+/* 55: */
+/* 56: */ public int getBaseQuality()
+/* 57: */ {
+/* 58: 64 */ return 0;
+/* 59: */ }
+/* 60: */
+/* 61: */ public float getBaseDamage()
+/* 62: */ {
+/* 63: 69 */ return 1.5F;
+/* 64: */ }
+/* 65: */
+/* 66: */ public float getSpeedMultiplier()
+/* 67: */ {
+/* 68: 74 */ return 1.0F;
+/* 69: */ }
+/* 70: */
+/* 71: */ public float getMaxDurabilityMultiplier()
+/* 72: */ {
+/* 73: 79 */ return 1.0F;
+/* 74: */ }
+/* 75: */
+/* 76: */ public String getCraftingSound()
+/* 77: */ {
+/* 78: 84 */ return (String)GregTech_API.sSoundList.get(Integer.valueOf(100));
+/* 79: */ }
+/* 80: */
+/* 81: */ public String getEntityHitSound()
+/* 82: */ {
+/* 83: 89 */ return null;
+/* 84: */ }
+/* 85: */
+/* 86: */ public String getBreakingSound()
+/* 87: */ {
+/* 88: 94 */ return (String)GregTech_API.sSoundList.get(Integer.valueOf(0));
+/* 89: */ }
+/* 90: */
+/* 91: */ public String getMiningSound()
+/* 92: */ {
+/* 93: 99 */ return null;
+/* 94: */ }
+/* 95: */
+/* 96: */ public boolean canBlock()
+/* 97: */ {
+/* 98:104 */ return true;
+/* 99: */ }
+/* 100: */
+/* 101: */ public boolean isCrowbar()
+/* 102: */ {
+/* 103:109 */ return false;
+/* 104: */ }
+/* 105: */
+/* 106: */ public boolean isMiningTool()
+/* 107: */ {
+/* 108:114 */ return false;
+/* 109: */ }
+/* 110: */
+/* 111: */ public boolean isMinableBlock(Block aBlock, byte aMetaData)
+/* 112: */ {
+/* 113:119 */ String tTool = aBlock.getHarvestTool(aMetaData);
+/* 114:120 */ return ((tTool != null) && (tTool.equals("screwdriver"))) || (aBlock.getMaterial() == Material.circuits);
+/* 115: */ }
+/* 116: */
+/* 117: */ public ItemStack getBrokenItem(ItemStack aStack)
+/* 118: */ {
+/* 119:125 */ return null;
+/* 120: */ }
+/* 121: */
+/* 122: */ public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack)
+/* 123: */ {
+/* 124:130 */ return !aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadScrewdriver.mTextureIndex] : Textures.ItemIcons.HANDLE_SCREWDRIVER;
+/* 125: */ }
+/* 126: */
+/* 127: */ public short[] getRGBa(boolean aIsToolHead, ItemStack aStack)
+/* 128: */ {
+/* 129:135 */ return !aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
+/* 130: */ }
+/* 131: */
+/* 132: */ public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID)
+/* 133: */ {
+/* 134:140 */ aItem.addItemBehavior(aID, new Behaviour_Screwdriver(1, 200));
+/* 135: */ }
+/* 136: */
+/* 137: */ public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity)
+/* 138: */ {
+/* 139:145 */ return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " is screwed! (by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE + ")");
+/* 140: */ }
+/* 141: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tools.GT_Tool_Screwdriver
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/main/java/gregtech/common/tools/GT_Tool_Screwdriver_LV.java b/main/java/gregtech/common/tools/GT_Tool_Screwdriver_LV.java
new file mode 100644
index 0000000000..978c49890c
--- /dev/null
+++ b/main/java/gregtech/common/tools/GT_Tool_Screwdriver_LV.java
@@ -0,0 +1,38 @@
+/* 1: */ package gregtech.common.tools;
+/* 2: */
+/* 3: */ import gregtech.api.enums.Materials;
+import gregtech.api.enums.Textures;
+/* 4: */ import gregtech.api.enums.Textures.ItemIcons;
+/* 5: */ import gregtech.api.interfaces.IIconContainer;
+/* 6: */ import gregtech.api.items.GT_MetaGenerated_Tool;
+/* 7: */ import net.minecraft.item.ItemStack;
+/* 8: */
+/* 9: */ public class GT_Tool_Screwdriver_LV
+/* 10: */ extends GT_Tool_Screwdriver
+/* 11: */ {
+/* 12: */ public float getMaxDurabilityMultiplier()
+/* 13: */ {
+/* 14:12 */ return 1.0F;
+/* 15: */ }
+/* 16: */
+/* 17: */ public int getToolDamagePerContainerCraft()
+/* 18: */ {
+/* 19:17 */ return 200;
+/* 20: */ }
+/* 21: */
+/* 22: */ public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack)
+/* 23: */ {
+/* 24:22 */ return !aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadScrewdriver.mTextureIndex] : Textures.ItemIcons.HANDLE_ELECTRIC_SCREWDRIVER;
+/* 25: */ }
+/* 26: */
+/* 27: */ public short[] getRGBa(boolean aIsToolHead, ItemStack aStack)
+/* 28: */ {
+/* 29:27 */ return !aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
+/* 30: */ }
+/* 31: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tools.GT_Tool_Screwdriver_LV
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/main/java/gregtech/common/tools/GT_Tool_Sense.java b/main/java/gregtech/common/tools/GT_Tool_Sense.java
new file mode 100644
index 0000000000..291bbbb7f5
--- /dev/null
+++ b/main/java/gregtech/common/tools/GT_Tool_Sense.java
@@ -0,0 +1,86 @@
+/* 1: */ package gregtech.common.tools;
+/* 2: */
+/* 3: */ import gregtech.api.enums.Materials;
+/* 4: */ import gregtech.api.interfaces.IIconContainer;
+/* 5: */ import gregtech.api.items.GT_MetaGenerated_Tool;
+/* 6: */ import gregtech.common.items.behaviors.Behaviour_Sense;
+
+/* 7: */ import java.util.List;
+
+/* 8: */ import net.minecraft.block.Block;
+/* 9: */ import net.minecraft.block.material.Material;
+/* 10: */ import net.minecraft.entity.EntityLivingBase;
+/* 11: */ import net.minecraft.entity.player.EntityPlayer;
+/* 12: */ import net.minecraft.entity.player.EntityPlayerMP;
+/* 13: */ import net.minecraft.item.Item;
+/* 14: */ import net.minecraft.item.ItemStack;
+/* 15: */ import net.minecraft.server.management.ItemInWorldManager;
+/* 16: */ import net.minecraft.util.ChatComponentText;
+/* 17: */ import net.minecraft.util.EnumChatFormatting;
+/* 18: */ import net.minecraft.util.IChatComponent;
+/* 19: */ import net.minecraft.world.World;
+import net.minecraftforge.event.world.BlockEvent;
+/* 20: */ import net.minecraftforge.event.world.BlockEvent.HarvestDropsEvent;
+/* 21: */
+/* 22: */ public class GT_Tool_Sense
+/* 23: */ extends GT_Tool
+/* 24: */ {
+/* 25:22 */ private ThreadLocal<Object> sIsHarvestingRightNow = new ThreadLocal();
+/* 26: */
+/* 27: */ public float getBaseDamage()
+/* 28: */ {
+/* 29:26 */ return 3.0F;
+/* 30: */ }
+/* 31: */
+/* 32: */ public boolean isMinableBlock(Block aBlock, byte aMetaData)
+/* 33: */ {
+/* 34:31 */ String tTool = aBlock.getHarvestTool(aMetaData);
+/* 35:32 */ return ((tTool != null) && ((tTool.equals("sense")) || (tTool.equals("scythe")))) || (aBlock.getMaterial() == Material.plants) || (aBlock.getMaterial() == Material.leaves);
+/* 36: */ }
+/* 37: */
+/* 38: */ 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)
+/* 39: */ {
+/* 40:37 */ int rConversions = 0;
+/* 41:38 */ if ((this.sIsHarvestingRightNow.get() == null) && ((aPlayer instanceof EntityPlayerMP)))
+/* 42: */ {
+/* 43:39 */ this.sIsHarvestingRightNow.set(this);
+/* 44:40 */ for (int i = -1; i < 2; i++) {
+/* 45:40 */ for (int j = -1; j < 2; j++) {
+/* 46:40 */ for (int k = -1; k < 2; k++) {
+/* 47:40 */ if (((i != 0) || (j != 0) || (k != 0)) && (aStack.getItem().getDigSpeed(aStack, aPlayer.worldObj.getBlock(aX + i, aY + j, aZ + k), aPlayer.worldObj.getBlockMetadata(aX + i, aY + j, aZ + k)) > 0.0F) && (((EntityPlayerMP)aPlayer).theItemInWorldManager.tryHarvestBlock(aX + i, aY + j, aZ + k))) {
+/* 48:40 */ rConversions++;
+/* 49: */ }
+/* 50: */ }
+/* 51: */ }
+/* 52: */ }
+/* 53:41 */ this.sIsHarvestingRightNow.set(null);
+/* 54: */ }
+/* 55:43 */ return rConversions;
+/* 56: */ }
+/* 57: */
+/* 58: */ public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack)
+/* 59: */ {
+/* 60:48 */ 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];
+/* 61: */ }
+/* 62: */
+/* 63: */ public short[] getRGBa(boolean aIsToolHead, ItemStack aStack)
+/* 64: */ {
+/* 65:53 */ return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
+/* 66: */ }
+/* 67: */
+/* 68: */ public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID)
+/* 69: */ {
+/* 70:58 */ aItem.addItemBehavior(aID, new Behaviour_Sense(getToolDamagePerBlockBreak()));
+/* 71: */ }
+/* 72: */
+/* 73: */ public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity)
+/* 74: */ {
+/* 75:63 */ return new ChatComponentText(EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE + " has taken the Soul of " + EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE);
+/* 76: */ }
+/* 77: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tools.GT_Tool_Sense
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/main/java/gregtech/common/tools/GT_Tool_Shovel.java b/main/java/gregtech/common/tools/GT_Tool_Shovel.java
new file mode 100644
index 0000000000..4da54e6582
--- /dev/null
+++ b/main/java/gregtech/common/tools/GT_Tool_Shovel.java
@@ -0,0 +1,122 @@
+/* 1: */ package gregtech.common.tools;
+/* 2: */
+/* 3: */ import gregtech.api.GregTech_API;
+/* 4: */ import gregtech.api.enums.Materials;
+/* 5: */ import gregtech.api.interfaces.IIconContainer;
+/* 6: */ import gregtech.api.items.GT_MetaGenerated_Tool;
+/* 7: */ import java.util.Map;
+/* 8: */ import net.minecraft.block.Block;
+/* 9: */ import net.minecraft.block.material.Material;
+/* 10: */ import net.minecraft.entity.EntityLivingBase;
+/* 11: */ import net.minecraft.item.ItemStack;
+/* 12: */ import net.minecraft.util.ChatComponentText;
+/* 13: */ import net.minecraft.util.EnumChatFormatting;
+/* 14: */ import net.minecraft.util.IChatComponent;
+/* 15: */
+/* 16: */ public class GT_Tool_Shovel
+/* 17: */ extends GT_Tool
+/* 18: */ {
+/* 19: */ public int getToolDamagePerBlockBreak()
+/* 20: */ {
+/* 21: 18 */ return 50;
+/* 22: */ }
+/* 23: */
+/* 24: */ public int getToolDamagePerDropConversion()
+/* 25: */ {
+/* 26: 23 */ return 100;
+/* 27: */ }
+/* 28: */
+/* 29: */ public int getToolDamagePerContainerCraft()
+/* 30: */ {
+/* 31: 28 */ return 100;
+/* 32: */ }
+/* 33: */
+/* 34: */ public int getToolDamagePerEntityAttack()
+/* 35: */ {
+/* 36: 33 */ return 200;
+/* 37: */ }
+/* 38: */
+/* 39: */ public int getBaseQuality()
+/* 40: */ {
+/* 41: 38 */ return 0;
+/* 42: */ }
+/* 43: */
+/* 44: */ public float getBaseDamage()
+/* 45: */ {
+/* 46: 43 */ return 1.5F;
+/* 47: */ }
+/* 48: */
+/* 49: */ public float getSpeedMultiplier()
+/* 50: */ {
+/* 51: 48 */ return 1.0F;
+/* 52: */ }
+/* 53: */
+/* 54: */ public float getMaxDurabilityMultiplier()
+/* 55: */ {
+/* 56: 53 */ return 1.0F;
+/* 57: */ }
+/* 58: */
+/* 59: */ public String getCraftingSound()
+/* 60: */ {
+/* 61: 58 */ return null;
+/* 62: */ }
+/* 63: */
+/* 64: */ public String getEntityHitSound()
+/* 65: */ {
+/* 66: 63 */ return null;
+/* 67: */ }
+/* 68: */
+/* 69: */ public String getBreakingSound()
+/* 70: */ {
+/* 71: 68 */ return (String)GregTech_API.sSoundList.get(Integer.valueOf(0));
+/* 72: */ }
+/* 73: */
+/* 74: */ public String getMiningSound()
+/* 75: */ {
+/* 76: 73 */ return null;
+/* 77: */ }
+/* 78: */
+/* 79: */ public boolean canBlock()
+/* 80: */ {
+/* 81: 78 */ return false;
+/* 82: */ }
+/* 83: */
+/* 84: */ public boolean isCrowbar()
+/* 85: */ {
+/* 86: 83 */ return false;
+/* 87: */ }
+/* 88: */
+/* 89: */ public boolean isMinableBlock(Block aBlock, byte aMetaData)
+/* 90: */ {
+/* 91: 88 */ String tTool = aBlock.getHarvestTool(aMetaData);
+/* 92: 89 */ return ((tTool != null) && (tTool.equals("shovel"))) || (aBlock.getMaterial() == Material.sand) || (aBlock.getMaterial() == Material.grass) || (aBlock.getMaterial() == Material.ground) || (aBlock.getMaterial() == Material.snow) || (aBlock.getMaterial() == Material.clay);
+/* 93: */ }
+/* 94: */
+/* 95: */ public ItemStack getBrokenItem(ItemStack aStack)
+/* 96: */ {
+/* 97: 94 */ return null;
+/* 98: */ }
+/* 99: */
+/* 100: */ public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack)
+/* 101: */ {
+/* 102: 99 */ 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];
+/* 103: */ }
+/* 104: */
+/* 105: */ public short[] getRGBa(boolean aIsToolHead, ItemStack aStack)
+/* 106: */ {
+/* 107:104 */ return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
+/* 108: */ }
+/* 109: */
+/* 110: */ public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) {}
+/* 111: */
+/* 112: */ public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity)
+/* 113: */ {
+/* 114:114 */ return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " got dug up by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE);
+/* 115: */ }
+/* 116: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tools.GT_Tool_Shovel
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/main/java/gregtech/common/tools/GT_Tool_SoftHammer.java b/main/java/gregtech/common/tools/GT_Tool_SoftHammer.java
new file mode 100644
index 0000000000..9be30de5c7
--- /dev/null
+++ b/main/java/gregtech/common/tools/GT_Tool_SoftHammer.java
@@ -0,0 +1,141 @@
+/* 1: */ package gregtech.common.tools;
+/* 2: */
+/* 3: */ import gregtech.api.GregTech_API;
+/* 4: */ import gregtech.api.enums.Materials;
+/* 5: */ import gregtech.api.interfaces.IIconContainer;
+/* 6: */ import gregtech.api.items.GT_MetaGenerated_Tool;
+/* 7: */ import gregtech.common.items.behaviors.Behaviour_SoftHammer;
+/* 8: */ import java.util.Map;
+/* 9: */ import net.minecraft.block.Block;
+/* 10: */ import net.minecraft.entity.Entity;
+/* 11: */ import net.minecraft.entity.EntityLivingBase;
+/* 12: */ import net.minecraft.item.ItemStack;
+/* 13: */ import net.minecraft.util.ChatComponentText;
+/* 14: */ import net.minecraft.util.EnumChatFormatting;
+/* 15: */ import net.minecraft.util.IChatComponent;
+/* 16: */
+/* 17: */ public class GT_Tool_SoftHammer
+/* 18: */ extends GT_Tool
+/* 19: */ {
+/* 20: */ public int getToolDamagePerBlockBreak()
+/* 21: */ {
+/* 22: 19 */ return 50;
+/* 23: */ }
+/* 24: */
+/* 25: */ public int getToolDamagePerDropConversion()
+/* 26: */ {
+/* 27: 24 */ return 100;
+/* 28: */ }
+/* 29: */
+/* 30: */ public int getToolDamagePerContainerCraft()
+/* 31: */ {
+/* 32: 29 */ return 800;
+/* 33: */ }
+/* 34: */
+/* 35: */ public int getToolDamagePerEntityAttack()
+/* 36: */ {
+/* 37: 34 */ return 200;
+/* 38: */ }
+/* 39: */
+/* 40: */ public int getBaseQuality()
+/* 41: */ {
+/* 42: 39 */ return 0;
+/* 43: */ }
+/* 44: */
+/* 45: */ public float getBaseDamage()
+/* 46: */ {
+/* 47: 44 */ return 3.0F;
+/* 48: */ }
+/* 49: */
+/* 50: */ public int getHurtResistanceTime(int aOriginalHurtResistance, Entity aEntity)
+/* 51: */ {
+/* 52: 49 */ return aOriginalHurtResistance * 2;
+/* 53: */ }
+/* 54: */
+/* 55: */ public float getSpeedMultiplier()
+/* 56: */ {
+/* 57: 54 */ return 0.1F;
+/* 58: */ }
+/* 59: */
+/* 60: */ public float getMaxDurabilityMultiplier()
+/* 61: */ {
+/* 62: 59 */ return 8.0F;
+/* 63: */ }
+/* 64: */
+/* 65: */ public String getCraftingSound()
+/* 66: */ {
+/* 67: 64 */ return (String)GregTech_API.sSoundList.get(Integer.valueOf(101));
+/* 68: */ }
+/* 69: */
+/* 70: */ public String getEntityHitSound()
+/* 71: */ {
+/* 72: 69 */ return (String)GregTech_API.sSoundList.get(Integer.valueOf(101));
+/* 73: */ }
+/* 74: */
+/* 75: */ public String getBreakingSound()
+/* 76: */ {
+/* 77: 74 */ return (String)GregTech_API.sSoundList.get(Integer.valueOf(0));
+/* 78: */ }
+/* 79: */
+/* 80: */ public String getMiningSound()
+/* 81: */ {
+/* 82: 79 */ return (String)GregTech_API.sSoundList.get(Integer.valueOf(101));
+/* 83: */ }
+/* 84: */
+/* 85: */ public boolean canBlock()
+/* 86: */ {
+/* 87: 84 */ return true;
+/* 88: */ }
+/* 89: */
+/* 90: */ public boolean isCrowbar()
+/* 91: */ {
+/* 92: 89 */ return false;
+/* 93: */ }
+/* 94: */
+/* 95: */ public boolean isMiningTool()
+/* 96: */ {
+/* 97: 94 */ return false;
+/* 98: */ }
+/* 99: */
+/* 100: */ public boolean isWeapon()
+/* 101: */ {
+/* 102: 99 */ return true;
+/* 103: */ }
+/* 104: */
+/* 105: */ public boolean isMinableBlock(Block aBlock, byte aMetaData)
+/* 106: */ {
+/* 107:104 */ String tTool = aBlock.getHarvestTool(aMetaData);
+/* 108:105 */ return (tTool != null) && (tTool.equals("softhammer"));
+/* 109: */ }
+/* 110: */
+/* 111: */ public ItemStack getBrokenItem(ItemStack aStack)
+/* 112: */ {
+/* 113:110 */ return null;
+/* 114: */ }
+/* 115: */
+/* 116: */ public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack)
+/* 117: */ {
+/* 118:115 */ 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];
+/* 119: */ }
+/* 120: */
+/* 121: */ public short[] getRGBa(boolean aIsToolHead, ItemStack aStack)
+/* 122: */ {
+/* 123:120 */ return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
+/* 124: */ }
+/* 125: */
+/* 126: */ public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID)
+/* 127: */ {
+/* 128:125 */ aItem.addItemBehavior(aID, new Behaviour_SoftHammer(100));
+/* 129: */ }
+/* 130: */
+/* 131: */ public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity)
+/* 132: */ {
+/* 133:130 */ return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " was hammered to death by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE);
+/* 134: */ }
+/* 135: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tools.GT_Tool_SoftHammer
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/main/java/gregtech/common/tools/GT_Tool_Sword.java b/main/java/gregtech/common/tools/GT_Tool_Sword.java
new file mode 100644
index 0000000000..6fffea87e0
--- /dev/null
+++ b/main/java/gregtech/common/tools/GT_Tool_Sword.java
@@ -0,0 +1,128 @@
+/* 1: */ package gregtech.common.tools;
+/* 2: */
+/* 3: */ import gregtech.api.GregTech_API;
+/* 4: */ import gregtech.api.enums.Materials;
+import gregtech.api.enums.Textures;
+/* 5: */ import gregtech.api.enums.Textures.ItemIcons;
+/* 6: */ import gregtech.api.interfaces.IIconContainer;
+/* 7: */ import gregtech.api.items.GT_MetaGenerated_Tool;
+
+/* 8: */ import java.util.Map;
+
+/* 9: */ import net.minecraft.block.Block;
+/* 10: */ import net.minecraft.block.material.Material;
+/* 11: */ import net.minecraft.entity.player.EntityPlayer;
+/* 12: */ import net.minecraft.item.ItemStack;
+/* 13: */ import net.minecraft.stats.AchievementList;
+/* 14: */
+/* 15: */ public class GT_Tool_Sword
+/* 16: */ extends GT_Tool
+/* 17: */ {
+/* 18: */ public int getToolDamagePerBlockBreak()
+/* 19: */ {
+/* 20: 17 */ return 200;
+/* 21: */ }
+/* 22: */
+/* 23: */ public int getToolDamagePerDropConversion()
+/* 24: */ {
+/* 25: 22 */ return 100;
+/* 26: */ }
+/* 27: */
+/* 28: */ public int getToolDamagePerContainerCraft()
+/* 29: */ {
+/* 30: 27 */ return 100;
+/* 31: */ }
+/* 32: */
+/* 33: */ public int getToolDamagePerEntityAttack()
+/* 34: */ {
+/* 35: 32 */ return 100;
+/* 36: */ }
+/* 37: */
+/* 38: */ public int getBaseQuality()
+/* 39: */ {
+/* 40: 37 */ return 0;
+/* 41: */ }
+/* 42: */
+/* 43: */ public float getBaseDamage()
+/* 44: */ {
+/* 45: 42 */ return 4.0F;
+/* 46: */ }
+/* 47: */
+/* 48: */ public float getSpeedMultiplier()
+/* 49: */ {
+/* 50: 47 */ return 1.0F;
+/* 51: */ }
+/* 52: */
+/* 53: */ public float getMaxDurabilityMultiplier()
+/* 54: */ {
+/* 55: 52 */ return 1.0F;
+/* 56: */ }
+/* 57: */
+/* 58: */ public String getCraftingSound()
+/* 59: */ {
+/* 60: 57 */ return null;
+/* 61: */ }
+/* 62: */
+/* 63: */ public String getEntityHitSound()
+/* 64: */ {
+/* 65: 62 */ return null;
+/* 66: */ }
+/* 67: */
+/* 68: */ public String getBreakingSound()
+/* 69: */ {
+/* 70: 67 */ return (String)GregTech_API.sSoundList.get(Integer.valueOf(0));
+/* 71: */ }
+/* 72: */
+/* 73: */ public String getMiningSound()
+/* 74: */ {
+/* 75: 72 */ return null;
+/* 76: */ }
+/* 77: */
+/* 78: */ public boolean canBlock()
+/* 79: */ {
+/* 80: 77 */ return true;
+/* 81: */ }
+/* 82: */
+/* 83: */ public boolean isCrowbar()
+/* 84: */ {
+/* 85: 82 */ return false;
+/* 86: */ }
+/* 87: */
+/* 88: */ public boolean isWeapon()
+/* 89: */ {
+/* 90: 87 */ return true;
+/* 91: */ }
+/* 92: */
+/* 93: */ public boolean isMinableBlock(Block aBlock, byte aMetaData)
+/* 94: */ {
+/* 95: 92 */ String tTool = aBlock.getHarvestTool(aMetaData);
+/* 96: 93 */ return ((tTool != null) && (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);
+/* 97: */ }
+/* 98: */
+/* 99: */ public ItemStack getBrokenItem(ItemStack aStack)
+/* 100: */ {
+/* 101: 98 */ return null;
+/* 102: */ }
+/* 103: */
+/* 104: */ public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack)
+/* 105: */ {
+/* 106:103 */ return !aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadSword.mTextureIndex] : Textures.ItemIcons.HANDLE_SWORD;
+/* 107: */ }
+/* 108: */
+/* 109: */ public short[] getRGBa(boolean aIsToolHead, ItemStack aStack)
+/* 110: */ {
+/* 111:108 */ return !aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
+/* 112: */ }
+/* 113: */
+/* 114: */ public void onToolCrafted(ItemStack aStack, EntityPlayer aPlayer)
+/* 115: */ {
+/* 116:113 */ super.onToolCrafted(aStack, aPlayer);
+/* 117:114 */ aPlayer.triggerAchievement(AchievementList.buildSword);
+/* 118: */ }
+/* 119: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tools.GT_Tool_Sword
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/main/java/gregtech/common/tools/GT_Tool_UniversalSpade.java b/main/java/gregtech/common/tools/GT_Tool_UniversalSpade.java
new file mode 100644
index 0000000000..78c4fecb4c
--- /dev/null
+++ b/main/java/gregtech/common/tools/GT_Tool_UniversalSpade.java
@@ -0,0 +1,139 @@
+/* 1: */ package gregtech.common.tools;
+/* 2: */
+/* 3: */ import gregtech.api.GregTech_API;
+/* 4: */ import gregtech.api.enums.Materials;
+/* 5: */ import gregtech.api.interfaces.IIconContainer;
+/* 6: */ import gregtech.api.items.GT_MetaGenerated_Tool;
+/* 7: */ import gregtech.common.items.behaviors.Behaviour_Crowbar;
+/* 8: */ import java.util.Map;
+/* 9: */ import net.minecraft.block.Block;
+/* 10: */ import net.minecraft.block.material.Material;
+/* 11: */ import net.minecraft.entity.EntityLivingBase;
+/* 12: */ import net.minecraft.entity.player.EntityPlayer;
+/* 13: */ import net.minecraft.item.ItemStack;
+/* 14: */ import net.minecraft.stats.AchievementList;
+/* 15: */ import net.minecraft.util.ChatComponentText;
+/* 16: */ import net.minecraft.util.EnumChatFormatting;
+/* 17: */ import net.minecraft.util.IChatComponent;
+/* 18: */
+/* 19: */ public class GT_Tool_UniversalSpade
+/* 20: */ extends GT_Tool
+/* 21: */ {
+/* 22: */ public int getToolDamagePerBlockBreak()
+/* 23: */ {
+/* 24: 21 */ return 50;
+/* 25: */ }
+/* 26: */
+/* 27: */ public int getToolDamagePerDropConversion()
+/* 28: */ {
+/* 29: 26 */ return 100;
+/* 30: */ }
+/* 31: */
+/* 32: */ public int getToolDamagePerContainerCraft()
+/* 33: */ {
+/* 34: 31 */ return 400;
+/* 35: */ }
+/* 36: */
+/* 37: */ public int getToolDamagePerEntityAttack()
+/* 38: */ {
+/* 39: 36 */ return 100;
+/* 40: */ }
+/* 41: */
+/* 42: */ public int getBaseQuality()
+/* 43: */ {
+/* 44: 41 */ return 0;
+/* 45: */ }
+/* 46: */
+/* 47: */ public float getBaseDamage()
+/* 48: */ {
+/* 49: 46 */ return 3.0F;
+/* 50: */ }
+/* 51: */
+/* 52: */ public float getSpeedMultiplier()
+/* 53: */ {
+/* 54: 51 */ return 0.75F;
+/* 55: */ }
+/* 56: */
+/* 57: */ public float getMaxDurabilityMultiplier()
+/* 58: */ {
+/* 59: 56 */ return 1.0F;
+/* 60: */ }
+/* 61: */
+/* 62: */ public String getCraftingSound()
+/* 63: */ {
+/* 64: 61 */ return null;
+/* 65: */ }
+/* 66: */
+/* 67: */ public String getEntityHitSound()
+/* 68: */ {
+/* 69: 66 */ return null;
+/* 70: */ }
+/* 71: */
+/* 72: */ public String getBreakingSound()
+/* 73: */ {
+/* 74: 71 */ return (String)GregTech_API.sSoundList.get(Integer.valueOf(0));
+/* 75: */ }
+/* 76: */
+/* 77: */ public String getMiningSound()
+/* 78: */ {
+/* 79: 76 */ return null;
+/* 80: */ }
+/* 81: */
+/* 82: */ public boolean canBlock()
+/* 83: */ {
+/* 84: 81 */ return true;
+/* 85: */ }
+/* 86: */
+/* 87: */ public boolean isCrowbar()
+/* 88: */ {
+/* 89: 86 */ return true;
+/* 90: */ }
+/* 91: */
+/* 92: */ public boolean isWeapon()
+/* 93: */ {
+/* 94: 91 */ return true;
+/* 95: */ }
+/* 96: */
+/* 97: */ public boolean isMinableBlock(Block aBlock, byte aMetaData)
+/* 98: */ {
+/* 99: 96 */ String tTool = aBlock.getHarvestTool(aMetaData);
+/* 100: 97 */ return ((tTool != null) && ((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);
+/* 101: */ }
+/* 102: */
+/* 103: */ public ItemStack getBrokenItem(ItemStack aStack)
+/* 104: */ {
+/* 105:102 */ return null;
+/* 106: */ }
+/* 107: */
+/* 108: */ public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack)
+/* 109: */ {
+/* 110:107 */ 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];
+/* 111: */ }
+/* 112: */
+/* 113: */ public short[] getRGBa(boolean aIsToolHead, ItemStack aStack)
+/* 114: */ {
+/* 115:112 */ return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
+/* 116: */ }
+/* 117: */
+/* 118: */ public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID)
+/* 119: */ {
+/* 120:117 */ aItem.addItemBehavior(aID, new Behaviour_Crowbar(2, 2000));
+/* 121: */ }
+/* 122: */
+/* 123: */ public void onToolCrafted(ItemStack aStack, EntityPlayer aPlayer)
+/* 124: */ {
+/* 125:122 */ super.onToolCrafted(aStack, aPlayer);
+/* 126:123 */ aPlayer.triggerAchievement(AchievementList.buildSword);
+/* 127: */ }
+/* 128: */
+/* 129: */ public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity)
+/* 130: */ {
+/* 131:128 */ return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " has been digged by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE);
+/* 132: */ }
+/* 133: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tools.GT_Tool_UniversalSpade
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/main/java/gregtech/common/tools/GT_Tool_WireCutter.java b/main/java/gregtech/common/tools/GT_Tool_WireCutter.java
new file mode 100644
index 0000000000..51836fd220
--- /dev/null
+++ b/main/java/gregtech/common/tools/GT_Tool_WireCutter.java
@@ -0,0 +1,125 @@
+/* 1: */ package gregtech.common.tools;
+/* 2: */
+/* 3: */ import gregtech.api.GregTech_API;
+/* 4: */ import gregtech.api.enums.Materials;
+import gregtech.api.enums.Textures;
+/* 5: */ import gregtech.api.enums.Textures.ItemIcons;
+/* 6: */ import gregtech.api.interfaces.IIconContainer;
+/* 7: */ import gregtech.api.items.GT_MetaGenerated_Tool;
+
+/* 8: */ import java.util.Map;
+
+/* 9: */ import net.minecraft.block.Block;
+/* 10: */ import net.minecraft.entity.EntityLivingBase;
+/* 11: */ import net.minecraft.item.ItemStack;
+/* 12: */ import net.minecraft.util.ChatComponentText;
+/* 13: */ import net.minecraft.util.EnumChatFormatting;
+/* 14: */ import net.minecraft.util.IChatComponent;
+/* 15: */
+/* 16: */ public class GT_Tool_WireCutter
+/* 17: */ extends GT_Tool
+/* 18: */ {
+/* 19: */ public int getToolDamagePerBlockBreak()
+/* 20: */ {
+/* 21: 17 */ return 100;
+/* 22: */ }
+/* 23: */
+/* 24: */ public int getToolDamagePerDropConversion()
+/* 25: */ {
+/* 26: 22 */ return 100;
+/* 27: */ }
+/* 28: */
+/* 29: */ public int getToolDamagePerContainerCraft()
+/* 30: */ {
+/* 31: 27 */ return 400;
+/* 32: */ }
+/* 33: */
+/* 34: */ public int getToolDamagePerEntityAttack()
+/* 35: */ {
+/* 36: 32 */ return 200;
+/* 37: */ }
+/* 38: */
+/* 39: */ public int getBaseQuality()
+/* 40: */ {
+/* 41: 37 */ return 0;
+/* 42: */ }
+/* 43: */
+/* 44: */ public float getBaseDamage()
+/* 45: */ {
+/* 46: 42 */ return 1.25F;
+/* 47: */ }
+/* 48: */
+/* 49: */ public float getSpeedMultiplier()
+/* 50: */ {
+/* 51: 47 */ return 1.0F;
+/* 52: */ }
+/* 53: */
+/* 54: */ public float getMaxDurabilityMultiplier()
+/* 55: */ {
+/* 56: 52 */ return 1.0F;
+/* 57: */ }
+/* 58: */
+/* 59: */ public String getCraftingSound()
+/* 60: */ {
+/* 61: 57 */ return null;
+/* 62: */ }
+/* 63: */
+/* 64: */ public String getEntityHitSound()
+/* 65: */ {
+/* 66: 62 */ return null;
+/* 67: */ }
+/* 68: */
+/* 69: */ public String getBreakingSound()
+/* 70: */ {
+/* 71: 67 */ return (String)GregTech_API.sSoundList.get(Integer.valueOf(0));
+/* 72: */ }
+/* 73: */
+/* 74: */ public String getMiningSound()
+/* 75: */ {
+/* 76: 72 */ return null;
+/* 77: */ }
+/* 78: */
+/* 79: */ public boolean canBlock()
+/* 80: */ {
+/* 81: 77 */ return false;
+/* 82: */ }
+/* 83: */
+/* 84: */ public boolean isCrowbar()
+/* 85: */ {
+/* 86: 82 */ return false;
+/* 87: */ }
+/* 88: */
+/* 89: */ public boolean isMinableBlock(Block aBlock, byte aMetaData)
+/* 90: */ {
+/* 91: 87 */ String tTool = aBlock.getHarvestTool(aMetaData);
+/* 92: 88 */ return (tTool != null) && (tTool.equals("cutter"));
+/* 93: */ }
+/* 94: */
+/* 95: */ public ItemStack getBrokenItem(ItemStack aStack)
+/* 96: */ {
+/* 97: 93 */ return null;
+/* 98: */ }
+/* 99: */
+/* 100: */ public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack)
+/* 101: */ {
+/* 102: 98 */ return aIsToolHead ? Textures.ItemIcons.WIRE_CUTTER : null;
+/* 103: */ }
+/* 104: */
+/* 105: */ public short[] getRGBa(boolean aIsToolHead, ItemStack aStack)
+/* 106: */ {
+/* 107:103 */ return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
+/* 108: */ }
+/* 109: */
+/* 110: */ public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) {}
+/* 111: */
+/* 112: */ public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity)
+/* 113: */ {
+/* 114:113 */ 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);
+/* 115: */ }
+/* 116: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tools.GT_Tool_WireCutter
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/main/java/gregtech/common/tools/GT_Tool_Wrench.java b/main/java/gregtech/common/tools/GT_Tool_Wrench.java
new file mode 100644
index 0000000000..031f8593cd
--- /dev/null
+++ b/main/java/gregtech/common/tools/GT_Tool_Wrench.java
@@ -0,0 +1,150 @@
+/* 1: */ package gregtech.common.tools;
+/* 2: */
+/* 3: */ import gregtech.api.GregTech_API;
+/* 4: */ import gregtech.api.enums.Materials;
+import gregtech.api.enums.Textures;
+/* 5: */ import gregtech.api.enums.Textures.ItemIcons;
+/* 6: */ import gregtech.api.interfaces.IIconContainer;
+/* 7: */ import gregtech.api.items.GT_MetaGenerated_Tool;
+/* 8: */ import gregtech.common.items.behaviors.Behaviour_Wrench;
+
+/* 9: */ import java.util.Arrays;
+/* 10: */ import java.util.List;
+/* 11: */ import java.util.Map;
+
+/* 12: */ import net.minecraft.block.Block;
+/* 13: */ import net.minecraft.block.material.Material;
+/* 14: */ import net.minecraft.entity.Entity;
+/* 15: */ import net.minecraft.entity.EntityLivingBase;
+/* 16: */ import net.minecraft.entity.monster.EntityIronGolem;
+/* 17: */ import net.minecraft.entity.player.EntityPlayer;
+/* 18: */ import net.minecraft.init.Blocks;
+/* 19: */ import net.minecraft.item.ItemStack;
+/* 20: */ import net.minecraft.util.ChatComponentText;
+/* 21: */ import net.minecraft.util.EnumChatFormatting;
+/* 22: */ import net.minecraft.util.IChatComponent;
+/* 23: */
+/* 24: */ public class GT_Tool_Wrench
+/* 25: */ extends GT_Tool
+/* 26: */ {
+/* 27: 25 */ public static final List<String> mEffectiveList = Arrays.asList(new String[] { EntityIronGolem.class.getName(), "EntityTowerGuardian" });
+/* 28: */
+/* 29: */ public float getNormalDamageAgainstEntity(float aOriginalDamage, Entity aEntity, ItemStack aStack, EntityPlayer aPlayer)
+/* 30: */ {
+/* 31: 32 */ String tName = aEntity.getClass().getName();
+/* 32: 33 */ tName = tName.substring(tName.lastIndexOf(".") + 1);
+/* 33: 34 */ return (mEffectiveList.contains(tName)) || (tName.contains("Golem")) ? aOriginalDamage * 2.0F : aOriginalDamage;
+/* 34: */ }
+/* 35: */
+/* 36: */ public int getToolDamagePerBlockBreak()
+/* 37: */ {
+/* 38: 39 */ return 50;
+/* 39: */ }
+/* 40: */
+/* 41: */ public int getToolDamagePerDropConversion()
+/* 42: */ {
+/* 43: 44 */ return 100;
+/* 44: */ }
+/* 45: */
+/* 46: */ public int getToolDamagePerContainerCraft()
+/* 47: */ {
+/* 48: 49 */ return 800;
+/* 49: */ }
+/* 50: */
+/* 51: */ public int getToolDamagePerEntityAttack()
+/* 52: */ {
+/* 53: 54 */ return 200;
+/* 54: */ }
+/* 55: */
+/* 56: */ public int getBaseQuality()
+/* 57: */ {
+/* 58: 59 */ return 0;
+/* 59: */ }
+/* 60: */
+/* 61: */ public float getBaseDamage()
+/* 62: */ {
+/* 63: 64 */ return 3.0F;
+/* 64: */ }
+/* 65: */
+/* 66: */ public int getHurtResistanceTime(int aOriginalHurtResistance, Entity aEntity)
+/* 67: */ {
+/* 68: 69 */ return aOriginalHurtResistance * 2;
+/* 69: */ }
+/* 70: */
+/* 71: */ public float getSpeedMultiplier()
+/* 72: */ {
+/* 73: 74 */ return 1.0F;
+/* 74: */ }
+/* 75: */
+/* 76: */ public float getMaxDurabilityMultiplier()
+/* 77: */ {
+/* 78: 79 */ return 1.0F;
+/* 79: */ }
+/* 80: */
+/* 81: */ public String getCraftingSound()
+/* 82: */ {
+/* 83: 84 */ return (String)GregTech_API.sSoundList.get(Integer.valueOf(100));
+/* 84: */ }
+/* 85: */
+/* 86: */ public String getEntityHitSound()
+/* 87: */ {
+/* 88: 89 */ return null;
+/* 89: */ }
+/* 90: */
+/* 91: */ public String getBreakingSound()
+/* 92: */ {
+/* 93: 94 */ return (String)GregTech_API.sSoundList.get(Integer.valueOf(0));
+/* 94: */ }
+/* 95: */
+/* 96: */ public String getMiningSound()
+/* 97: */ {
+/* 98: 99 */ return (String)GregTech_API.sSoundList.get(Integer.valueOf(100));
+/* 99: */ }
+/* 100: */
+/* 101: */ public boolean canBlock()
+/* 102: */ {
+/* 103:104 */ return false;
+/* 104: */ }
+/* 105: */
+/* 106: */ public boolean isCrowbar()
+/* 107: */ {
+/* 108:109 */ return false;
+/* 109: */ }
+/* 110: */
+/* 111: */ public boolean isMinableBlock(Block aBlock, byte aMetaData)
+/* 112: */ {
+/* 113:114 */ String tTool = aBlock.getHarvestTool(aMetaData);
+/* 114:115 */ return ((tTool != null) && (tTool.equals("wrench"))) || (aBlock.getMaterial() == Material.piston) || (aBlock == Blocks.hopper) || (aBlock == Blocks.dispenser) || (aBlock == Blocks.dropper);
+/* 115: */ }
+/* 116: */
+/* 117: */ public ItemStack getBrokenItem(ItemStack aStack)
+/* 118: */ {
+/* 119:120 */ return null;
+/* 120: */ }
+/* 121: */
+/* 122: */ public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack)
+/* 123: */ {
+/* 124:125 */ return aIsToolHead ? Textures.ItemIcons.WRENCH : null;
+/* 125: */ }
+/* 126: */
+/* 127: */ public short[] getRGBa(boolean aIsToolHead, ItemStack aStack)
+/* 128: */ {
+/* 129:130 */ return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : null;
+/* 130: */ }
+/* 131: */
+/* 132: */ public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID)
+/* 133: */ {
+/* 134:135 */ aItem.addItemBehavior(aID, new Behaviour_Wrench(100));
+/* 135: */ }
+/* 136: */
+/* 137: */ public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity)
+/* 138: */ {
+/* 139:140 */ return new ChatComponentText(EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE + " threw a Monkey Wrench into the Plans of " + EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE);
+/* 140: */ }
+/* 141: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tools.GT_Tool_Wrench
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/main/java/gregtech/common/tools/GT_Tool_Wrench_HV.java b/main/java/gregtech/common/tools/GT_Tool_Wrench_HV.java
new file mode 100644
index 0000000000..bbe2543a99
--- /dev/null
+++ b/main/java/gregtech/common/tools/GT_Tool_Wrench_HV.java
@@ -0,0 +1,73 @@
+/* 1: */ package gregtech.common.tools;
+/* 2: */
+/* 3: */ import gregtech.api.enums.Materials;
+import gregtech.api.enums.Textures;
+/* 4: */ import gregtech.api.enums.Textures.ItemIcons;
+/* 5: */ import gregtech.api.interfaces.IIconContainer;
+/* 6: */ import gregtech.api.items.GT_MetaGenerated_Tool;
+/* 7: */ import net.minecraft.item.ItemStack;
+/* 8: */
+/* 9: */ public class GT_Tool_Wrench_HV
+/* 10: */ extends GT_Tool_Wrench_LV
+/* 11: */ {
+/* 12: */ public int getToolDamagePerBlockBreak()
+/* 13: */ {
+/* 14:12 */ return 800;
+/* 15: */ }
+/* 16: */
+/* 17: */ public int getToolDamagePerDropConversion()
+/* 18: */ {
+/* 19:17 */ return 1600;
+/* 20: */ }
+/* 21: */
+/* 22: */ public int getToolDamagePerContainerCraft()
+/* 23: */ {
+/* 24:22 */ return 12800;
+/* 25: */ }
+/* 26: */
+/* 27: */ public int getToolDamagePerEntityAttack()
+/* 28: */ {
+/* 29:27 */ return 3200;
+/* 30: */ }
+/* 31: */
+/* 32: */ public int getBaseQuality()
+/* 33: */ {
+/* 34:32 */ return 1;
+/* 35: */ }
+/* 36: */
+/* 37: */ public float getBaseDamage()
+/* 38: */ {
+/* 39:37 */ return 2.0F;
+/* 40: */ }
+/* 41: */
+/* 42: */ public float getSpeedMultiplier()
+/* 43: */ {
+/* 44:42 */ return 4.0F;
+/* 45: */ }
+/* 46: */
+/* 47: */ public float getMaxDurabilityMultiplier()
+/* 48: */ {
+/* 49:47 */ return 4.0F;
+/* 50: */ }
+/* 51: */
+/* 52: */ public boolean canBlock()
+/* 53: */ {
+/* 54:52 */ return false;
+/* 55: */ }
+/* 56: */
+/* 57: */ public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack)
+/* 58: */ {
+/* 59:57 */ return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadWrench.mTextureIndex] : Textures.ItemIcons.POWER_UNIT_HV;
+/* 60: */ }
+/* 61: */
+/* 62: */ public short[] getRGBa(boolean aIsToolHead, ItemStack aStack)
+/* 63: */ {
+/* 64:62 */ return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
+/* 65: */ }
+/* 66: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tools.GT_Tool_Wrench_HV
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/main/java/gregtech/common/tools/GT_Tool_Wrench_LV.java b/main/java/gregtech/common/tools/GT_Tool_Wrench_LV.java
new file mode 100644
index 0000000000..0309d8c193
--- /dev/null
+++ b/main/java/gregtech/common/tools/GT_Tool_Wrench_LV.java
@@ -0,0 +1,80 @@
+/* 1: */ package gregtech.common.tools;
+/* 2: */
+/* 3: */ import gregtech.api.enums.Materials;
+import gregtech.api.enums.Textures;
+/* 4: */ import gregtech.api.enums.Textures.ItemIcons;
+/* 5: */ import gregtech.api.interfaces.IIconContainer;
+/* 6: */ import gregtech.api.items.GT_MetaGenerated_Tool;
+/* 7: */ import net.minecraft.entity.Entity;
+/* 8: */ import net.minecraft.entity.player.EntityPlayer;
+/* 9: */ import net.minecraft.item.ItemStack;
+/* 10: */
+/* 11: */ public class GT_Tool_Wrench_LV
+/* 12: */ extends GT_Tool_Wrench
+/* 13: */ {
+/* 14: */ public float getNormalDamageAgainstEntity(float aOriginalDamage, Entity aEntity, ItemStack aStack, EntityPlayer aPlayer)
+/* 15: */ {
+/* 16:14 */ return aOriginalDamage;
+/* 17: */ }
+/* 18: */
+/* 19: */ public int getToolDamagePerBlockBreak()
+/* 20: */ {
+/* 21:19 */ return 50;
+/* 22: */ }
+/* 23: */
+/* 24: */ public int getToolDamagePerDropConversion()
+/* 25: */ {
+/* 26:24 */ return 100;
+/* 27: */ }
+/* 28: */
+/* 29: */ public int getToolDamagePerContainerCraft()
+/* 30: */ {
+/* 31:29 */ return 800;
+/* 32: */ }
+/* 33: */
+/* 34: */ public int getToolDamagePerEntityAttack()
+/* 35: */ {
+/* 36:34 */ return 200;
+/* 37: */ }
+/* 38: */
+/* 39: */ public int getBaseQuality()
+/* 40: */ {
+/* 41:39 */ return 0;
+/* 42: */ }
+/* 43: */
+/* 44: */ public float getBaseDamage()
+/* 45: */ {
+/* 46:44 */ return 1.0F;
+/* 47: */ }
+/* 48: */
+/* 49: */ public float getSpeedMultiplier()
+/* 50: */ {
+/* 51:49 */ return 2.0F;
+/* 52: */ }
+/* 53: */
+/* 54: */ public float getMaxDurabilityMultiplier()
+/* 55: */ {
+/* 56:54 */ return 1.0F;
+/* 57: */ }
+/* 58: */
+/* 59: */ public boolean canBlock()
+/* 60: */ {
+/* 61:59 */ return false;
+/* 62: */ }
+/* 63: */
+/* 64: */ public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack)
+/* 65: */ {
+/* 66:64 */ return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadWrench.mTextureIndex] : Textures.ItemIcons.POWER_UNIT_LV;
+/* 67: */ }
+/* 68: */
+/* 69: */ public short[] getRGBa(boolean aIsToolHead, ItemStack aStack)
+/* 70: */ {
+/* 71:69 */ return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
+/* 72: */ }
+/* 73: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tools.GT_Tool_Wrench_LV
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/main/java/gregtech/common/tools/GT_Tool_Wrench_MV.java b/main/java/gregtech/common/tools/GT_Tool_Wrench_MV.java
new file mode 100644
index 0000000000..91a93a050a
--- /dev/null
+++ b/main/java/gregtech/common/tools/GT_Tool_Wrench_MV.java
@@ -0,0 +1,73 @@
+/* 1: */ package gregtech.common.tools;
+/* 2: */
+/* 3: */ import gregtech.api.enums.Materials;
+import gregtech.api.enums.Textures;
+/* 4: */ import gregtech.api.enums.Textures.ItemIcons;
+/* 5: */ import gregtech.api.interfaces.IIconContainer;
+/* 6: */ import gregtech.api.items.GT_MetaGenerated_Tool;
+/* 7: */ import net.minecraft.item.ItemStack;
+/* 8: */
+/* 9: */ public class GT_Tool_Wrench_MV
+/* 10: */ extends GT_Tool_Wrench_LV
+/* 11: */ {
+/* 12: */ public int getToolDamagePerBlockBreak()
+/* 13: */ {
+/* 14:12 */ return 200;
+/* 15: */ }
+/* 16: */
+/* 17: */ public int getToolDamagePerDropConversion()
+/* 18: */ {
+/* 19:17 */ return 400;
+/* 20: */ }
+/* 21: */
+/* 22: */ public int getToolDamagePerContainerCraft()
+/* 23: */ {
+/* 24:22 */ return 3200;
+/* 25: */ }
+/* 26: */
+/* 27: */ public int getToolDamagePerEntityAttack()
+/* 28: */ {
+/* 29:27 */ return 800;
+/* 30: */ }
+/* 31: */
+/* 32: */ public int getBaseQuality()
+/* 33: */ {
+/* 34:32 */ return 1;
+/* 35: */ }
+/* 36: */
+/* 37: */ public float getBaseDamage()
+/* 38: */ {
+/* 39:37 */ return 1.5F;
+/* 40: */ }
+/* 41: */
+/* 42: */ public float getSpeedMultiplier()
+/* 43: */ {
+/* 44:42 */ return 3.0F;
+/* 45: */ }
+/* 46: */
+/* 47: */ public float getMaxDurabilityMultiplier()
+/* 48: */ {
+/* 49:47 */ return 2.0F;
+/* 50: */ }
+/* 51: */
+/* 52: */ public boolean canBlock()
+/* 53: */ {
+/* 54:52 */ return false;
+/* 55: */ }
+/* 56: */
+/* 57: */ public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack)
+/* 58: */ {
+/* 59:57 */ return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadWrench.mTextureIndex] : Textures.ItemIcons.POWER_UNIT_MV;
+/* 60: */ }
+/* 61: */
+/* 62: */ public short[] getRGBa(boolean aIsToolHead, ItemStack aStack)
+/* 63: */ {
+/* 64:62 */ return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
+/* 65: */ }
+/* 66: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tools.GT_Tool_Wrench_MV
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file