aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common/tools
diff options
context:
space:
mode:
authorGlodBlock <60341015+GlodBlock@users.noreply.github.com>2021-09-27 15:39:31 +0800
committerGitHub <noreply@github.com>2021-09-27 15:39:31 +0800
commit097438be70486735a8940dd5ce4e9484b6d951af (patch)
tree90f26b34d5059eb9858d9c82aabbd5373638acfa /src/main/java/gregtech/common/tools
parenta0a77f0b9868a4ca8a3df8ae8d50b4dcfb4030db (diff)
parent92433a5b85bb2fcca541ac25ca4033fac24f841e (diff)
downloadGT5-Unofficial-097438be70486735a8940dd5ce4e9484b6d951af.tar.gz
GT5-Unofficial-097438be70486735a8940dd5ce4e9484b6d951af.tar.bz2
GT5-Unofficial-097438be70486735a8940dd5ce4e9484b6d951af.zip
Merge pull request #1 from GlodBlock/fix-crack-recipe-check
Fix crack recipe check
Diffstat (limited to 'src/main/java/gregtech/common/tools')
-rw-r--r--src/main/java/gregtech/common/tools/GT_Tool.java32
-rw-r--r--src/main/java/gregtech/common/tools/GT_Tool_Axe.java33
-rw-r--r--src/main/java/gregtech/common/tools/GT_Tool_BranchCutter.java17
-rw-r--r--src/main/java/gregtech/common/tools/GT_Tool_ButcheryKnife.java19
-rw-r--r--src/main/java/gregtech/common/tools/GT_Tool_BuzzSaw.java23
-rw-r--r--src/main/java/gregtech/common/tools/GT_Tool_Chainsaw_HV.java12
-rw-r--r--src/main/java/gregtech/common/tools/GT_Tool_Chainsaw_LV.java48
-rw-r--r--src/main/java/gregtech/common/tools/GT_Tool_Chainsaw_MV.java12
-rw-r--r--src/main/java/gregtech/common/tools/GT_Tool_Crowbar.java32
-rw-r--r--src/main/java/gregtech/common/tools/GT_Tool_Drill_HV.java15
-rw-r--r--src/main/java/gregtech/common/tools/GT_Tool_Drill_LV.java54
-rw-r--r--src/main/java/gregtech/common/tools/GT_Tool_Drill_MV.java9
-rw-r--r--src/main/java/gregtech/common/tools/GT_Tool_File.java27
-rw-r--r--src/main/java/gregtech/common/tools/GT_Tool_HardHammer.java50
-rw-r--r--src/main/java/gregtech/common/tools/GT_Tool_Hoe.java31
-rw-r--r--src/main/java/gregtech/common/tools/GT_Tool_JackHammer.java33
-rw-r--r--src/main/java/gregtech/common/tools/GT_Tool_Knife.java13
-rw-r--r--src/main/java/gregtech/common/tools/GT_Tool_Mortar.java26
-rw-r--r--src/main/java/gregtech/common/tools/GT_Tool_Pickaxe.java38
-rw-r--r--src/main/java/gregtech/common/tools/GT_Tool_Plow.java21
-rw-r--r--src/main/java/gregtech/common/tools/GT_Tool_Plunger.java30
-rw-r--r--src/main/java/gregtech/common/tools/GT_Tool_RollingPin.java13
-rw-r--r--src/main/java/gregtech/common/tools/GT_Tool_Saw.java37
-rw-r--r--src/main/java/gregtech/common/tools/GT_Tool_Scoop.java30
-rw-r--r--src/main/java/gregtech/common/tools/GT_Tool_Screwdriver.java36
-rw-r--r--src/main/java/gregtech/common/tools/GT_Tool_Screwdriver_LV.java7
-rw-r--r--src/main/java/gregtech/common/tools/GT_Tool_Sense.java20
-rw-r--r--src/main/java/gregtech/common/tools/GT_Tool_Shovel.java36
-rw-r--r--src/main/java/gregtech/common/tools/GT_Tool_SoftHammer.java38
-rw-r--r--src/main/java/gregtech/common/tools/GT_Tool_Soldering_Iron.java34
-rw-r--r--src/main/java/gregtech/common/tools/GT_Tool_Sword.java46
-rw-r--r--src/main/java/gregtech/common/tools/GT_Tool_Turbine.java5
-rw-r--r--src/main/java/gregtech/common/tools/GT_Tool_UniversalSpade.java57
-rw-r--r--src/main/java/gregtech/common/tools/GT_Tool_WireCutter.java33
-rw-r--r--src/main/java/gregtech/common/tools/GT_Tool_Wrench.java50
-rw-r--r--src/main/java/gregtech/common/tools/GT_Tool_Wrench_HV.java14
-rw-r--r--src/main/java/gregtech/common/tools/GT_Tool_Wrench_LV.java15
-rw-r--r--src/main/java/gregtech/common/tools/GT_Tool_Wrench_MV.java14
38 files changed, 856 insertions, 204 deletions
diff --git a/src/main/java/gregtech/common/tools/GT_Tool.java b/src/main/java/gregtech/common/tools/GT_Tool.java
index d8ca77a388..198ee4fb5a 100644
--- a/src/main/java/gregtech/common/tools/GT_Tool.java
+++ b/src/main/java/gregtech/common/tools/GT_Tool.java
@@ -19,93 +19,113 @@ import net.minecraftforge.event.world.BlockEvent;
import java.util.List;
-public abstract class GT_Tool
- implements IToolStats {
+public abstract class GT_Tool implements IToolStats {
public static final Enchantment[] FORTUNE_ENCHANTMENT = {Enchantment.fortune};
public static final Enchantment[] LOOTING_ENCHANTMENT = {Enchantment.looting};
public static final Enchantment[] ZERO_ENCHANTMENTS = new Enchantment[0];
public static final int[] ZERO_ENCHANTMENT_LEVELS = new int[0];
+ @Override
public int getToolDamagePerBlockBreak() {
return 100;
}
+ @Override
public int getToolDamagePerDropConversion() {
return 100;
}
+ @Override
public int getToolDamagePerContainerCraft() {
return 800;
}
+ @Override
public int getToolDamagePerEntityAttack() {
return 200;
}
+ @Override
public float getSpeedMultiplier() {
return 1.0F;
}
+ @Override
public float getMaxDurabilityMultiplier() {
return 1.0F;
}
+ @Override
public int getHurtResistanceTime(int aOriginalHurtResistance, Entity aEntity) {
return aOriginalHurtResistance;
}
+ @Override
public String getMiningSound() {
return null;
}
+ @Override
public String getCraftingSound() {
return null;
}
+ @Override
public String getEntityHitSound() {
return null;
}
+ @Override
public String getBreakingSound() {
return (String) GregTech_API.sSoundList.get(Integer.valueOf(0));
}
+ @Override
public int getBaseQuality() {
return 0;
}
+ @Override
public boolean canBlock() {
return false;
}
+ @Override
public boolean isCrowbar() {
return false;
}
+ @Override
public boolean isGrafter() {
return false;
}
+ @Override
public boolean isChainsaw(){
return false;
}
+ @Override
public boolean isWrench() {
return false;
}
+ @Override
public boolean isWeapon() {
return false;
}
+ @Override
public boolean isRangedWeapon() {
return false;
}
+ @Override
public boolean isMiningTool() {
return true;
}
+ @Override
public DamageSource getDamageSource(EntityLivingBase aPlayer, Entity aEntity) {
return GT_DamageSources.getCombatDamage((aPlayer instanceof EntityPlayer) ? "player" : "mob", aPlayer, (aEntity instanceof EntityLivingBase) ? getDeathMessage(aPlayer, (EntityLivingBase) aEntity) : null);
}
@@ -114,35 +134,43 @@ public abstract class GT_Tool
return new EntityDamageSource((aPlayer instanceof EntityPlayer) ? "player" : "mob", aPlayer).func_151519_b(aEntity);
}
+ @Override
public int convertBlockDrops(List<ItemStack> aDrops, ItemStack aStack, EntityPlayer aPlayer, Block aBlock, int aX, int aY, int aZ, byte aMetaData, int aFortune, boolean aSilkTouch, BlockEvent.HarvestDropsEvent aEvent) {
return 0;
}
+ @Override
public ItemStack getBrokenItem(ItemStack aStack) {
return null;
}
+ @Override
public Enchantment[] getEnchantments(ItemStack aStack) {
return ZERO_ENCHANTMENTS;
}
+ @Override
public int[] getEnchantmentLevels(ItemStack aStack) {
return ZERO_ENCHANTMENT_LEVELS;
}
+ @Override
public void onToolCrafted(ItemStack aStack, EntityPlayer aPlayer) {
aPlayer.triggerAchievement(AchievementList.openInventory);
aPlayer.triggerAchievement(AchievementList.mineWood);
aPlayer.triggerAchievement(AchievementList.buildWorkBench);
}
+ @Override
public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) {
}
+ @Override
public float getNormalDamageAgainstEntity(float aOriginalDamage, Entity aEntity, ItemStack aStack, EntityPlayer aPlayer) {
return aOriginalDamage;
}
+ @Override
public float getMagicDamageAgainstEntity(float aOriginalDamage, Entity aEntity, ItemStack aStack, EntityPlayer aPlayer) {
return aOriginalDamage;
}
diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Axe.java b/src/main/java/gregtech/common/tools/GT_Tool_Axe.java
index 67594753c7..15240341c5 100644
--- a/src/main/java/gregtech/common/tools/GT_Tool_Axe.java
+++ b/src/main/java/gregtech/common/tools/GT_Tool_Axe.java
@@ -4,6 +4,7 @@ import gregtech.api.GregTech_API;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.interfaces.IIconContainer;
import gregtech.api.items.GT_MetaGenerated_Tool;
+import gregtech.api.util.GT_ToolHarvestHelper;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.entity.EntityLivingBase;
@@ -17,73 +18,89 @@ import net.minecraftforge.event.world.BlockEvent;
import java.util.List;
-public class GT_Tool_Axe
- extends GT_Tool {
+public class GT_Tool_Axe extends GT_Tool {
+ @Override
public int getToolDamagePerBlockBreak() {
return 50;
}
+ @Override
public int getToolDamagePerDropConversion() {
return 100;
}
+ @Override
public int getToolDamagePerContainerCraft() {
return 100;
}
+ @Override
public int getToolDamagePerEntityAttack() {
return 200;
}
+ @Override
public int getBaseQuality() {
return 0;
}
+ @Override
public float getBaseDamage() {
return 3.0F;
}
+ @Override
public float getSpeedMultiplier() {
return 2.0F;
}
+ @Override
public float getMaxDurabilityMultiplier() {
return 1.0F;
}
+ @Override
public String getCraftingSound() {
return null;
}
+ @Override
public String getEntityHitSound() {
return null;
}
+ @Override
public String getBreakingSound() {
- return (String) GregTech_API.sSoundList.get(Integer.valueOf(0));
+ return (String) GregTech_API.sSoundList.get(0);
}
+ @Override
public String getMiningSound() {
return null;
}
+ @Override
public boolean canBlock() {
return false;
}
+ @Override
public boolean isCrowbar() {
return false;
}
+ @Override
public boolean isWeapon() {
return true;
}
+ @Override
public boolean isMinableBlock(Block aBlock, byte aMetaData) {
- String tTool = aBlock.getHarvestTool(aMetaData);
- return aBlock.getHarvestLevel(aMetaData) != -1 && (tTool == null || tTool.isEmpty() || (tTool.equals("axe"))) || (aBlock.getMaterial() == Material.wood);
+ return GT_ToolHarvestHelper.isAppropriateTool(aBlock,aMetaData ,"axe")
+ || GT_ToolHarvestHelper.isAppropriateMaterial(aBlock ,Material.wood);
}
+ @Override
public int convertBlockDrops(List<ItemStack> aDrops, ItemStack aStack, EntityPlayer aPlayer, Block aBlock, int aX, int aY, int aZ, byte aMetaData, int aFortune, boolean aSilkTouch, BlockEvent.HarvestDropsEvent aEvent) {
int rAmount = 0;
if ((GregTech_API.sTimber) && (!aPlayer.isSneaking()) && (OrePrefixes.log.contains(new ItemStack(aBlock, 1, aMetaData)))) {
@@ -98,6 +115,7 @@ public class GT_Tool_Axe
return rAmount;
}
+ @Override
public float getMiningSpeed(Block aBlock, byte aMetaData, float aDefault, EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ)
{
if (aBlock.isWood(aPlayer.worldObj, aX, aY, aZ) && OrePrefixes.log.contains(new ItemStack(aBlock, 1, aMetaData))){
@@ -113,21 +131,26 @@ public class GT_Tool_Axe
return (aBlock.getMaterial() == Material.leaves) || (aBlock.getMaterial() == Material.vine) || (aBlock.getMaterial() == Material.plants) || (aBlock.getMaterial() == Material.gourd) ? aDefault / 4.0F : aDefault;
}
+ @Override
public ItemStack getBrokenItem(ItemStack aStack) {
return null;
}
+ @Override
public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[OrePrefixes.toolHeadAxe.mTextureIndex] : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mIconSet.mTextures[OrePrefixes.stick.mTextureIndex];
}
+ @Override
public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
}
+ @Override
public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) {
}
+ @Override
public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) {
return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " has been chopped by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE);
}
diff --git a/src/main/java/gregtech/common/tools/GT_Tool_BranchCutter.java b/src/main/java/gregtech/common/tools/GT_Tool_BranchCutter.java
index 7497cb8b2f..a123ff1ff6 100644
--- a/src/main/java/gregtech/common/tools/GT_Tool_BranchCutter.java
+++ b/src/main/java/gregtech/common/tools/GT_Tool_BranchCutter.java
@@ -4,6 +4,7 @@ import gregtech.api.enums.Textures;
import gregtech.api.interfaces.IIconContainer;
import gregtech.api.items.GT_MetaGenerated_Tool;
import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_ToolHarvestHelper;
import gregtech.api.util.GT_Utility;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
@@ -19,24 +20,28 @@ import net.minecraftforge.event.world.BlockEvent;
import java.util.List;
-public class GT_Tool_BranchCutter
- extends GT_Tool {
+public class GT_Tool_BranchCutter extends GT_Tool {
+ @Override
public float getBaseDamage() {
return 2.5F;
}
+ @Override
public float getSpeedMultiplier() {
return 0.25F;
}
+ @Override
public float getMaxDurabilityMultiplier() {
return 0.25F;
}
+ @Override
public boolean isGrafter() {
return true;
}
+ @Override
public int convertBlockDrops(List<ItemStack> aDrops, ItemStack aStack, EntityPlayer aPlayer, Block aBlock, int aX, int aY, int aZ, byte aMetaData, int aFortune, boolean aSilkTouch, BlockEvent.HarvestDropsEvent aEvent) {
if (aBlock.getMaterial() == Material.leaves) {
aEvent.dropChance = Math.min(1.0F, Math.max(aEvent.dropChance, (aStack.getItem().getHarvestLevel(aStack, "") + 1) * 0.2F));
@@ -58,19 +63,23 @@ public class GT_Tool_BranchCutter
return 0;
}
+ @Override
public boolean isMinableBlock(Block aBlock, byte aMetaData) {
- String tTool = aBlock.getHarvestTool(aMetaData);
- return aBlock.getHarvestLevel(aMetaData) != -1 && (tTool == null || tTool.isEmpty() || (tTool.equals("grafter"))) || (aBlock.getMaterial() == Material.leaves);
+ return GT_ToolHarvestHelper.isAppropriateTool(aBlock , aMetaData ,"grafter")
+ || GT_ToolHarvestHelper.isAppropriateMaterial(aBlock ,Material.leaves);
}
+ @Override
public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? Textures.ItemIcons.GRAFTER : null;
}
+ @Override
public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
}
+ @Override
public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) {
return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " has been trimmed by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE);
}
diff --git a/src/main/java/gregtech/common/tools/GT_Tool_ButcheryKnife.java b/src/main/java/gregtech/common/tools/GT_Tool_ButcheryKnife.java
index 52994e22b2..f57ba7f5d3 100644
--- a/src/main/java/gregtech/common/tools/GT_Tool_ButcheryKnife.java
+++ b/src/main/java/gregtech/common/tools/GT_Tool_ButcheryKnife.java
@@ -12,68 +12,83 @@ import net.minecraft.util.ChatComponentText;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.IChatComponent;
-public class GT_Tool_ButcheryKnife
- extends GT_Tool {
+public class GT_Tool_ButcheryKnife extends GT_Tool {
+ @Override
public int getToolDamagePerBlockBreak() {
return 200;
}
+ @Override
public int getToolDamagePerDropConversion() {
return 100;
}
+ @Override
public int getToolDamagePerContainerCraft() {
return 100;
}
+ @Override
public int getToolDamagePerEntityAttack() {
return 200;
}
+ @Override
public float getBaseDamage() {
return 3.0F;
}
+ @Override
public int getHurtResistanceTime(int aOriginalHurtResistance, Entity aEntity) {
return aOriginalHurtResistance * 2;
}
+ @Override
public float getSpeedMultiplier() {
return 0.1F;
}
+ @Override
public float getMaxDurabilityMultiplier() {
return 1.0F;
}
+ @Override
public boolean isWeapon() {
return true;
}
+ @Override
public boolean isMiningTool() {
return false;
}
+ @Override
public Enchantment[] getEnchantments(ItemStack aStack) {
return LOOTING_ENCHANTMENT;
}
+ @Override
public int[] getEnchantmentLevels(ItemStack aStack) {
return new int[]{(2 + GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mToolQuality) / 2};
}
+ @Override
public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? Textures.ItemIcons.BUTCHERYKNIFE : null;
}
+ @Override
public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
}
+ @Override
public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) {
return new ChatComponentText(EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE + " has butchered " + EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE);
}
+ @Override
public boolean isMinableBlock(Block aBlock, byte aMetaData) {
return false;
}
diff --git a/src/main/java/gregtech/common/tools/GT_Tool_BuzzSaw.java b/src/main/java/gregtech/common/tools/GT_Tool_BuzzSaw.java
index 1a0a6c13e7..f0a3169c7a 100644
--- a/src/main/java/gregtech/common/tools/GT_Tool_BuzzSaw.java
+++ b/src/main/java/gregtech/common/tools/GT_Tool_BuzzSaw.java
@@ -11,52 +11,63 @@ import net.minecraft.util.ChatComponentText;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.IChatComponent;
-public class GT_Tool_BuzzSaw
- extends GT_Tool_Saw {
+public class GT_Tool_BuzzSaw extends GT_Tool_Saw {
+ @Override
public int getToolDamagePerContainerCraft() {
return 100;
}
+ @Override
public int getToolDamagePerEntityAttack() {
return 300;
}
+ @Override
public float getBaseDamage() {
return 1.0F;
}
+ @Override
public float getMaxDurabilityMultiplier() {
return 1.0F;
}
+ @Override
public String getCraftingSound() {
- return (String) GregTech_API.sSoundList.get(Integer.valueOf(104));
+ return (String) GregTech_API.sSoundList.get(104);
}
+ @Override
public String getEntityHitSound() {
- return (String) GregTech_API.sSoundList.get(Integer.valueOf(105));
+ return (String) GregTech_API.sSoundList.get(105);
}
+ @Override
public String getBreakingSound() {
- return (String) GregTech_API.sSoundList.get(Integer.valueOf(0));
+ return (String) GregTech_API.sSoundList.get(0);
}
+ @Override
public String getMiningSound() {
- return (String) GregTech_API.sSoundList.get(Integer.valueOf(104));
+ return (String) GregTech_API.sSoundList.get(104);
}
+ @Override
public boolean isMinableBlock(Block aBlock, byte aMetaData) {
return false;
}
+ @Override
public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) {
return !aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadBuzzSaw.mTextureIndex] : Textures.ItemIcons.HANDLE_BUZZSAW;
}
+ @Override
public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) {
return !aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
}
+ @Override
public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) {
return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " got buzzed by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE);
}
diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Chainsaw_HV.java b/src/main/java/gregtech/common/tools/GT_Tool_Chainsaw_HV.java
index 2ca6b688ff..117b7b6bc0 100644
--- a/src/main/java/gregtech/common/tools/GT_Tool_Chainsaw_HV.java
+++ b/src/main/java/gregtech/common/tools/GT_Tool_Chainsaw_HV.java
@@ -4,40 +4,48 @@ import gregtech.api.enums.Textures;
import gregtech.api.interfaces.IIconContainer;
import net.minecraft.item.ItemStack;
-public class GT_Tool_Chainsaw_HV
- extends GT_Tool_Chainsaw_LV {
+public class GT_Tool_Chainsaw_HV extends GT_Tool_Chainsaw_LV {
+ @Override
public int getToolDamagePerBlockBreak() {
return 800;
}
+ @Override
public int getToolDamagePerDropConversion() {
return 1600;
}
+ @Override
public int getToolDamagePerContainerCraft() {
return 12800;
}
+ @Override
public int getToolDamagePerEntityAttack() {
return 3200;
}
+ @Override
public int getBaseQuality() {
return 1;
}
+ @Override
public float getBaseDamage() {
return 4.0F;
}
+ @Override
public float getSpeedMultiplier() {
return 4.0F;
}
+ @Override
public float getMaxDurabilityMultiplier() {
return 4.0F;
}
+ @Override
public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? gregtech.api.items.GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadChainsaw.mTextureIndex] : Textures.ItemIcons.POWER_UNIT_HV;
}
diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Chainsaw_LV.java b/src/main/java/gregtech/common/tools/GT_Tool_Chainsaw_LV.java
index 127f477542..f746f7e43f 100644
--- a/src/main/java/gregtech/common/tools/GT_Tool_Chainsaw_LV.java
+++ b/src/main/java/gregtech/common/tools/GT_Tool_Chainsaw_LV.java
@@ -22,74 +22,89 @@ import net.minecraftforge.event.world.BlockEvent;
import java.util.ArrayList;
import java.util.List;
-public class GT_Tool_Chainsaw_LV
- extends GT_Tool_Saw {
+public class GT_Tool_Chainsaw_LV extends GT_Tool_Saw {
+ @Override
public int getToolDamagePerBlockBreak() {
return 50;
}
+ @Override
public int getToolDamagePerDropConversion() {
return 100;
}
+ @Override
public int getToolDamagePerContainerCraft() {
return 800;
}
+ @Override
public int getToolDamagePerEntityAttack() {
return 200;
}
+ @Override
public int getBaseQuality() {
return 0;
}
+ @Override
public float getBaseDamage() {
return 3.0F;
}
+ @Override
public float getSpeedMultiplier() {
return 2.0F;
}
+ @Override
public float getMaxDurabilityMultiplier() {
return 1.0F;
}
+ @Override
public String getCraftingSound() {
- return (String) GregTech_API.sSoundList.get(Integer.valueOf(104));
+ return (String) GregTech_API.sSoundList.get(104);
}
+ @Override
public String getEntityHitSound() {
- return (String) GregTech_API.sSoundList.get(Integer.valueOf(105));
+ return (String) GregTech_API.sSoundList.get(105);
}
+ @Override
public String getBreakingSound() {
- return (String) GregTech_API.sSoundList.get(Integer.valueOf(0));
+ return (String) GregTech_API.sSoundList.get(0);
}
+ @Override
public String getMiningSound() {
- return (String) GregTech_API.sSoundList.get(Integer.valueOf(104));
+ return (String) GregTech_API.sSoundList.get(104);
}
+ @Override
public boolean canBlock() {
return false;
}
+ @Override
public boolean isChainsaw(){
return true;
}
+ @Override
public boolean isWeapon() {
return true;
}
+ @Override
public void onToolCrafted(ItemStack aStack, EntityPlayer aPlayer) {
super.onToolCrafted(aStack, aPlayer);
try {
GT_Mod.instance.achievements.issueAchievement(aPlayer, "brrrr");
GT_Mod.instance.achievements.issueAchievement(aPlayer, "buildChainsaw");
- } catch (Exception e) {
+ } catch (Exception ignored) {
}
}
@Override
@@ -100,20 +115,7 @@ public class GT_Tool_Chainsaw_LV
if (((IShearable) aBlock).isShearable(aStack, aPlayer.worldObj, aX, aY, aZ)) {
ArrayList<ItemStack> tDrops = ((IShearable) aBlock).onSheared(aStack, aPlayer.worldObj, aX, aY, aZ, aFortune);
aDrops.clear();
-// aDrops.addAll(tDrops);
-// aEvent.dropChance = 1.0F;
-// for (ItemStack stack : tDrops)
-// {
-// Random itemRand = new Random();
-// float f = 0.7F;
-// double d = itemRand.nextFloat() * f + (1.0F - f) * 0.5D;
-// double d1 = itemRand.nextFloat() * f + (1.0F - f) * 0.5D;
-// double d2 = itemRand.nextFloat() * f + (1.0F - f) * 0.5D;
-// EntityItem entityitem = new EntityItem(aPlayer.worldObj, aX + d, aY + d1, aZ + d2, stack);
-// entityitem.delayBeforeCanPickup = 10;
-// aPlayer.worldObj.spawnEntityInWorld(entityitem);
-// }
-// aPlayer.addStat(net.minecraft.stats.StatList.mineBlockStatArray[Block.getIdFromBlock(aBlock)], 1);
+
}
aPlayer.worldObj.setBlock(aX, aY, aZ, Blocks.air, 0, 0);
} else
@@ -135,6 +137,7 @@ public class GT_Tool_Chainsaw_LV
return rAmount;
}
+ @Override
public float getMiningSpeed(Block aBlock, byte aMetaData, float aDefault, EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ)
{
if (aBlock.isWood(aPlayer.worldObj, aX, aY, aZ) && OrePrefixes.log.contains(new ItemStack(aBlock, 1, aMetaData))){
@@ -150,14 +153,17 @@ public class GT_Tool_Chainsaw_LV
return (aBlock.getMaterial() == Material.leaves) || (aBlock.getMaterial() == Material.vine) || (aBlock.getMaterial() == Material.plants) || (aBlock.getMaterial() == Material.gourd) ? aDefault / 4.0F : aDefault;
}
+ @Override
public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadChainsaw.mTextureIndex] : Textures.ItemIcons.POWER_UNIT_LV;
}
+ @Override
public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
}
+ @Override
public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) {
return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " was massacred by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE);
}
diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Chainsaw_MV.java b/src/main/java/gregtech/common/tools/GT_Tool_Chainsaw_MV.java
index 0fcd74ebf7..e571a26cfc 100644
--- a/src/main/java/gregtech/common/tools/GT_Tool_Chainsaw_MV.java
+++ b/src/main/java/gregtech/common/tools/GT_Tool_Chainsaw_MV.java
@@ -4,40 +4,48 @@ import gregtech.api.enums.Textures;
import gregtech.api.interfaces.IIconContainer;
import net.minecraft.item.ItemStack;
-public class GT_Tool_Chainsaw_MV
- extends GT_Tool_Chainsaw_LV {
+public class GT_Tool_Chainsaw_MV extends GT_Tool_Chainsaw_LV {
+ @Override
public int getToolDamagePerBlockBreak() {
return 200;
}
+ @Override
public int getToolDamagePerDropConversion() {
return 400;
}
+ @Override
public int getToolDamagePerContainerCraft() {
return 3200;
}
+ @Override
public int getToolDamagePerEntityAttack() {
return 800;
}
+ @Override
public int getBaseQuality() {
return 1;
}
+ @Override
public float getBaseDamage() {
return 3.5F;
}
+ @Override
public float getSpeedMultiplier() {
return 3.0F;
}
+ @Override
public float getMaxDurabilityMultiplier() {
return 2.0F;
}
+ @Override
public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? gregtech.api.items.GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadChainsaw.mTextureIndex] : Textures.ItemIcons.POWER_UNIT_MV;
}
diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Crowbar.java b/src/main/java/gregtech/common/tools/GT_Tool_Crowbar.java
index 613037ea91..43890b0c93 100644
--- a/src/main/java/gregtech/common/tools/GT_Tool_Crowbar.java
+++ b/src/main/java/gregtech/common/tools/GT_Tool_Crowbar.java
@@ -17,68 +17,83 @@ import net.minecraft.util.IChatComponent;
import java.util.Iterator;
-public class GT_Tool_Crowbar
- extends GT_Tool {
+public class GT_Tool_Crowbar extends GT_Tool {
+ @Override
public int getToolDamagePerBlockBreak() {
return 50;
}
+ @Override
public int getToolDamagePerDropConversion() {
return 100;
}
+ @Override
public int getToolDamagePerContainerCraft() {
return 100;
}
+ @Override
public int getToolDamagePerEntityAttack() {
return 200;
}
+ @Override
public int getBaseQuality() {
return 0;
}
+ @Override
public float getBaseDamage() {
return 2.0F;
}
+ @Override
public float getSpeedMultiplier() {
return 1.0F;
}
+ @Override
public float getMaxDurabilityMultiplier() {
return 1.0F;
}
+ @Override
public String getCraftingSound() {
- return (String) GregTech_API.sSoundList.get(Integer.valueOf(0));
+ return (String) GregTech_API.sSoundList.get(0);
}
+ @Override
public String getEntityHitSound() {
- return (String) GregTech_API.sSoundList.get(Integer.valueOf(0));
+ return (String) GregTech_API.sSoundList.get(0);
}
+ @Override
public String getBreakingSound() {
- return (String) GregTech_API.sSoundList.get(Integer.valueOf(0));
+ return (String) GregTech_API.sSoundList.get(0);
}
+ @Override
public String getMiningSound() {
- return (String) GregTech_API.sSoundList.get(Integer.valueOf(0));
+ return (String) GregTech_API.sSoundList.get(0);
}
+ @Override
public boolean canBlock() {
return true;
}
+ @Override
public boolean isCrowbar() {
return true;
}
+ @Override
public boolean isWeapon() {
return true;
}
+ @Override
public boolean isMinableBlock(Block aBlock, byte aMetaData) {
if (aBlock.getMaterial() == Material.circuits) {
return true;
@@ -95,22 +110,27 @@ public class GT_Tool_Crowbar
return tTool.equals("crowbar");
}
+ @Override
public ItemStack getBrokenItem(ItemStack aStack) {
return null;
}
+ @Override
public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? Textures.ItemIcons.CROWBAR : null;
}
+ @Override
public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : null;
}
+ @Override
public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) {
aItem.addItemBehavior(aID, new Behaviour_Crowbar(1, 1000));
}
+ @Override
public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) {
return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " was removed by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE);
}
diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Drill_HV.java b/src/main/java/gregtech/common/tools/GT_Tool_Drill_HV.java
index 42968cf9e8..36c414d40f 100644
--- a/src/main/java/gregtech/common/tools/GT_Tool_Drill_HV.java
+++ b/src/main/java/gregtech/common/tools/GT_Tool_Drill_HV.java
@@ -6,49 +6,58 @@ import gregtech.api.interfaces.IIconContainer;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
-public class GT_Tool_Drill_HV
- extends GT_Tool_Drill_LV {
+public class GT_Tool_Drill_HV extends GT_Tool_Drill_LV {
+ @Override
public int getToolDamagePerBlockBreak() {
return GT_Mod.gregtechproxy.mHardRock ? 400 : 800;
}
+ @Override
public int getToolDamagePerDropConversion() {
return 1600;
}
+ @Override
public int getToolDamagePerContainerCraft() {
return 12800;
}
+ @Override
public int getToolDamagePerEntityAttack() {
return 3200;
}
+ @Override
public int getBaseQuality() {
return 1;
}
+ @Override
public float getBaseDamage() {
return 3.0F;
}
+ @Override
public float getSpeedMultiplier() {
return 9.0F;
}
+ @Override
public float getMaxDurabilityMultiplier() {
return 4.0F;
}
+ @Override
public void onToolCrafted(ItemStack aStack, EntityPlayer aPlayer) {
super.onToolCrafted(aStack, aPlayer);
try {
GT_Mod.instance.achievements.issueAchievement(aPlayer, "highpowerdrill");
GT_Mod.instance.achievements.issueAchievement(aPlayer, "buildDDrill");
- } catch (Exception e) {
+ } catch (Exception ignored) {
}
}
+ @Override
public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? gregtech.api.items.GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadDrill.mTextureIndex] : Textures.ItemIcons.POWER_UNIT_HV;
}
diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Drill_LV.java b/src/main/java/gregtech/common/tools/GT_Tool_Drill_LV.java
index 8f5e6bdfe2..790679a2e1 100644
--- a/src/main/java/gregtech/common/tools/GT_Tool_Drill_LV.java
+++ b/src/main/java/gregtech/common/tools/GT_Tool_Drill_LV.java
@@ -5,6 +5,7 @@ import gregtech.api.GregTech_API;
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.IIconContainer;
import gregtech.api.items.GT_MetaGenerated_Tool;
+import gregtech.api.util.GT_ToolHarvestHelper;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.entity.EntityLivingBase;
@@ -15,84 +16,114 @@ import net.minecraft.util.ChatComponentText;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.IChatComponent;
-public class GT_Tool_Drill_LV
- extends GT_Tool {
+public class GT_Tool_Drill_LV extends GT_Tool {
+ @Override
public int getToolDamagePerBlockBreak() {
return GT_Mod.gregtechproxy.mHardRock ? 25 : 50;
}
+ @Override
public int getToolDamagePerDropConversion() {
return 100;
}
+ @Override
public int getToolDamagePerContainerCraft() {
return 100;
}
+ @Override
public int getToolDamagePerEntityAttack() {
return 200;
}
+ @Override
public int getBaseQuality() {
return 0;
}
+ @Override
public float getBaseDamage() {
return 2.0F;
}
+ @Override
public float getSpeedMultiplier() {
return 3.0F;
}
+ @Override
public float getMaxDurabilityMultiplier() {
return 1.0F;
}
+ @Override
public String getCraftingSound() {
- return (String) GregTech_API.sSoundList.get(Integer.valueOf(106));
+ return (String) GregTech_API.sSoundList.get(106);
}
+ @Override
public String getEntityHitSound() {
- return (String) GregTech_API.sSoundList.get(Integer.valueOf(106));
+ return (String) GregTech_API.sSoundList.get(106);
}
+ @Override
public String getBreakingSound() {
- return (String) GregTech_API.sSoundList.get(Integer.valueOf(106));
+ return (String) GregTech_API.sSoundList.get(106);
}
+ @Override
public String getMiningSound() {
- return (String) GregTech_API.sSoundList.get(Integer.valueOf(106));
+ return (String) GregTech_API.sSoundList.get(106);
}
+ @Override
public boolean canBlock() {
return false;
}
+ @Override
public boolean isCrowbar() {
return false;
}
+ @Override
public boolean isMinableBlock(Block aBlock, byte aMetaData) {
- String tTool = aBlock.getHarvestTool(aMetaData);
- return aBlock.getHarvestLevel(aMetaData) != -1 && (tTool == null || tTool.isEmpty() || ((tTool.equals("pickaxe")) || (tTool.equals("shovel")))) || (aBlock.getMaterial() == Material.rock) || (aBlock.getMaterial() == Material.iron) || (aBlock.getMaterial() == Material.anvil) || (aBlock.getMaterial() == Material.sand) || (aBlock.getMaterial() == Material.grass) || (aBlock.getMaterial() == Material.ground) || (aBlock.getMaterial() == Material.snow) || (aBlock.getMaterial() == Material.clay) || (aBlock.getMaterial() == Material.glass);
- }
-
+ return GT_ToolHarvestHelper.isAppropriateTool(aBlock, aMetaData, "pickaxe", "shovel")
+ || GT_ToolHarvestHelper.isAppropriateMaterial(aBlock,
+ Material.rock,
+ Material.iron,
+ Material.anvil,
+ Material.sand,
+ Material.grass,
+ Material.ground,
+ Material.snow,
+ Material.clay,
+ Material.glass
+ );
+
+ }
+
+ @Override
public ItemStack getBrokenItem(ItemStack aStack) {
return null;
}
+ @Override
public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadDrill.mTextureIndex] : Textures.ItemIcons.POWER_UNIT_LV;
}
+ @Override
public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
}
+ @Override
public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) {
}
+ @Override
public void onToolCrafted(ItemStack aStack, EntityPlayer aPlayer) {
super.onToolCrafted(aStack, aPlayer);
aPlayer.triggerAchievement(AchievementList.buildPickaxe);
@@ -100,10 +131,11 @@ public class GT_Tool_Drill_LV
try {
GT_Mod.instance.achievements.issueAchievement(aPlayer, "driltime");
GT_Mod.instance.achievements.issueAchievement(aPlayer, "buildDrill");
- } catch (Exception e) {
+ } catch (Exception ignored) {
}
}
+ @Override
public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) {
return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " got the Drill! (by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE + ")");
}
diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Drill_MV.java b/src/main/java/gregtech/common/tools/GT_Tool_Drill_MV.java
index de9c067f3c..7bfddc6f98 100644
--- a/src/main/java/gregtech/common/tools/GT_Tool_Drill_MV.java
+++ b/src/main/java/gregtech/common/tools/GT_Tool_Drill_MV.java
@@ -7,38 +7,47 @@ import net.minecraft.item.ItemStack;
public class GT_Tool_Drill_MV
extends GT_Tool_Drill_LV {
+ @Override
public int getToolDamagePerBlockBreak() {
return GT_Mod.gregtechproxy.mHardRock ? 100 : 200;
}
+ @Override
public int getToolDamagePerDropConversion() {
return 400;
}
+ @Override
public int getToolDamagePerContainerCraft() {
return 3200;
}
+ @Override
public int getToolDamagePerEntityAttack() {
return 800;
}
+ @Override
public int getBaseQuality() {
return 1;
}
+ @Override
public float getBaseDamage() {
return 2.5F;
}
+ @Override
public float getSpeedMultiplier() {
return 6.0F;
}
+ @Override
public float getMaxDurabilityMultiplier() {
return 2.0F;
}
+ @Override
public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? gregtech.api.items.GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadDrill.mTextureIndex] : Textures.ItemIcons.POWER_UNIT_MV;
}
diff --git a/src/main/java/gregtech/common/tools/GT_Tool_File.java b/src/main/java/gregtech/common/tools/GT_Tool_File.java
index b17f350aca..9fee85a131 100644
--- a/src/main/java/gregtech/common/tools/GT_Tool_File.java
+++ b/src/main/java/gregtech/common/tools/GT_Tool_File.java
@@ -4,6 +4,7 @@ import gregtech.api.GregTech_API;
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.IIconContainer;
import gregtech.api.items.GT_MetaGenerated_Tool;
+import gregtech.api.util.GT_ToolHarvestHelper;
import net.minecraft.block.Block;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.ItemStack;
@@ -13,86 +14,106 @@ import net.minecraft.util.IChatComponent;
public class GT_Tool_File
extends GT_Tool {
+ @Override
public int getToolDamagePerBlockBreak() {
return 50;
}
+ @Override
public int getToolDamagePerDropConversion() {
return 100;
}
+ @Override
public int getToolDamagePerContainerCraft() {
return 400;
}
+ @Override
public int getToolDamagePerEntityAttack() {
return 200;
}
+ @Override
public int getBaseQuality() {
return 0;
}
+ @Override
public float getBaseDamage() {
return 1.5F;
}
+ @Override
public float getSpeedMultiplier() {
return 1.0F;
}
+ @Override
public float getMaxDurabilityMultiplier() {
return 1.0F;
}
+ @Override
public String getCraftingSound() {
return null;
}
+ @Override
public String getEntityHitSound() {
return null;
}
+ @Override
public String getBreakingSound() {
- return (String) GregTech_API.sSoundList.get(Integer.valueOf(0));
+ return (String) GregTech_API.sSoundList.get(0);
}
+ @Override
public String getMiningSound() {
return null;
}
+ @Override
public boolean canBlock() {
return true;
}
+ @Override
public boolean isCrowbar() {
return false;
}
+ @Override
public boolean isMiningTool() {
return false;
}
+ @Override
public boolean isMinableBlock(Block aBlock, byte aMetaData) {
- String tTool = aBlock.getHarvestTool(aMetaData);
- return aBlock.getHarvestLevel(aMetaData) != -1 && (tTool == null || tTool.isEmpty() || tTool.equals("file"));
+ return GT_ToolHarvestHelper.isAppropriateTool(aBlock ,aMetaData,"file");
}
+ @Override
public ItemStack getBrokenItem(ItemStack aStack) {
return null;
}
+ @Override
public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) {
return !aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadFile.mTextureIndex] : Textures.ItemIcons.HANDLE_FILE;
}
+ @Override
public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) {
return !aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
}
+ @Override
public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) {
}
+ @Override
public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) {
return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " has been filed D for 'Dead' by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE);
}
diff --git a/src/main/java/gregtech/common/tools/GT_Tool_HardHammer.java b/src/main/java/gregtech/common/tools/GT_Tool_HardHammer.java
index 1627b22fa5..956871c560 100644
--- a/src/main/java/gregtech/common/tools/GT_Tool_HardHammer.java
+++ b/src/main/java/gregtech/common/tools/GT_Tool_HardHammer.java
@@ -5,6 +5,7 @@ import gregtech.api.GregTech_API;
import gregtech.api.interfaces.IIconContainer;
import gregtech.api.items.GT_MetaGenerated_Tool;
import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_ToolHarvestHelper;
import gregtech.api.util.GT_Utility;
import gregtech.common.items.behaviors.Behaviour_Prospecting;
import net.minecraft.block.Block;
@@ -22,91 +23,114 @@ import net.minecraftforge.event.world.BlockEvent;
import java.util.Arrays;
import java.util.List;
-public class GT_Tool_HardHammer
- extends GT_Tool {
- public static final List<String> mEffectiveList = Arrays.asList(new String[]{EntityIronGolem.class.getName(), "EntityTowerGuardian"});
+public class GT_Tool_HardHammer extends GT_Tool {
+ public static final List<String> mEffectiveList = Arrays.asList(EntityIronGolem.class.getName(), "EntityTowerGuardian");
+ @Override
public float getNormalDamageAgainstEntity(float aOriginalDamage, Entity aEntity, ItemStack aStack, EntityPlayer aPlayer) {
String tName = aEntity.getClass().getName();
tName = tName.substring(tName.lastIndexOf('.') + 1);
return (mEffectiveList.contains(tName)) || (tName.contains("Golem")) ? aOriginalDamage * 2.0F : aOriginalDamage;
}
+ @Override
public int getToolDamagePerBlockBreak() {
return 50;
}
+ @Override
public int getToolDamagePerDropConversion() {
return 200;
}
+ @Override
public int getToolDamagePerContainerCraft() {
return 400;
}
+ @Override
public int getToolDamagePerEntityAttack() {
return 200;
}
+ @Override
public int getBaseQuality() {
return 0;
}
+ @Override
public float getBaseDamage() {
return 3.0F;
}
+ @Override
public int getHurtResistanceTime(int aOriginalHurtResistance, Entity aEntity) {
return aOriginalHurtResistance * 2;
}
+ @Override
public float getSpeedMultiplier() {
return 0.75F;
}
+ @Override
public float getMaxDurabilityMultiplier() {
return 1.0F;
}
+ @Override
public String getCraftingSound() {
- return (String) GregTech_API.sSoundList.get(Integer.valueOf(1));
+ return (String) GregTech_API.sSoundList.get(1);
}
+ @Override
public String getEntityHitSound() {
return null;
}
+ @Override
public String getBreakingSound() {
- return (String) GregTech_API.sSoundList.get(Integer.valueOf(2));
+ return (String) GregTech_API.sSoundList.get(2);
}
+ @Override
public String getMiningSound() {
return null;
}
+ @Override
public boolean canBlock() {
return true;
}
+ @Override
public boolean isCrowbar() {
return false;
}
+ @Override
public boolean isWeapon() {
return true;
}
+ @Override
public boolean isMinableBlock(Block aBlock, byte aMetaData) {
- String tTool = aBlock.getHarvestTool(aMetaData);
- return aBlock.getHarvestLevel(aMetaData) != -1 && (tTool == null || tTool.isEmpty() || ((tTool.equals("hammer")) || (tTool.equals("pickaxe")))) || (aBlock.getMaterial() == Material.rock) || (aBlock.getMaterial() == Material.glass) || (aBlock.getMaterial() == Material.ice) || (aBlock.getMaterial() == Material.packedIce) || (GT_Recipe.GT_Recipe_Map.sHammerRecipes.containsInput(new ItemStack(aBlock, 1, aMetaData)));
+ return GT_ToolHarvestHelper.isAppropriateTool(aBlock, aMetaData, "hammer", "pickaxe")
+ || GT_ToolHarvestHelper.isAppropriateMaterial(aBlock,
+ Material.rock,
+ Material.glass,
+ Material.ice,
+ Material.packedIce)
+ || GT_Recipe.GT_Recipe_Map.sHammerRecipes.containsInput(new ItemStack(aBlock, 1, aMetaData));
}
+ @Override
public int convertBlockDrops(List<ItemStack> aDrops, ItemStack aStack, EntityPlayer aPlayer, Block aBlock, int aX, int aY, int aZ, byte aMetaData, int aFortune, boolean aSilkTouch, BlockEvent.HarvestDropsEvent aEvent) {
int rConversions = 0;
- GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sHammerRecipes.findRecipe(null, true, 2147483647L, null, new ItemStack[]{new ItemStack(aBlock, 1, aMetaData)});
+ GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sHammerRecipes.findRecipe(null, true, 2147483647L, null, new ItemStack(aBlock, 1, aMetaData));
if ((tRecipe == null) || (aBlock.hasTileEntity(aMetaData))) {
for (ItemStack tDrop : aDrops) {
- tRecipe = GT_Recipe.GT_Recipe_Map.sHammerRecipes.findRecipe(null, true, 2147483647L, null, new ItemStack[]{GT_Utility.copyAmount(1L, new Object[]{tDrop})});
+ tRecipe = GT_Recipe.GT_Recipe_Map.sHammerRecipes.findRecipe(null, true, 2147483647L, null, GT_Utility.copyAmount(1L, new Object[]{tDrop}));
if (tRecipe != null) {
ItemStack tHammeringOutput = tRecipe.getOutput(0);
if (tHammeringOutput != null) {
@@ -125,31 +149,37 @@ public class GT_Tool_HardHammer
return rConversions;
}
+ @Override
public ItemStack getBrokenItem(ItemStack aStack) {
return null;
}
+ @Override
public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadHammer.mTextureIndex] : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.stick.mTextureIndex];
}
+ @Override
public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
}
+ @Override
public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) {
aItem.addItemBehavior(aID, new Behaviour_Prospecting(1, 1000));
}
+ @Override
public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) {
return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " was squashed by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE);
}
+ @Override
public void onToolCrafted(ItemStack aStack, EntityPlayer aPlayer) {
super.onToolCrafted(aStack, aPlayer);
try {
GT_Mod.instance.achievements.issueAchievement(aPlayer, "tools");
- } catch (Exception e) {
+ } catch (Exception ignored) {
}
}
}
diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Hoe.java b/src/main/java/gregtech/common/tools/GT_Tool_Hoe.java
index b6d57ba0fb..a1159fde5c 100644
--- a/src/main/java/gregtech/common/tools/GT_Tool_Hoe.java
+++ b/src/main/java/gregtech/common/tools/GT_Tool_Hoe.java
@@ -3,6 +3,7 @@ package gregtech.common.tools;
import gregtech.api.GregTech_API;
import gregtech.api.interfaces.IIconContainer;
import gregtech.api.items.GT_MetaGenerated_Tool;
+import gregtech.api.util.GT_ToolHarvestHelper;
import gregtech.common.items.behaviors.Behaviour_Hoe;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
@@ -14,90 +15,110 @@ import net.minecraft.util.ChatComponentText;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.IChatComponent;
-public class GT_Tool_Hoe
- extends GT_Tool {
+public class GT_Tool_Hoe extends GT_Tool {
+ @Override
public int getToolDamagePerBlockBreak() {
return 50;
}
+ @Override
public int getToolDamagePerDropConversion() {
return 100;
}
+ @Override
public int getToolDamagePerContainerCraft() {
return 100;
}
+ @Override
public int getToolDamagePerEntityAttack() {
return 200;
}
+ @Override
public int getBaseQuality() {
return 0;
}
+ @Override
public float getBaseDamage() {
return 1.75F;
}
+ @Override
public float getSpeedMultiplier() {
return 1.0F;
}
+ @Override
public float getMaxDurabilityMultiplier() {
return 1.0F;
}
+ @Override
public String getCraftingSound() {
return null;
}
+ @Override
public String getEntityHitSound() {
return null;
}
+ @Override
public String getBreakingSound() {
- return (String) GregTech_API.sSoundList.get(Integer.valueOf(0));
+ return (String) GregTech_API.sSoundList.get(0);
}
+ @Override
public String getMiningSound() {
return null;
}
+ @Override
public boolean canBlock() {
return false;
}
+ @Override
public boolean isCrowbar() {
return false;
}
+ @Override
public boolean isMinableBlock(Block aBlock, byte aMetaData) {
- String tTool = aBlock.getHarvestTool(aMetaData);
- return aBlock.getHarvestLevel(aMetaData) != -1 && (tTool == null || tTool.isEmpty() || (tTool.equals("hoe"))) || (aBlock.getMaterial() == Material.gourd);
+ return GT_ToolHarvestHelper.isAppropriateTool(aBlock , aMetaData ,"hoe")
+ || GT_ToolHarvestHelper.isAppropriateMaterial(aBlock ,Material.gourd);
}
+ @Override
public ItemStack getBrokenItem(ItemStack aStack) {
return null;
}
+ @Override
public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadHoe.mTextureIndex] : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.stick.mTextureIndex];
}
+ @Override
public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
}
+ @Override
public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) {
aItem.addItemBehavior(aID, new Behaviour_Hoe(100));
}
+ @Override
public void onToolCrafted(ItemStack aStack, EntityPlayer aPlayer) {
super.onToolCrafted(aStack, aPlayer);
aPlayer.triggerAchievement(AchievementList.buildHoe);
}
+ @Override
public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) {
return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " has been called a stupid Hoe by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE);
}
diff --git a/src/main/java/gregtech/common/tools/GT_Tool_JackHammer.java b/src/main/java/gregtech/common/tools/GT_Tool_JackHammer.java
index 863775d6fb..3a37e4d3e3 100644
--- a/src/main/java/gregtech/common/tools/GT_Tool_JackHammer.java
+++ b/src/main/java/gregtech/common/tools/GT_Tool_JackHammer.java
@@ -4,6 +4,7 @@ import gregtech.GT_Mod;
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.IIconContainer;
import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_ToolHarvestHelper;
import gregtech.api.util.GT_Utility;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
@@ -17,51 +18,66 @@ import net.minecraftforge.event.world.BlockEvent;
import java.util.List;
-public class GT_Tool_JackHammer
- extends GT_Tool_Drill_LV {
+public class GT_Tool_JackHammer extends GT_Tool_Drill_LV {
+ @Override
public int getToolDamagePerBlockBreak() {
return GT_Mod.gregtechproxy.mHardRock ? 200 : 400;
}
+ @Override
public int getToolDamagePerDropConversion() {
return 400;
}
+ @Override
public int getToolDamagePerContainerCraft() {
return 3200;
}
+ @Override
public int getToolDamagePerEntityAttack() {
return 800;
}
+ @Override
public int getBaseQuality() {
return 1;
}
+ @Override
public float getBaseDamage() {
return 3.0F;
}
+ @Override
public float getSpeedMultiplier() {
return 12.0F;
}
+ @Override
public float getMaxDurabilityMultiplier() {
return 2.0F;
}
+ @Override
public boolean isMinableBlock(Block aBlock, byte aMetaData) {
- String tTool = aBlock.getHarvestTool(aMetaData);
- return aBlock.getHarvestLevel(aMetaData) != -1 && (tTool == null || tTool.isEmpty() || (tTool.equals("pickaxe"))) || (aBlock.getMaterial() == Material.rock) || (aBlock.getMaterial() == Material.glass) || (aBlock.getMaterial() == Material.ice) || (aBlock.getMaterial() == Material.packedIce);
+ return GT_ToolHarvestHelper.isAppropriateTool(aBlock , aMetaData ,"pickaxe")//
+ || GT_ToolHarvestHelper.isAppropriateMaterial(aBlock,//
+ Material.rock,//
+ Material.glass,//
+ Material.ice,//
+ Material.packedIce//
+ );
+
}
+ @Override
public int convertBlockDrops(List<ItemStack> aDrops, ItemStack aStack, EntityPlayer aPlayer, Block aBlock, int aX, int aY, int aZ, byte aMetaData, int aFortune, boolean aSilkTouch, BlockEvent.HarvestDropsEvent aEvent) {
int rConversions = 0;
- GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sHammerRecipes.findRecipe(null, true, 2147483647L, null, new ItemStack[]{new ItemStack(aBlock, 1, aMetaData)});
+ GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sHammerRecipes.findRecipe(null, true, 2147483647L, null, new ItemStack(aBlock, 1, aMetaData));
if ((tRecipe == null) || (aBlock.hasTileEntity(aMetaData))) {
for (ItemStack tDrop : aDrops) {
- tRecipe = GT_Recipe.GT_Recipe_Map.sHammerRecipes.findRecipe(null, true, 2147483647L, null, new ItemStack[]{GT_Utility.copyAmount(1L, new Object[]{tDrop})});
+ tRecipe = GT_Recipe.GT_Recipe_Map.sHammerRecipes.findRecipe(null, true, 2147483647L, null, GT_Utility.copyAmount(1L, new Object[]{tDrop}));
if (tRecipe != null) {
ItemStack tHammeringOutput = tRecipe.getOutput(0);
if (tHammeringOutput != null) {
@@ -80,19 +96,22 @@ public class GT_Tool_JackHammer
return rConversions;
}
+ @Override
public void onToolCrafted(ItemStack aStack, EntityPlayer aPlayer) {
super.onToolCrafted(aStack, aPlayer);
try {
GT_Mod.instance.achievements.issueAchievement(aPlayer, "hammertime");
- } catch (Exception e) {
+ } catch (Exception ignored) {
}
}
+ @Override
public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? Textures.ItemIcons.JACKHAMMER : null;
}
+ @Override
public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) {
return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " has been jackhammered into pieces by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE);
}
diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Knife.java b/src/main/java/gregtech/common/tools/GT_Tool_Knife.java
index db49fb35df..2a4ba6fff9 100644
--- a/src/main/java/gregtech/common/tools/GT_Tool_Knife.java
+++ b/src/main/java/gregtech/common/tools/GT_Tool_Knife.java
@@ -9,44 +9,53 @@ import net.minecraft.util.ChatComponentText;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.IChatComponent;
-public class GT_Tool_Knife
- extends GT_Tool_Sword {
+public class GT_Tool_Knife extends GT_Tool_Sword {
+ @Override
public int getToolDamagePerBlockBreak() {
return 100;
}
+ @Override
public int getToolDamagePerDropConversion() {
return 100;
}
+ @Override
public int getToolDamagePerContainerCraft() {
return 100;
}
+ @Override
public int getToolDamagePerEntityAttack() {
return 600;
}
+ @Override
public float getBaseDamage() {
return 0F;
}
+ @Override
public int getHurtResistanceTime(int aOriginalHurtResistance, Entity aEntity) {
return aOriginalHurtResistance * 3;
}
+ @Override
public float getSpeedMultiplier() {
return 0.5F;
}
+ @Override
public float getMaxDurabilityMultiplier() {
return 1.0F;
}
+ @Override
public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? Textures.ItemIcons.KNIFE : null;
}
+ @Override
public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) {
return new ChatComponentText("<" + EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + "> " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE + " what are you doing?, " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE + "?!? STAHP!!!");
}
diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Mortar.java b/src/main/java/gregtech/common/tools/GT_Tool_Mortar.java
index 28e122b1d9..772da53b7f 100644
--- a/src/main/java/gregtech/common/tools/GT_Tool_Mortar.java
+++ b/src/main/java/gregtech/common/tools/GT_Tool_Mortar.java
@@ -12,87 +12,107 @@ import net.minecraft.util.ChatComponentText;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.IChatComponent;
-public class GT_Tool_Mortar
- extends GT_Tool {
+public class GT_Tool_Mortar extends GT_Tool {
+ @Override
public int getToolDamagePerBlockBreak() {
return 50;
}
+ @Override
public int getToolDamagePerDropConversion() {
return 100;
}
+ @Override
public int getToolDamagePerContainerCraft() {
return 400;
}
+ @Override
public int getToolDamagePerEntityAttack() {
return 200;
}
+ @Override
public int getBaseQuality() {
return 0;
}
+ @Override
public float getBaseDamage() {
return 2.0F;
}
+ @Override
public float getSpeedMultiplier() {
return 1.0F;
}
+ @Override
public float getMaxDurabilityMultiplier() {
return 1.0F;
}
+ @Override
public String getCraftingSound() {
return null;
}
+ @Override
public String getEntityHitSound() {
return null;
}
+ @Override
public String getBreakingSound() {
- return (String) GregTech_API.sSoundList.get(Integer.valueOf(0));
+ return (String) GregTech_API.sSoundList.get(0);
}
+ @Override
public String getMiningSound() {
return null;
}
+ @Override
public boolean canBlock() {
return false;
}
+ @Override
public boolean isCrowbar() {
return false;
}
+ @Override
public boolean isMiningTool() {
return false;
}
+ @Override
public boolean isMinableBlock(Block aBlock, byte aMetaData) {
return false;
}
+ @Override
public ItemStack getBrokenItem(ItemStack aStack) {
return null;
}
+ @Override
public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? Textures.ItemIcons.MORTAR : null;
}
+ @Override
public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : Dyes._NULL.mRGBa;
}
+ @Override
public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) {
}
+ @Override
public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) {
return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " was grounded by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE);
}
diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Pickaxe.java b/src/main/java/gregtech/common/tools/GT_Tool_Pickaxe.java
index 19f1380a94..59d819a31d 100644
--- a/src/main/java/gregtech/common/tools/GT_Tool_Pickaxe.java
+++ b/src/main/java/gregtech/common/tools/GT_Tool_Pickaxe.java
@@ -4,6 +4,7 @@ import gregtech.GT_Mod;
import gregtech.api.GregTech_API;
import gregtech.api.interfaces.IIconContainer;
import gregtech.api.items.GT_MetaGenerated_Tool;
+import gregtech.api.util.GT_ToolHarvestHelper;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.entity.EntityLivingBase;
@@ -14,94 +15,119 @@ import net.minecraft.util.ChatComponentText;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.IChatComponent;
-public class GT_Tool_Pickaxe
- extends GT_Tool {
+public class GT_Tool_Pickaxe extends GT_Tool {
+ @Override
public int getToolDamagePerBlockBreak() {
return GT_Mod.gregtechproxy.mHardRock ? 25 : 50;
}
+ @Override
public int getToolDamagePerDropConversion() {
return 100;
}
+ @Override
public int getToolDamagePerContainerCraft() {
return 100;
}
+ @Override
public int getToolDamagePerEntityAttack() {
return 200;
}
+ @Override
public int getBaseQuality() {
return 0;
}
+ @Override
public float getBaseDamage() {
return 1.5F;
}
+ @Override
public float getSpeedMultiplier() {
return 1.0F;
}
+ @Override
public float getMaxDurabilityMultiplier() {
return 1.0F;
}
+ @Override
public String getCraftingSound() {
return null;
}
+ @Override
public String getEntityHitSound() {
return null;
}
+ @Override
public String getBreakingSound() {
- return (String) GregTech_API.sSoundList.get(Integer.valueOf(0));
+ return (String) GregTech_API.sSoundList.get(0);
}
+ @Override
public String getMiningSound() {
return null;
}
+ @Override
public boolean canBlock() {
return false;
}
+ @Override
public boolean isCrowbar() {
return false;
}
+ @Override
public boolean isMinableBlock(Block aBlock, byte aMetaData) {
- String tTool = aBlock.getHarvestTool(aMetaData);
- return aBlock.getHarvestLevel(aMetaData) != -1 && (tTool == null || tTool.isEmpty() || (tTool.equals("pickaxe"))) || (aBlock.getMaterial() == Material.rock) || (aBlock.getMaterial() == Material.iron) || (aBlock.getMaterial() == Material.anvil) || (aBlock.getMaterial() == Material.glass);
+ return GT_ToolHarvestHelper.isAppropriateTool(aBlock , aMetaData ,"pickaxe")//
+ || GT_ToolHarvestHelper.isAppropriateMaterial(aBlock,//
+ Material.rock,
+ Material.iron,
+ Material.anvil,
+ Material.glass
+ );
}
+ @Override
public ItemStack getBrokenItem(ItemStack aStack) {
return null;
}
+ @Override
public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadPickaxe.mTextureIndex] : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.stick.mTextureIndex];
}
+ @Override
public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
}
+ @Override
public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) {
}
+ @Override
public void onToolCrafted(ItemStack aStack, EntityPlayer aPlayer) {
super.onToolCrafted(aStack, aPlayer);
aPlayer.triggerAchievement(AchievementList.buildPickaxe);
aPlayer.triggerAchievement(AchievementList.buildBetterPickaxe);
try {
GT_Mod.instance.achievements.issueAchievement(aPlayer, "flintpick");
- } catch (Exception e) {
+ } catch (Exception ignored) {
}
}
+ @Override
public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) {
return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " got mined by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE);
}
diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Plow.java b/src/main/java/gregtech/common/tools/GT_Tool_Plow.java
index 08463ed1ca..3c61e93c9f 100644
--- a/src/main/java/gregtech/common/tools/GT_Tool_Plow.java
+++ b/src/main/java/gregtech/common/tools/GT_Tool_Plow.java
@@ -2,6 +2,7 @@ package gregtech.common.tools;
import gregtech.api.interfaces.IIconContainer;
import gregtech.api.items.GT_MetaGenerated_Tool;
+import gregtech.api.util.GT_ToolHarvestHelper;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.entity.Entity;
@@ -17,23 +18,27 @@ import net.minecraftforge.event.world.BlockEvent;
import java.util.List;
-public class GT_Tool_Plow
- extends GT_Tool {
+public class GT_Tool_Plow extends GT_Tool {
private ThreadLocal<Object> sIsHarvestingRightNow = new ThreadLocal();
+ @Override
public float getNormalDamageAgainstEntity(float aOriginalDamage, Entity aEntity, ItemStack aStack, EntityPlayer aPlayer) {
return (aEntity instanceof EntitySnowman) ? aOriginalDamage * 4.0F : aOriginalDamage;
}
+ @Override
public float getBaseDamage() {
return 1.0F;
}
+ @Override
public boolean isMinableBlock(Block aBlock, byte aMetaData) {
- String tTool = aBlock.getHarvestTool(aMetaData);
- return aBlock.getHarvestLevel(aMetaData) != -1 && (tTool == null || tTool.isEmpty() || (tTool.equals("plow"))) || (aBlock.getMaterial() == Material.snow) || (aBlock.getMaterial() == Material.craftedSnow);
+ return GT_ToolHarvestHelper.isAppropriateTool(aBlock , aMetaData ,"plow")
+ || GT_ToolHarvestHelper.isAppropriateMaterial(aBlock ,Material.snow ,Material.craftedSnow);
+
}
+ @Override
public int convertBlockDrops(List<ItemStack> aDrops, ItemStack aStack, EntityPlayer aPlayer, Block aBlock, int aX, int aY, int aZ, byte aMetaData, int aFortune, boolean aSilkTouch, BlockEvent.HarvestDropsEvent aEvent) {
int rConversions = 0;
if ((this.sIsHarvestingRightNow.get() == null) && ((aPlayer instanceof EntityPlayerMP))) {
@@ -41,7 +46,10 @@ public class GT_Tool_Plow
for (int i = -1; i < 2; i++) {
for (int j = -1; j < 2; j++) {
for (int k = -1; k < 2; k++) {
- 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))) {
+ 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)))
+ {
rConversions++;
}
}
@@ -52,14 +60,17 @@ public class GT_Tool_Plow
return rConversions;
}
+ @Override
public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadPlow.mTextureIndex] : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.stick.mTextureIndex];
}
+ @Override
public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
}
+ @Override
public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) {
return new ChatComponentText(EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE + " plew through the yard of " + EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE);
}
diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Plunger.java b/src/main/java/gregtech/common/tools/GT_Tool_Plunger.java
index 72c0080deb..07ec21a2e2 100644
--- a/src/main/java/gregtech/common/tools/GT_Tool_Plunger.java
+++ b/src/main/java/gregtech/common/tools/GT_Tool_Plunger.java
@@ -5,6 +5,7 @@ import gregtech.api.enums.Textures;
import gregtech.api.interfaces.IIconContainer;
import gregtech.api.interfaces.IItemBehaviour;
import gregtech.api.items.GT_MetaGenerated_Tool;
+import gregtech.api.util.GT_ToolHarvestHelper;
import gregtech.api.util.GT_Utility;
import gregtech.common.items.behaviors.Behaviour_Plunger_Fluid;
import gregtech.common.items.behaviors.Behaviour_Plunger_Item;
@@ -15,57 +16,66 @@ import net.minecraft.util.ChatComponentText;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.IChatComponent;
-public class GT_Tool_Plunger
- extends GT_Tool {
+public class GT_Tool_Plunger extends GT_Tool {
+ @Override
public float getBaseDamage() {
return 1.25F;
}
+ @Override
public float getMaxDurabilityMultiplier() {
return 0.25F;
}
+ @Override
public String getCraftingSound() {
- return (String) GregTech_API.sSoundList.get(Integer.valueOf(101));
+ return (String) GregTech_API.sSoundList.get(101);
}
+ @Override
public String getEntityHitSound() {
- return (String) GregTech_API.sSoundList.get(Integer.valueOf(101));
+ return (String) GregTech_API.sSoundList.get(101);
}
+ @Override
public String getBreakingSound() {
- return (String) GregTech_API.sSoundList.get(Integer.valueOf(0));
+ return (String) GregTech_API.sSoundList.get(0);
}
+ @Override
public String getMiningSound() {
- return (String) GregTech_API.sSoundList.get(Integer.valueOf(101));
+ return (String) GregTech_API.sSoundList.get(101);
}
+ @Override
public boolean isMinableBlock(Block aBlock, byte aMetaData) {
- String tTool = aBlock.getHarvestTool(aMetaData);
- return aBlock.getHarvestLevel(aMetaData) != -1 && (tTool == null || tTool.isEmpty() || tTool.equals("plunger"));
+ return GT_ToolHarvestHelper.isAppropriateTool(aBlock,aMetaData , "plunger");
}
+ @Override
public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? Textures.ItemIcons.PLUNGER : null;
}
+ @Override
public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
}
+ @Override
public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) {
aItem.addItemBehavior(aID, new Behaviour_Plunger_Item(getToolDamagePerDropConversion()));
aItem.addItemBehavior(aID, new Behaviour_Plunger_Fluid(getToolDamagePerDropConversion()));
try {
- Object tObject = GT_Utility.callConstructor("gregtech.common.items.behaviors.Behaviour_Plunger_Essentia", 0, null, false, new Object[]{Integer.valueOf(getToolDamagePerDropConversion())});
+ Object tObject = GT_Utility.callConstructor("gregtech.common.items.behaviors.Behaviour_Plunger_Essentia", 0, null, false, getToolDamagePerDropConversion());
if ((tObject instanceof IItemBehaviour)) {
aItem.addItemBehavior(aID, (IItemBehaviour) tObject);
}
- } catch (Throwable e) {
+ } catch (Throwable ignored) {
}
}
+ @Override
public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) {
return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " got stuck trying to escape through a Pipe while fighting " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE);
}
diff --git a/src/main/java/gregtech/common/tools/GT_Tool_RollingPin.java b/src/main/java/gregtech/common/tools/GT_Tool_RollingPin.java
index ca0d85e3d6..b4b1422d92 100644
--- a/src/main/java/gregtech/common/tools/GT_Tool_RollingPin.java
+++ b/src/main/java/gregtech/common/tools/GT_Tool_RollingPin.java
@@ -11,43 +11,52 @@ import net.minecraft.util.ChatComponentText;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.IChatComponent;
-public class GT_Tool_RollingPin
- extends GT_Tool {
+public class GT_Tool_RollingPin extends GT_Tool {
+ @Override
public int getToolDamagePerBlockBreak() {
return 50;
}
+ @Override
public int getToolDamagePerDropConversion() {
return 100;
}
+ @Override
public int getToolDamagePerContainerCraft() {
return 100;
}
+ @Override
public int getToolDamagePerEntityAttack() {
return 200;
}
+ @Override
public float getBaseDamage() {
return 2.0F;
}
+ @Override
public boolean isMinableBlock(Block aBlock, byte aMetaData) {
return false;
}
+ @Override
public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : Dyes._NULL.mRGBa;
}
+ @Override
public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) {
}
+ @Override
public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? Textures.ItemIcons.ROLLING_PIN : null;
}
+ @Override
public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) {
return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " got flattened by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE);
}
diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Saw.java b/src/main/java/gregtech/common/tools/GT_Tool_Saw.java
index aafd989bac..61086db1f3 100644
--- a/src/main/java/gregtech/common/tools/GT_Tool_Saw.java
+++ b/src/main/java/gregtech/common/tools/GT_Tool_Saw.java
@@ -4,6 +4,7 @@ import gregtech.api.GregTech_API;
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.IIconContainer;
import gregtech.api.items.GT_MetaGenerated_Tool;
+import gregtech.api.util.GT_ToolHarvestHelper;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.entity.EntityLivingBase;
@@ -19,56 +20,68 @@ import net.minecraftforge.event.world.BlockEvent;
import java.util.ArrayList;
import java.util.List;
-public class GT_Tool_Saw
- extends GT_Tool {
+public class GT_Tool_Saw extends GT_Tool {
+ @Override
public int getToolDamagePerBlockBreak() {
return 50;
}
+ @Override
public int getToolDamagePerDropConversion() {
return 100;
}
+ @Override
public int getToolDamagePerContainerCraft() {
return 200;
}
+ @Override
public int getToolDamagePerEntityAttack() {
return 200;
}
+ @Override
public int getBaseQuality() {
return 0;
}
+ @Override
public float getBaseDamage() {
return 1.75F;
}
+ @Override
public float getSpeedMultiplier() {
return 1.0F;
}
+ @Override
public float getMaxDurabilityMultiplier() {
return 1.0F;
}
+ @Override
public String getCraftingSound() {
return null;
}
+ @Override
public String getEntityHitSound() {
return null;
}
+ @Override
public String getBreakingSound() {
- return (String) GregTech_API.sSoundList.get(Integer.valueOf(0));
+ return (String) GregTech_API.sSoundList.get(0);
}
+ @Override
public String getMiningSound() {
return null;
}
+ @Override
public int convertBlockDrops(List<ItemStack> aDrops, ItemStack aStack, EntityPlayer aPlayer, Block aBlock, int aX, int aY, int aZ, byte aMetaData, int aFortune, boolean aSilkTouch, BlockEvent.HarvestDropsEvent aEvent) {
if ((aBlock.getMaterial() == Material.leaves) && ((aBlock instanceof IShearable))) {
aPlayer.worldObj.setBlock(aX, aY, aZ, aBlock, aMetaData, 0);
@@ -88,26 +101,40 @@ public class GT_Tool_Saw
return 0;
}
+ @Override
public boolean isMinableBlock(Block aBlock, byte aMetaData) {
- String tTool = aBlock.getHarvestTool(aMetaData);
- return aBlock.getHarvestLevel(aMetaData) != -1 && (tTool == null || tTool.isEmpty() || ((tTool.equals("axe")) || (tTool.equals("saw")))) || (aBlock.getMaterial() == Material.leaves) || (aBlock.getMaterial() == Material.vine) || (aBlock.getMaterial() == Material.wood) || (aBlock.getMaterial() == Material.cactus) || (aBlock.getMaterial() == Material.ice) || (aBlock.getMaterial() == Material.packedIce);
+ return GT_ToolHarvestHelper.isAppropriateTool(aBlock , aMetaData ,"axe" ,"saw")
+ || GT_ToolHarvestHelper.isAppropriateMaterial(aBlock,
+ Material.leaves,
+ Material.vine,
+ Material.wood,
+ Material.cactus,
+ Material.ice,
+ Material.packedIce
+ );
+
}
+ @Override
public ItemStack getBrokenItem(ItemStack aStack) {
return null;
}
+ @Override
public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadSaw.mTextureIndex] : Textures.ItemIcons.HANDLE_SAW;
}
+ @Override
public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
}
+ @Override
public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) {
}
+ @Override
public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) {
return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " was getting cut down by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE);
}
diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Scoop.java b/src/main/java/gregtech/common/tools/GT_Tool_Scoop.java
index 65af5d5c92..22c84a9632 100644
--- a/src/main/java/gregtech/common/tools/GT_Tool_Scoop.java
+++ b/src/main/java/gregtech/common/tools/GT_Tool_Scoop.java
@@ -6,6 +6,7 @@ import gregtech.api.enums.GT_Values;
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.IIconContainer;
import gregtech.api.items.GT_MetaGenerated_Tool;
+import gregtech.api.util.GT_ToolHarvestHelper;
import gregtech.common.items.behaviors.Behaviour_None;
import gregtech.common.items.behaviors.Behaviour_Scoop;
import net.minecraft.block.Block;
@@ -16,83 +17,101 @@ import net.minecraft.util.ChatComponentText;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.IChatComponent;
-public class GT_Tool_Scoop
- extends GT_Tool {
+public class GT_Tool_Scoop extends GT_Tool {
public static Material sBeeHiveMaterial;
+ @Override
public int getToolDamagePerBlockBreak() {
return 200;
}
+ @Override
public int getToolDamagePerDropConversion() {
return 100;
}
+ @Override
public int getToolDamagePerContainerCraft() {
return 200;
}
+ @Override
public int getToolDamagePerEntityAttack() {
return 200;
}
+ @Override
public int getBaseQuality() {
return 0;
}
+ @Override
public float getBaseDamage() {
return 1.0F;
}
+ @Override
public float getSpeedMultiplier() {
return 1.0F;
}
+ @Override
public float getMaxDurabilityMultiplier() {
return 1.0F;
}
+ @Override
public String getCraftingSound() {
return null;
}
+ @Override
public String getEntityHitSound() {
return null;
}
+ @Override
public String getBreakingSound() {
- return (String) GregTech_API.sSoundList.get(Integer.valueOf(0));
+ return (String) GregTech_API.sSoundList.get(0);
}
+ @Override
public String getMiningSound() {
return null;
}
+ @Override
public boolean canBlock() {
return false;
}
+ @Override
public boolean isCrowbar() {
return false;
}
+ @Override
public boolean isMinableBlock(Block aBlock, byte aMetaData) {
- String tTool = aBlock.getHarvestTool(aMetaData);
- return aBlock.getHarvestLevel(aMetaData) != -1 && (tTool == null || tTool.isEmpty() || (tTool.equals("scoop"))) || (aBlock.getMaterial() == sBeeHiveMaterial);
+ return GT_ToolHarvestHelper.isAppropriateTool(aBlock , aMetaData ,"scoop")
+ || GT_ToolHarvestHelper.isAppropriateMaterial(aBlock ,sBeeHiveMaterial);
}
+ @Override
public ItemStack getBrokenItem(ItemStack aStack) {
return null;
}
+ @Override
public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? Textures.ItemIcons.SCOOP : null;
}
+ @Override
public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
}
+ @Override
public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) {
if(Loader.isModLoaded(GT_Values.MOD_ID_FR)){
aItem.addItemBehavior(aID, new Behaviour_Scoop(200));
@@ -102,6 +121,7 @@ public class GT_Tool_Scoop
}
+ @Override
public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) {
return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " got scooped up by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE);
}
diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Screwdriver.java b/src/main/java/gregtech/common/tools/GT_Tool_Screwdriver.java
index 4d19ee0671..71a074d379 100644
--- a/src/main/java/gregtech/common/tools/GT_Tool_Screwdriver.java
+++ b/src/main/java/gregtech/common/tools/GT_Tool_Screwdriver.java
@@ -4,6 +4,7 @@ import gregtech.api.GregTech_API;
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.IIconContainer;
import gregtech.api.items.GT_MetaGenerated_Tool;
+import gregtech.api.util.GT_ToolHarvestHelper;
import gregtech.common.items.behaviors.Behaviour_Screwdriver;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
@@ -20,97 +21,118 @@ import net.minecraft.util.IChatComponent;
import java.util.Arrays;
import java.util.List;
-public class GT_Tool_Screwdriver
- extends GT_Tool {
- public static final List<String> mEffectiveList = Arrays.asList(new String[]{EntityCaveSpider.class.getName(), EntitySpider.class.getName(), "EntityTFHedgeSpider", "EntityTFKingSpider", "EntityTFSwarmSpider", "EntityTFTowerBroodling"});
+public class GT_Tool_Screwdriver extends GT_Tool {
+ public static final List<String> mEffectiveList = Arrays.asList(EntityCaveSpider.class.getName(), EntitySpider.class.getName(), "EntityTFHedgeSpider", "EntityTFKingSpider", "EntityTFSwarmSpider", "EntityTFTowerBroodling");
+ @Override
public float getNormalDamageAgainstEntity(float aOriginalDamage, Entity aEntity, ItemStack aStack, EntityPlayer aPlayer) {
String tName = aEntity.getClass().getName();
tName = tName.substring(tName.lastIndexOf('.') + 1);
return mEffectiveList.contains(tName) ? aOriginalDamage * 2.0F : aOriginalDamage;
}
+ @Override
public int getToolDamagePerBlockBreak() {
return 200;
}
+ @Override
public int getToolDamagePerDropConversion() {
return 100;
}
+ @Override
public int getToolDamagePerContainerCraft() {
return 400;
}
+ @Override
public int getToolDamagePerEntityAttack() {
return 200;
}
+ @Override
public int getBaseQuality() {
return 0;
}
+ @Override
public float getBaseDamage() {
return 1.5F;
}
+ @Override
public float getSpeedMultiplier() {
return 1.0F;
}
+ @Override
public float getMaxDurabilityMultiplier() {
return 1.0F;
}
+ @Override
public String getCraftingSound() {
- return (String) GregTech_API.sSoundList.get(Integer.valueOf(100));
+ return (String) GregTech_API.sSoundList.get(100);
}
+ @Override
public String getEntityHitSound() {
return null;
}
+ @Override
public String getBreakingSound() {
- return (String) GregTech_API.sSoundList.get(Integer.valueOf(0));
+ return (String) GregTech_API.sSoundList.get(0);
}
+ @Override
public String getMiningSound() {
return null;
}
+ @Override
public boolean canBlock() {
return true;
}
+ @Override
public boolean isCrowbar() {
return false;
}
+ @Override
public boolean isMiningTool() {
return false;
}
+ @Override
public boolean isMinableBlock(Block aBlock, byte aMetaData) {
- String tTool = aBlock.getHarvestTool(aMetaData);
- return aBlock.getHarvestLevel(aMetaData) != -1 && (tTool == null || tTool.isEmpty() || (tTool.equals("screwdriver"))) || (aBlock.getMaterial() == Material.circuits);
+ return GT_ToolHarvestHelper.isAppropriateTool(aBlock , aMetaData ,"screwdriver")
+ || GT_ToolHarvestHelper.isAppropriateMaterial(aBlock ,Material.circuits);
}
+ @Override
public ItemStack getBrokenItem(ItemStack aStack) {
return null;
}
+ @Override
public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) {
return !aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadScrewdriver.mTextureIndex] : Textures.ItemIcons.HANDLE_SCREWDRIVER;
}
+ @Override
public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) {
return !aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
}
+ @Override
public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) {
aItem.addItemBehavior(aID, new Behaviour_Screwdriver(1, 200));
}
+ @Override
public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) {
return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " is screwed! (by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE + ")");
}
diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Screwdriver_LV.java b/src/main/java/gregtech/common/tools/GT_Tool_Screwdriver_LV.java
index 93255f7f2f..d8d97cdc4b 100644
--- a/src/main/java/gregtech/common/tools/GT_Tool_Screwdriver_LV.java
+++ b/src/main/java/gregtech/common/tools/GT_Tool_Screwdriver_LV.java
@@ -5,20 +5,23 @@ import gregtech.api.interfaces.IIconContainer;
import gregtech.api.items.GT_MetaGenerated_Tool;
import net.minecraft.item.ItemStack;
-public class GT_Tool_Screwdriver_LV
- extends GT_Tool_Screwdriver {
+public class GT_Tool_Screwdriver_LV extends GT_Tool_Screwdriver {
+ @Override
public float getMaxDurabilityMultiplier() {
return 1.0F;
}
+ @Override
public int getToolDamagePerContainerCraft() {
return 200;
}
+ @Override
public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) {
return !aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadScrewdriver.mTextureIndex] : Textures.ItemIcons.HANDLE_ELECTRIC_SCREWDRIVER;
}
+ @Override
public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) {
return !aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
}
diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Sense.java b/src/main/java/gregtech/common/tools/GT_Tool_Sense.java
index c9af2fc5a6..84c63854c2 100644
--- a/src/main/java/gregtech/common/tools/GT_Tool_Sense.java
+++ b/src/main/java/gregtech/common/tools/GT_Tool_Sense.java
@@ -2,6 +2,7 @@ package gregtech.common.tools;
import gregtech.api.interfaces.IIconContainer;
import gregtech.api.items.GT_MetaGenerated_Tool;
+import gregtech.api.util.GT_ToolHarvestHelper;
import gregtech.common.items.behaviors.Behaviour_Sense;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
@@ -16,24 +17,27 @@ import net.minecraftforge.event.world.BlockEvent;
import java.util.List;
-public class GT_Tool_Sense
- extends GT_Tool {
+public class GT_Tool_Sense extends GT_Tool {
private ThreadLocal<Object> sIsHarvestingRightNow = new ThreadLocal();
+ @Override
public float getBaseDamage() {
return 3.0F;
}
+ @Override
public float getMaxDurabilityMultiplier() {
return 4.0F;
}
+ @Override
public boolean isMinableBlock(Block aBlock, byte aMetaData) {
- String tTool = aBlock.getHarvestTool(aMetaData);
- return aBlock.getHarvestLevel(aMetaData) != -1 && (tTool == null || tTool.isEmpty() || ((tTool.equals("sense")) || (tTool.equals("scythe")))) || (aBlock.getMaterial() == Material.plants) || (aBlock.getMaterial() == Material.leaves);
+ return GT_ToolHarvestHelper.isAppropriateTool(aBlock , aMetaData ,"sense" , "scythe")
+ || GT_ToolHarvestHelper.isAppropriateMaterial(aBlock ,Material.plants ,Material.leaves);
}
+ @Override
public int convertBlockDrops(List<ItemStack> aDrops, ItemStack aStack, EntityPlayer aPlayer, Block aBlock, int aX, int aY, int aZ, byte aMetaData, int aFortune, boolean aSilkTouch, BlockEvent.HarvestDropsEvent aEvent) {
int rConversions = 0;
if ((this.sIsHarvestingRightNow.get() == null) && ((aPlayer instanceof EntityPlayerMP))) {
@@ -41,7 +45,9 @@ public class GT_Tool_Sense
for (int i = -2; i < 3; i++) {
for (int j = -2; j < 3; j++) {
for (int k = -2; k < 3; k++) {
- 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))) {
+ 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))) {
rConversions++;
}
}
@@ -52,18 +58,22 @@ public class GT_Tool_Sense
return rConversions;
}
+ @Override
public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadSense.mTextureIndex] : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.stick.mTextureIndex];
}
+ @Override
public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
}
+ @Override
public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) {
aItem.addItemBehavior(aID, new Behaviour_Sense(getToolDamagePerBlockBreak()));
}
+ @Override
public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) {
return new ChatComponentText(EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE + " has taken the Soul of " + EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE);
}
diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Shovel.java b/src/main/java/gregtech/common/tools/GT_Tool_Shovel.java
index 1549eaebab..0560e0cba9 100644
--- a/src/main/java/gregtech/common/tools/GT_Tool_Shovel.java
+++ b/src/main/java/gregtech/common/tools/GT_Tool_Shovel.java
@@ -3,6 +3,7 @@ package gregtech.common.tools;
import gregtech.api.GregTech_API;
import gregtech.api.interfaces.IIconContainer;
import gregtech.api.items.GT_MetaGenerated_Tool;
+import gregtech.api.util.GT_ToolHarvestHelper;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.entity.EntityLivingBase;
@@ -11,84 +12,109 @@ import net.minecraft.util.ChatComponentText;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.IChatComponent;
-public class GT_Tool_Shovel
- extends GT_Tool {
+public class GT_Tool_Shovel extends GT_Tool {
+ @Override
public int getToolDamagePerBlockBreak() {
return 50;
}
+ @Override
public int getToolDamagePerDropConversion() {
return 100;
}
+ @Override
public int getToolDamagePerContainerCraft() {
return 100;
}
+ @Override
public int getToolDamagePerEntityAttack() {
return 200;
}
+ @Override
public int getBaseQuality() {
return 0;
}
+ @Override
public float getBaseDamage() {
return 1.5F;
}
+ @Override
public float getSpeedMultiplier() {
return 1.0F;
}
+ @Override
public float getMaxDurabilityMultiplier() {
return 1.0F;
}
+ @Override
public String getCraftingSound() {
return null;
}
+ @Override
public String getEntityHitSound() {
return null;
}
+ @Override
public String getBreakingSound() {
- return (String) GregTech_API.sSoundList.get(Integer.valueOf(0));
+ return (String) GregTech_API.sSoundList.get(0);
}
+ @Override
public String getMiningSound() {
return null;
}
+ @Override
public boolean canBlock() {
return false;
}
+ @Override
public boolean isCrowbar() {
return false;
}
+ @Override
public boolean isMinableBlock(Block aBlock, byte aMetaData) {
- String tTool = aBlock.getHarvestTool(aMetaData);
- return aBlock.getHarvestLevel(aMetaData) != -1 && (tTool == null || tTool.isEmpty() || (tTool.equals("shovel"))) || (aBlock.getMaterial() == Material.sand) || (aBlock.getMaterial() == Material.grass) || (aBlock.getMaterial() == Material.ground) || (aBlock.getMaterial() == Material.snow) || (aBlock.getMaterial() == Material.clay);
+ return GT_ToolHarvestHelper.isAppropriateTool(aBlock, aMetaData, "shovel")
+ || GT_ToolHarvestHelper.isAppropriateMaterial(aBlock,
+ Material.sand,
+ Material.grass,
+ Material.ground,
+ Material.snow,
+ Material.clay
+ );
}
+ @Override
public ItemStack getBrokenItem(ItemStack aStack) {
return null;
}
+ @Override
public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadShovel.mTextureIndex] : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.stick.mTextureIndex];
}
+ @Override
public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
}
+ @Override
public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) {
}
+ @Override
public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) {
return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " got dug up by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE);
}
diff --git a/src/main/java/gregtech/common/tools/GT_Tool_SoftHammer.java b/src/main/java/gregtech/common/tools/GT_Tool_SoftHammer.java
index 5bee44aa03..204ec4c104 100644
--- a/src/main/java/gregtech/common/tools/GT_Tool_SoftHammer.java
+++ b/src/main/java/gregtech/common/tools/GT_Tool_SoftHammer.java
@@ -3,6 +3,7 @@ package gregtech.common.tools;
import gregtech.api.GregTech_API;
import gregtech.api.interfaces.IIconContainer;
import gregtech.api.items.GT_MetaGenerated_Tool;
+import gregtech.api.util.GT_ToolHarvestHelper;
import gregtech.common.items.behaviors.Behaviour_SoftHammer;
import net.minecraft.block.Block;
import net.minecraft.entity.Entity;
@@ -12,97 +13,118 @@ import net.minecraft.util.ChatComponentText;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.IChatComponent;
-public class GT_Tool_SoftHammer
- extends GT_Tool {
+public class GT_Tool_SoftHammer extends GT_Tool {
+ @Override
public int getToolDamagePerBlockBreak() {
return 50;
}
+ @Override
public int getToolDamagePerDropConversion() {
return 100;
}
+ @Override
public int getToolDamagePerContainerCraft() {
return 800;
}
+ @Override
public int getToolDamagePerEntityAttack() {
return 200;
}
+ @Override
public int getBaseQuality() {
return 0;
}
+ @Override
public float getBaseDamage() {
return 3.0F;
}
+ @Override
public int getHurtResistanceTime(int aOriginalHurtResistance, Entity aEntity) {
return aOriginalHurtResistance * 2;
}
+ @Override
public float getSpeedMultiplier() {
return 0.1F;
}
+ @Override
public float getMaxDurabilityMultiplier() {
return 8.0F;
}
+ @Override
public String getCraftingSound() {
- return (String) GregTech_API.sSoundList.get(Integer.valueOf(101));
+ return (String) GregTech_API.sSoundList.get(101);
}
+ @Override
public String getEntityHitSound() {
- return (String) GregTech_API.sSoundList.get(Integer.valueOf(101));
+ return (String) GregTech_API.sSoundList.get(101);
}
+ @Override
public String getBreakingSound() {
- return (String) GregTech_API.sSoundList.get(Integer.valueOf(0));
+ return (String) GregTech_API.sSoundList.get(0);
}
+ @Override
public String getMiningSound() {
- return (String) GregTech_API.sSoundList.get(Integer.valueOf(101));
+ return (String) GregTech_API.sSoundList.get(101);
}
+ @Override
public boolean canBlock() {
return true;
}
+ @Override
public boolean isCrowbar() {
return false;
}
+ @Override
public boolean isMiningTool() {
return false;
}
+ @Override
public boolean isWeapon() {
return true;
}
+ @Override
public boolean isMinableBlock(Block aBlock, byte aMetaData) {
- String tTool = aBlock.getHarvestTool(aMetaData);
- return aBlock.getHarvestLevel(aMetaData) != -1 && (tTool == null || tTool.isEmpty() || tTool.equals("softhammer"));
+ return GT_ToolHarvestHelper.isAppropriateTool(aBlock , aMetaData ,"softhammer");
}
+ @Override
public ItemStack getBrokenItem(ItemStack aStack) {
return null;
}
+ @Override
public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadMallet.mTextureIndex] : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.handleMallet.mTextureIndex];
}
+ @Override
public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
}
+ @Override
public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) {
aItem.addItemBehavior(aID, new Behaviour_SoftHammer(100));
}
+ @Override
public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) {
return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " was hammered to death by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE);
}
diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Soldering_Iron.java b/src/main/java/gregtech/common/tools/GT_Tool_Soldering_Iron.java
index 1b13e9207a..73145922e4 100644
--- a/src/main/java/gregtech/common/tools/GT_Tool_Soldering_Iron.java
+++ b/src/main/java/gregtech/common/tools/GT_Tool_Soldering_Iron.java
@@ -4,6 +4,7 @@ import gregtech.api.GregTech_API;
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.IIconContainer;
import gregtech.api.items.GT_MetaGenerated_Tool;
+import gregtech.api.util.GT_ToolHarvestHelper;
import gregtech.common.items.behaviors.Behaviour_Screwdriver;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
@@ -21,95 +22,118 @@ import java.util.Arrays;
import java.util.List;
public class GT_Tool_Soldering_Iron extends GT_Tool {
- public static final List<String> mEffectiveList = Arrays.asList(new String[]{EntityCaveSpider.class.getName(), EntitySpider.class.getName(), "EntityTFHedgeSpider", "EntityTFKingSpider", "EntityTFSwarmSpider", "EntityTFTowerBroodling"});
+ public static final List<String> mEffectiveList = Arrays.asList(EntityCaveSpider.class.getName(), EntitySpider.class.getName(), "EntityTFHedgeSpider", "EntityTFKingSpider", "EntityTFSwarmSpider", "EntityTFTowerBroodling");
+ @Override
public float getNormalDamageAgainstEntity(float aOriginalDamage, Entity aEntity, ItemStack aStack, EntityPlayer aPlayer) {
String tName = aEntity.getClass().getName();
tName = tName.substring(tName.lastIndexOf('.') + 1);
return mEffectiveList.contains(tName) ? aOriginalDamage * 2.0F : aOriginalDamage;
}
+ @Override
public int getToolDamagePerBlockBreak() {
return 1000;
}
+ @Override
public int getToolDamagePerDropConversion() {
return 500;
}
+ @Override
public int getToolDamagePerContainerCraft() {
return 1000;
}
+ @Override
public int getToolDamagePerEntityAttack() {
return 500;
}
+ @Override
public int getBaseQuality() {
return 0;
}
+ @Override
public float getBaseDamage() {
return 1.5F;
}
+ @Override
public float getSpeedMultiplier() {
return 1.0F;
}
+ @Override
public float getMaxDurabilityMultiplier() {
return 1.0F;
}
+ @Override
public String getCraftingSound() {
- return (String) GregTech_API.sSoundList.get(Integer.valueOf(100));
+ return (String) GregTech_API.sSoundList.get(100);
}
+ @Override
public String getEntityHitSound() {
return null;
}
+ @Override
public String getBreakingSound() {
- return (String) GregTech_API.sSoundList.get(Integer.valueOf(0));
+ return (String) GregTech_API.sSoundList.get(0);
}
+ @Override
public String getMiningSound() {
return null;
}
+ @Override
public boolean canBlock() {
return true;
}
+ @Override
public boolean isCrowbar() {
return false;
}
+ @Override
public boolean isMiningTool() {
return false;
}
+ @Override
public boolean isMinableBlock(Block aBlock, byte aMetaData) {
- String tTool = aBlock.getHarvestTool(aMetaData);
- return aBlock.getHarvestLevel(aMetaData) != -1 && (tTool == null || tTool.isEmpty() || (tTool.equals("soldering_iron"))) || (aBlock.getMaterial() == Material.circuits);
+ return GT_ToolHarvestHelper.isAppropriateTool(aBlock, aMetaData, "soldering_iron")
+ || GT_ToolHarvestHelper.isAppropriateMaterial(aBlock, Material.circuits);
+
}
+ @Override
public ItemStack getBrokenItem(ItemStack aStack) {
return null;
}
+ @Override
public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) {
return !aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[49] : Textures.ItemIcons.HANDLE_SOLDERING;
}
+ @Override
public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) {
return !aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
}
+ @Override
public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) {
aItem.addItemBehavior(aID, new Behaviour_Screwdriver(1, 200));
}
+ @Override
public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) {
return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " got soldert! (by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE + ")");
}
diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Sword.java b/src/main/java/gregtech/common/tools/GT_Tool_Sword.java
index 305b8313eb..458775997a 100644
--- a/src/main/java/gregtech/common/tools/GT_Tool_Sword.java
+++ b/src/main/java/gregtech/common/tools/GT_Tool_Sword.java
@@ -4,91 +4,123 @@ import gregtech.api.GregTech_API;
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.IIconContainer;
import gregtech.api.items.GT_MetaGenerated_Tool;
+import gregtech.api.util.GT_ToolHarvestHelper;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.stats.AchievementList;
-public class GT_Tool_Sword
- extends GT_Tool {
+public class GT_Tool_Sword extends GT_Tool {
+ @Override
public int getToolDamagePerBlockBreak() {
return 200;
}
+ @Override
public int getToolDamagePerDropConversion() {
return 100;
}
+ @Override
public int getToolDamagePerContainerCraft() {
return 100;
}
+ @Override
public int getToolDamagePerEntityAttack() {
return 100;
}
+ @Override
public int getBaseQuality() {
return 0;
}
+ @Override
public float getBaseDamage() {
return 4.0F;
}
+ @Override
public float getSpeedMultiplier() {
return 1.0F;
}
+ @Override
public float getMaxDurabilityMultiplier() {
return 1.0F;
}
+ @Override
public String getCraftingSound() {
return null;
}
+ @Override
public String getEntityHitSound() {
return null;
}
+ @Override
public String getBreakingSound() {
- return (String) GregTech_API.sSoundList.get(Integer.valueOf(0));
+ return (String) GregTech_API.sSoundList.get(0);
}
+ @Override
public String getMiningSound() {
return null;
}
+ @Override
public boolean canBlock() {
return true;
}
+ @Override
public boolean isCrowbar() {
return false;
}
+ @Override
public boolean isWeapon() {
return true;
}
+ @Override
public boolean isMinableBlock(Block aBlock, byte aMetaData) {
- String tTool = aBlock.getHarvestTool(aMetaData);
- return aBlock.getHarvestLevel(aMetaData) != -1 && (tTool == null || tTool.isEmpty() || (tTool.equals("sword"))) || (aBlock.getMaterial() == Material.leaves) || (aBlock.getMaterial() == Material.gourd) || (aBlock.getMaterial() == Material.vine) || (aBlock.getMaterial() == Material.web) || (aBlock.getMaterial() == Material.cloth) || (aBlock.getMaterial() == Material.carpet) || (aBlock.getMaterial() == Material.plants) || (aBlock.getMaterial() == Material.cactus) || (aBlock.getMaterial() == Material.cake) || (aBlock.getMaterial() == Material.tnt) || (aBlock.getMaterial() == Material.sponge);
- }
-
+ return GT_ToolHarvestHelper.isAppropriateTool(aBlock, aMetaData, "sword")
+ || GT_ToolHarvestHelper.isAppropriateMaterial(aBlock,
+ Material.leaves,
+ Material.gourd,
+ Material.vine,
+ Material.web,
+ Material.cloth,
+ Material.carpet,
+ Material.plants,
+ Material.cactus,
+ Material.cake,
+ Material.tnt,
+ Material.sponge
+ );
+ }
+
+ @Override
public ItemStack getBrokenItem(ItemStack aStack) {
return null;
}
+ @Override
public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) {
return !aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadSword.mTextureIndex] : Textures.ItemIcons.HANDLE_SWORD;
}
+ @Override
public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) {
return !aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
}
+ @Override
public void onToolCrafted(ItemStack aStack, EntityPlayer aPlayer) {
super.onToolCrafted(aStack, aPlayer);
aPlayer.triggerAchievement(AchievementList.buildSword);
diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Turbine.java b/src/main/java/gregtech/common/tools/GT_Tool_Turbine.java
index 8ac83ef486..249ca04acb 100644
--- a/src/main/java/gregtech/common/tools/GT_Tool_Turbine.java
+++ b/src/main/java/gregtech/common/tools/GT_Tool_Turbine.java
@@ -10,6 +10,7 @@ import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.IChatComponent;
public abstract class GT_Tool_Turbine extends GT_Tool {
+ @Override
public abstract float getBaseDamage();
@Override
@@ -27,6 +28,7 @@ public abstract class GT_Tool_Turbine extends GT_Tool {
return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : null;
}
+ @Override
public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) {
return new ChatComponentText(EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE + " put " + EnumChatFormatting.RED +
aEntity.getCommandSenderName() + "s" + EnumChatFormatting.WHITE + " head into a turbine");
@@ -34,10 +36,13 @@ public abstract class GT_Tool_Turbine extends GT_Tool {
public abstract IIconContainer getTurbineIcon();
+ @Override
public abstract float getSpeedMultiplier();
+ @Override
public abstract float getMaxDurabilityMultiplier();
+ @Override
public ItemStack getBrokenItem(ItemStack aStack) {
return null;
}
diff --git a/src/main/java/gregtech/common/tools/GT_Tool_UniversalSpade.java b/src/main/java/gregtech/common/tools/GT_Tool_UniversalSpade.java
index cd0f406f18..d53d3600a1 100644
--- a/src/main/java/gregtech/common/tools/GT_Tool_UniversalSpade.java
+++ b/src/main/java/gregtech/common/tools/GT_Tool_UniversalSpade.java
@@ -4,6 +4,7 @@ import gregtech.GT_Mod;
import gregtech.api.GregTech_API;
import gregtech.api.interfaces.IIconContainer;
import gregtech.api.items.GT_MetaGenerated_Tool;
+import gregtech.api.util.GT_ToolHarvestHelper;
import gregtech.common.items.behaviors.Behaviour_Crowbar;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
@@ -15,98 +16,138 @@ import net.minecraft.util.ChatComponentText;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.IChatComponent;
-public class GT_Tool_UniversalSpade
- extends GT_Tool {
+public class GT_Tool_UniversalSpade extends GT_Tool {
+ @Override
public int getToolDamagePerBlockBreak() {
return 50;
}
+ @Override
public int getToolDamagePerDropConversion() {
return 100;
}
+ @Override
public int getToolDamagePerContainerCraft() {
return 400;
}
+ @Override
public int getToolDamagePerEntityAttack() {
return 100;
}
+ @Override
public int getBaseQuality() {
return 0;
}
+ @Override
public float getBaseDamage() {
return 3.0F;
}
+ @Override
public float getSpeedMultiplier() {
return 0.75F;
}
+ @Override
public float getMaxDurabilityMultiplier() {
return 1.0F;
}
+ @Override
public String getCraftingSound() {
return null;
}
+ @Override
public String getEntityHitSound() {
return null;
}
+ @Override
public String getBreakingSound() {
- return (String) GregTech_API.sSoundList.get(Integer.valueOf(0));
+ return (String) GregTech_API.sSoundList.get(0);
}
+ @Override
public String getMiningSound() {
return null;
}
+ @Override
public boolean canBlock() {
return true;
}
+ @Override
public boolean isCrowbar() {
return true;
}
+ @Override
public boolean isWeapon() {
return true;
}
+ @Override
public boolean isMinableBlock(Block aBlock, byte aMetaData) {
- String tTool = aBlock.getHarvestTool(aMetaData);
- return aBlock.getHarvestLevel(aMetaData) != -1 && (tTool == null || tTool.isEmpty() || ((tTool.equals("shovel")) || (tTool.equals("axe")) || (tTool.equals("saw")) || (tTool.equals("sword")) || (tTool.equals("crowbar")))) || (aBlock.getMaterial() == Material.sand) || (aBlock.getMaterial() == Material.grass) || (aBlock.getMaterial() == Material.ground) || (aBlock.getMaterial() == Material.snow) || (aBlock.getMaterial() == Material.clay) || (aBlock.getMaterial() == Material.leaves) || (aBlock.getMaterial() == Material.vine) || (aBlock.getMaterial() == Material.wood) || (aBlock.getMaterial() == Material.cactus) || (aBlock.getMaterial() == Material.circuits) || (aBlock.getMaterial() == Material.gourd) || (aBlock.getMaterial() == Material.web) || (aBlock.getMaterial() == Material.cloth) || (aBlock.getMaterial() == Material.carpet) || (aBlock.getMaterial() == Material.plants) || (aBlock.getMaterial() == Material.cake) || (aBlock.getMaterial() == Material.tnt) || (aBlock.getMaterial() == Material.sponge);
- }
-
+ return GT_ToolHarvestHelper.isAppropriateTool(aBlock, aMetaData, "shovel", "axe", "saw", "sword", "crowbar")
+ || GT_ToolHarvestHelper.isAppropriateMaterial(aBlock,
+ Material.sand,
+ Material.grass,
+ Material.ground,
+ Material.snow,
+ Material.clay,
+ Material.leaves,
+ Material.vine,
+ Material.wood,
+ Material.cactus,
+ Material.circuits,
+ Material.gourd,
+ Material.web,
+ Material.cloth,
+ Material.carpet,
+ Material.plants,
+ Material.cake,
+ Material.tnt,
+ Material.sponge
+ );
+ }
+
+ @Override
public ItemStack getBrokenItem(ItemStack aStack) {
return null;
}
+ @Override
public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadUniversalSpade.mTextureIndex] : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.stick.mTextureIndex];
}
+ @Override
public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
}
+ @Override
public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) {
aItem.addItemBehavior(aID, new Behaviour_Crowbar(2, 2000));
}
+ @Override
public void onToolCrafted(ItemStack aStack, EntityPlayer aPlayer) {
super.onToolCrafted(aStack, aPlayer);
aPlayer.triggerAchievement(AchievementList.buildSword);
try {
GT_Mod.instance.achievements.issueAchievement(aPlayer, "unitool");
- } catch (Exception e) {
+ } catch (Exception ignored) {
}
}
+ @Override
public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) {
return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " has been digged by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE);
}
diff --git a/src/main/java/gregtech/common/tools/GT_Tool_WireCutter.java b/src/main/java/gregtech/common/tools/GT_Tool_WireCutter.java
index a68275f88f..8caf720956 100644
--- a/src/main/java/gregtech/common/tools/GT_Tool_WireCutter.java
+++ b/src/main/java/gregtech/common/tools/GT_Tool_WireCutter.java
@@ -4,6 +4,7 @@ import gregtech.api.GregTech_API;
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.IIconContainer;
import gregtech.api.items.GT_MetaGenerated_Tool;
+import gregtech.api.util.GT_ToolHarvestHelper;
import net.minecraft.block.Block;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.ItemStack;
@@ -11,84 +12,102 @@ import net.minecraft.util.ChatComponentText;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.IChatComponent;
-public class GT_Tool_WireCutter
- extends GT_Tool {
+public class GT_Tool_WireCutter extends GT_Tool {
+ @Override
public int getToolDamagePerBlockBreak() {
return 100;
}
+ @Override
public int getToolDamagePerDropConversion() {
return 100;
}
+ @Override
public int getToolDamagePerContainerCraft() {
return 400;
}
+ @Override
public int getToolDamagePerEntityAttack() {
return 200;
}
+ @Override
public int getBaseQuality() {
return 0;
}
+ @Override
public float getBaseDamage() {
return 1.25F;
}
+ @Override
public float getSpeedMultiplier() {
return 1.0F;
}
+ @Override
public float getMaxDurabilityMultiplier() {
return 1.0F;
}
+ @Override
public String getCraftingSound() {
- return null;
+ return (String) GregTech_API.sSoundList.get(109);
}
+ @Override
public String getEntityHitSound() {
return null;
}
+ @Override
public String getBreakingSound() {
- return (String) GregTech_API.sSoundList.get(Integer.valueOf(0));
+ return (String) GregTech_API.sSoundList.get(0);
}
+ @Override
public String getMiningSound() {
- return null;
+ return (String) GregTech_API.sSoundList.get(109);
}
+ @Override
public boolean canBlock() {
return false;
}
+ @Override
public boolean isCrowbar() {
return false;
}
+ @Override
public boolean isMinableBlock(Block aBlock, byte aMetaData) {
- String tTool = aBlock.getHarvestTool(aMetaData);
- return aBlock.getHarvestLevel(aMetaData) != -1 && ( tTool == null || tTool.isEmpty() || (tTool.equals("cutter")));
+ return GT_ToolHarvestHelper.isAppropriateTool(aBlock , aMetaData ,"cutter");
}
+ @Override
public ItemStack getBrokenItem(ItemStack aStack) {
return null;
}
+ @Override
public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? Textures.ItemIcons.WIRE_CUTTER : null;
}
+ @Override
public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
}
+ @Override
public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) {
}
+ @Override
public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) {
return new ChatComponentText(EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE + " has cut the Cable for the Life Support Machine of " + EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE);
}
diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Wrench.java b/src/main/java/gregtech/common/tools/GT_Tool_Wrench.java
index 26a77ed229..0b50eb52e9 100644
--- a/src/main/java/gregtech/common/tools/GT_Tool_Wrench.java
+++ b/src/main/java/gregtech/common/tools/GT_Tool_Wrench.java
@@ -4,6 +4,7 @@ import gregtech.api.GregTech_API;
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.IIconContainer;
import gregtech.api.items.GT_MetaGenerated_Tool;
+import gregtech.api.util.GT_ToolHarvestHelper;
import gregtech.common.items.behaviors.Behaviour_Wrench;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
@@ -20,112 +21,127 @@ import net.minecraft.util.IChatComponent;
import java.util.Arrays;
import java.util.List;
-public class GT_Tool_Wrench
- extends GT_Tool {
- public static final List<String> mEffectiveList = Arrays.asList(new String[]{EntityIronGolem.class.getName(), "EntityTowerGuardian"});
+public class GT_Tool_Wrench extends GT_Tool {
+ public static final List<String> mEffectiveList = Arrays.asList(EntityIronGolem.class.getName(), "EntityTowerGuardian");
+ @Override
public float getNormalDamageAgainstEntity(float aOriginalDamage, Entity aEntity, ItemStack aStack, EntityPlayer aPlayer) {
String tName = aEntity.getClass().getName();
tName = tName.substring(tName.lastIndexOf('.') + 1);
return (mEffectiveList.contains(tName)) || (tName.contains("Golem")) ? aOriginalDamage * 2.0F : aOriginalDamage;
}
+ @Override
public int getToolDamagePerBlockBreak() {
return 50;
}
+ @Override
public int getToolDamagePerDropConversion() {
return 100;
}
+ @Override
public int getToolDamagePerContainerCraft() {
return 800;
}
+ @Override
public int getToolDamagePerEntityAttack() {
return 200;
}
+ @Override
public int getBaseQuality() {
return 0;
}
+ @Override
public float getBaseDamage() {
return 3.0F;
}
+ @Override
public int getHurtResistanceTime(int aOriginalHurtResistance, Entity aEntity) {
return aOriginalHurtResistance * 2;
}
+ @Override
public float getSpeedMultiplier() {
return 1.0F;
}
+ @Override
public float getMaxDurabilityMultiplier() {
return 1.0F;
}
+ @Override
public String getCraftingSound() {
- return (String) GregTech_API.sSoundList.get(Integer.valueOf(100));
+ return (String) GregTech_API.sSoundList.get(100);
}
+ @Override
public String getEntityHitSound() {
return null;
}
+ @Override
public String getBreakingSound() {
- return (String) GregTech_API.sSoundList.get(Integer.valueOf(0));
+ return (String) GregTech_API.sSoundList.get(0);
}
+ @Override
public String getMiningSound() {
- return (String) GregTech_API.sSoundList.get(Integer.valueOf(100));
+ return (String) GregTech_API.sSoundList.get(100);
}
+ @Override
public boolean canBlock() {
return false;
}
+ @Override
public boolean isCrowbar() {
return false;
}
+ @Override
public boolean isWrench() {
return true;
}
+ @Override
public boolean isMinableBlock(Block aBlock, byte aMetaData) {
- String tTool = aBlock.getHarvestTool(aMetaData);
- return aBlock.getHarvestLevel(aMetaData) != -1 && (tTool == null || tTool.isEmpty() || (tTool.equals("wrench"))) || (aBlock.getMaterial() == Material.piston) || (aBlock == Blocks.hopper) || (aBlock == Blocks.dispenser) || (aBlock == Blocks.dropper);
+ return GT_ToolHarvestHelper.isAppropriateTool(aBlock, aMetaData, "wrench")
+ || GT_ToolHarvestHelper.isAppropriateMaterial(aBlock, Material.piston)
+ || GT_ToolHarvestHelper.isSpecialBlock(aBlock,Blocks.hopper, Blocks.dispenser, Blocks.dropper);
+
}
+ @Override
public ItemStack getBrokenItem(ItemStack aStack) {
return null;
}
+ @Override
public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? Textures.ItemIcons.WRENCH : null;
}
+ @Override
public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : null;
}
+ @Override
public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) {
aItem.addItemBehavior(aID, new Behaviour_Wrench(100));
}
+ @Override
public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) {
return new ChatComponentText(EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE + " threw a Monkey Wrench into the Plans of " + EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE);
}
}
-
-
-/* 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
-
- */
diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Wrench_HV.java b/src/main/java/gregtech/common/tools/GT_Tool_Wrench_HV.java
index deb7a8dbc3..4ec433d9a7 100644
--- a/src/main/java/gregtech/common/tools/GT_Tool_Wrench_HV.java
+++ b/src/main/java/gregtech/common/tools/GT_Tool_Wrench_HV.java
@@ -5,48 +5,58 @@ import gregtech.api.interfaces.IIconContainer;
import gregtech.api.items.GT_MetaGenerated_Tool;
import net.minecraft.item.ItemStack;
-public class GT_Tool_Wrench_HV
- extends GT_Tool_Wrench_LV {
+public class GT_Tool_Wrench_HV extends GT_Tool_Wrench_LV {
+ @Override
public int getToolDamagePerBlockBreak() {
return 800;
}
+ @Override
public int getToolDamagePerDropConversion() {
return 1600;
}
+ @Override
public int getToolDamagePerContainerCraft() {
return 12800;
}
+ @Override
public int getToolDamagePerEntityAttack() {
return 3200;
}
+ @Override
public int getBaseQuality() {
return 1;
}
+ @Override
public float getBaseDamage() {
return 2.0F;
}
+ @Override
public float getSpeedMultiplier() {
return 4.0F;
}
+ @Override
public float getMaxDurabilityMultiplier() {
return 4.0F;
}
+ @Override
public boolean canBlock() {
return false;
}
+ @Override
public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadWrench.mTextureIndex] : Textures.ItemIcons.POWER_UNIT_HV;
}
+ @Override
public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
}
diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Wrench_LV.java b/src/main/java/gregtech/common/tools/GT_Tool_Wrench_LV.java
index 034752f265..12b83dcb83 100644
--- a/src/main/java/gregtech/common/tools/GT_Tool_Wrench_LV.java
+++ b/src/main/java/gregtech/common/tools/GT_Tool_Wrench_LV.java
@@ -7,52 +7,63 @@ import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
-public class GT_Tool_Wrench_LV
- extends GT_Tool_Wrench {
+public class GT_Tool_Wrench_LV extends GT_Tool_Wrench {
+ @Override
public float getNormalDamageAgainstEntity(float aOriginalDamage, Entity aEntity, ItemStack aStack, EntityPlayer aPlayer) {
return aOriginalDamage;
}
+ @Override
public int getToolDamagePerBlockBreak() {
return 50;
}
+ @Override
public int getToolDamagePerDropConversion() {
return 100;
}
+ @Override
public int getToolDamagePerContainerCraft() {
return 800;
}
+ @Override
public int getToolDamagePerEntityAttack() {
return 200;
}
+ @Override
public int getBaseQuality() {
return 0;
}
+ @Override
public float getBaseDamage() {
return 1.0F;
}
+ @Override
public float getSpeedMultiplier() {
return 2.0F;
}
+ @Override
public float getMaxDurabilityMultiplier() {
return 1.0F;
}
+ @Override
public boolean canBlock() {
return false;
}
+ @Override
public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadWrench.mTextureIndex] : Textures.ItemIcons.POWER_UNIT_LV;
}
+ @Override
public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
}
diff --git a/src/main/java/gregtech/common/tools/GT_Tool_Wrench_MV.java b/src/main/java/gregtech/common/tools/GT_Tool_Wrench_MV.java
index 8a3fb4f968..5ffc3b1481 100644
--- a/src/main/java/gregtech/common/tools/GT_Tool_Wrench_MV.java
+++ b/src/main/java/gregtech/common/tools/GT_Tool_Wrench_MV.java
@@ -5,48 +5,58 @@ import gregtech.api.interfaces.IIconContainer;
import gregtech.api.items.GT_MetaGenerated_Tool;
import net.minecraft.item.ItemStack;
-public class GT_Tool_Wrench_MV
- extends GT_Tool_Wrench_LV {
+public class GT_Tool_Wrench_MV extends GT_Tool_Wrench_LV {
+ @Override
public int getToolDamagePerBlockBreak() {
return 200;
}
+ @Override
public int getToolDamagePerDropConversion() {
return 400;
}
+ @Override
public int getToolDamagePerContainerCraft() {
return 3200;
}
+ @Override
public int getToolDamagePerEntityAttack() {
return 800;
}
+ @Override
public int getBaseQuality() {
return 1;
}
+ @Override
public float getBaseDamage() {
return 1.5F;
}
+ @Override
public float getSpeedMultiplier() {
return 3.0F;
}
+ @Override
public float getMaxDurabilityMultiplier() {
return 2.0F;
}
+ @Override
public boolean canBlock() {
return false;
}
+ @Override
public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.toolHeadWrench.mTextureIndex] : Textures.ItemIcons.POWER_UNIT_MV;
}
+ @Override
public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) {
return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
}