From f6b5b72d6d5da94eda33709167ffa731bcf8c843 Mon Sep 17 00:00:00 2001 From: Detrav Date: Sun, 11 Dec 2016 10:36:35 +0300 Subject: + Added smart plunger with inner fluidstack storage --- .../detrav/items/tools/DetravToolSmartPlunger.java | 69 ++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 src/main/java/com/detrav/items/tools/DetravToolSmartPlunger.java (limited to 'src/main/java/com/detrav/items/tools') diff --git a/src/main/java/com/detrav/items/tools/DetravToolSmartPlunger.java b/src/main/java/com/detrav/items/tools/DetravToolSmartPlunger.java new file mode 100644 index 0000000000..a157ad5460 --- /dev/null +++ b/src/main/java/com/detrav/items/tools/DetravToolSmartPlunger.java @@ -0,0 +1,69 @@ +package com.detrav.items.tools; + +import com.detrav.items.behaviours.BehaviourDetravToolSmartPlunger; +import gregtech.api.GregTech_API; +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_Utility; +import gregtech.common.items.behaviors.Behaviour_Plunger_Fluid; +import gregtech.common.items.behaviors.Behaviour_Plunger_Item; +import gregtech.common.tools.GT_Tool; +import net.minecraft.block.Block; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.IChatComponent; + +/** + * Created by Detrav on 11.12.2016. + */ +public class DetravToolSmartPlunger + extends GT_Tool { + public float getBaseDamage() { + return 1.25F; + } + + public float getMaxDurabilityMultiplier() { + return 0.25F; + } + + public String getCraftingSound() { + return (String) GregTech_API.sSoundList.get(Integer.valueOf(101)); + } + + public String getEntityHitSound() { + return (String) GregTech_API.sSoundList.get(Integer.valueOf(101)); + } + + public String getBreakingSound() { + return (String) GregTech_API.sSoundList.get(Integer.valueOf(0)); + } + + public String getMiningSound() { + return (String) GregTech_API.sSoundList.get(Integer.valueOf(101)); + } + + public boolean isMinableBlock(Block aBlock, byte aMetaData) { + String tTool = aBlock.getHarvestTool(aMetaData); + return ((tTool != null) && tTool.equals("plunger")); + } + + public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { + return aIsToolHead ? Textures.ItemIcons.PLUNGER : null; + } + + public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) { + return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa; + } + + public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) { + aItem.addItemBehavior(aID, new BehaviourDetravToolSmartPlunger(getToolDamagePerDropConversion())); + } + + 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); + } +} \ No newline at end of file -- cgit