diff options
author | Shawn Buckley <shawntbuckley@gmail.com> | 2015-10-18 23:04:39 -0400 |
---|---|---|
committer | Shawn Buckley <shawntbuckley@gmail.com> | 2015-10-18 23:04:39 -0400 |
commit | 85c804fa112fd1f19c91e45d150a787cfbf0f7a8 (patch) | |
tree | cb302d8e0f46e06be0b1d391317578b165aec245 /src/main/java/gregtech/common/tools/GT_Tool_JackHammer.java | |
parent | ce25063b910bb3bdd2b0c234b185fc4077caebdb (diff) | |
download | GT5-Unofficial-85c804fa112fd1f19c91e45d150a787cfbf0f7a8.tar.gz GT5-Unofficial-85c804fa112fd1f19c91e45d150a787cfbf0f7a8.tar.bz2 GT5-Unofficial-85c804fa112fd1f19c91e45d150a787cfbf0f7a8.zip |
Move source directory
Diffstat (limited to 'src/main/java/gregtech/common/tools/GT_Tool_JackHammer.java')
-rw-r--r-- | src/main/java/gregtech/common/tools/GT_Tool_JackHammer.java | 121 |
1 files changed, 121 insertions, 0 deletions
diff --git a/src/main/java/gregtech/common/tools/GT_Tool_JackHammer.java b/src/main/java/gregtech/common/tools/GT_Tool_JackHammer.java new file mode 100644 index 0000000000..43043f9da0 --- /dev/null +++ b/src/main/java/gregtech/common/tools/GT_Tool_JackHammer.java @@ -0,0 +1,121 @@ +package gregtech.common.tools;
+
+import gregtech.GT_Mod;
+import gregtech.api.enums.Textures;
+import gregtech.api.enums.Textures.ItemIcons;
+import gregtech.api.interfaces.IIconContainer;
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
+import gregtech.api.util.GT_Utility;
+import gregtech.common.GT_Proxy;
+
+import java.util.List;
+
+import net.minecraft.block.Block;
+import net.minecraft.block.material.Material;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.ChatComponentText;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.util.IChatComponent;
+import net.minecraftforge.event.world.BlockEvent;
+import net.minecraftforge.event.world.BlockEvent.HarvestDropsEvent;
+
+public class GT_Tool_JackHammer
+ extends GT_Tool_Drill_LV
+{
+ public int getToolDamagePerBlockBreak()
+ {
+ return GT_Mod.gregtechproxy.mHardRock ? 200 : 400;
+ }
+
+ public int getToolDamagePerDropConversion()
+ {
+ return 400;
+ }
+
+ public int getToolDamagePerContainerCraft()
+ {
+ return 3200;
+ }
+
+ public int getToolDamagePerEntityAttack()
+ {
+ return 800;
+ }
+
+ public int getBaseQuality()
+ {
+ return 1;
+ }
+
+ public float getBaseDamage()
+ {
+ return 3.0F;
+ }
+
+ public float getSpeedMultiplier()
+ {
+ return 12.0F;
+ }
+
+ public float getMaxDurabilityMultiplier()
+ {
+ return 2.0F;
+ }
+
+ public boolean isMinableBlock(Block aBlock, byte aMetaData)
+ {
+ String tTool = aBlock.getHarvestTool(aMetaData);
+ return ((tTool != null) && (tTool.equals("pickaxe"))) || (aBlock.getMaterial() == Material.rock) || (aBlock.getMaterial() == Material.glass) || (aBlock.getMaterial() == Material.ice) || (aBlock.getMaterial() == Material.packedIce);
+ }
+
+ 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) });
+ 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 }) });
+ if (tRecipe != null)
+ {
+ ItemStack tHammeringOutput = tRecipe.getOutput(0);
+ if (tHammeringOutput != null)
+ {
+ rConversions += tDrop.stackSize;
+ tDrop.stackSize *= tHammeringOutput.stackSize;
+ tHammeringOutput.stackSize = tDrop.stackSize;
+ GT_Utility.setStack(tDrop, tHammeringOutput);
+ }
+ }
+ }
+ }
+ else
+ {
+ aDrops.clear();
+ aDrops.add(tRecipe.getOutput(0));
+ rConversions++;
+ }
+ return rConversions;
+ }
+
+ public void onToolCrafted(ItemStack aStack, EntityPlayer aPlayer)
+ {
+ super.onToolCrafted(aStack, aPlayer);
+ try{GT_Mod.instance.achievements.issueAchievement(aPlayer, "hammertime");}catch(Exception e){}
+ }
+
+
+ public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack)
+ {
+ return aIsToolHead ? Textures.ItemIcons.JACKHAMMER : null;
+ }
+
+ 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);
+ }
+}
|