diff options
author | Detrav <witalyezep@gmail.com> | 2016-04-07 14:50:48 +0300 |
---|---|---|
committer | Detrav <witalyezep@gmail.com> | 2016-04-07 14:50:48 +0300 |
commit | 6dde6b60095cd693bc7c1ee823ab54f47bd40747 (patch) | |
tree | c3d575664d5c3e50e4310b8adcfc3e81888a044c /src/main/java/com | |
parent | 132a0a76a730b3ca2b9819bd48a133bf16463b8a (diff) | |
download | GT5-Unofficial-6dde6b60095cd693bc7c1ee823ab54f47bd40747.tar.gz GT5-Unofficial-6dde6b60095cd693bc7c1ee823ab54f47bd40747.tar.bz2 GT5-Unofficial-6dde6b60095cd693bc7c1ee823ab54f47bd40747.zip |
Add portable charger as item & recipes
Diffstat (limited to 'src/main/java/com')
4 files changed, 328 insertions, 43 deletions
diff --git a/src/main/java/com/detrav/enums/DetravToolDictNames.java b/src/main/java/com/detrav/enums/DetravToolDictNames.java index 5cbbf2b373..f208714a58 100644 --- a/src/main/java/com/detrav/enums/DetravToolDictNames.java +++ b/src/main/java/com/detrav/enums/DetravToolDictNames.java @@ -5,5 +5,6 @@ package com.detrav.enums; */ public enum DetravToolDictNames { craftingToolProPick, - craftingToolElectricProPick + craftingToolElectricProPick, + craftingToolPortableCharger } diff --git a/src/main/java/com/detrav/items/DetravMetaGeneratedTool01.java b/src/main/java/com/detrav/items/DetravMetaGeneratedTool01.java index 5e3d6f3cf9..32bf76bef2 100644 --- a/src/main/java/com/detrav/items/DetravMetaGeneratedTool01.java +++ b/src/main/java/com/detrav/items/DetravMetaGeneratedTool01.java @@ -2,10 +2,7 @@ package com.detrav.items; import com.detrav.DetravScannerMod; import com.detrav.enums.DetravToolDictNames; -import com.detrav.items.tools.DetravToolHVElectricProPick; -import com.detrav.items.tools.DetravToolLVElectricProPick; -import com.detrav.items.tools.DetravToolMVElectricProPick; -import com.detrav.items.tools.DetravToolProPick; +import com.detrav.items.tools.*; import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; import gregtech.api.enums.TC_Aspects; @@ -33,6 +30,7 @@ public class DetravMetaGeneratedTool01 extends GT_MetaGenerated_Tool { addTool(100, "Electric Prospector's Scanner (LV)", "", new DetravToolLVElectricProPick(), new Object[]{DetravToolDictNames.craftingToolElectricProPick, new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4L)}, new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 4L)); addTool(102, "Electric Prospector's Scanner (MV)", "", new DetravToolMVElectricProPick(), new Object[]{DetravToolDictNames.craftingToolElectricProPick, new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4L)}, new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 4L)); addTool(104, "Electric Prospector's Scanner (HV)", "", new DetravToolHVElectricProPick(), new Object[]{DetravToolDictNames.craftingToolElectricProPick, new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4L)}, new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 4L)); + addTool(106, "Portable Charger","", new DetravToolPortableCharger(), new Object[]{DetravToolDictNames.craftingToolPortableCharger, new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.AURAM, 4L)}, new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 4L)); setCreativeTab(DetravScannerMod.TAB_DETRAV); } @@ -72,7 +70,33 @@ public class DetravMetaGeneratedTool01 extends GT_MetaGenerated_Tool { aList.add(tOffset + 4, "Right click on bedrock for prospecting oil!"); aList.add(tOffset + 5, "Right click for scanning!"); break; + case 106: + case 107: + aList.add(tOffset + 0, EnumChatFormatting.WHITE + "Loss energy: " + EnumChatFormatting.GREEN + getElectricStatsLoss(aStack) + EnumChatFormatting.GRAY); + aList.add(tOffset + 1, "Right click to open GUI"); + break; } } } + + public Long getElectricStatsLoss(ItemStack aStack) { + NBTTagCompound aNBT = aStack.getTagCompound(); + if (aNBT != null) { + aNBT = aNBT.getCompoundTag("GT.ToolStats"); + if (aNBT != null && aNBT.getBoolean("Electric")) + return aNBT.getLong("Loss"); + } + return 0L; + } + + public final ItemStack getToolWithStatsPlus(int aToolID, int aAmount, Materials aPrimaryMaterial, Materials aSecondaryMaterial, long[] aElectricArray,long aLoss) { + ItemStack result = getToolWithStats(aToolID,aAmount,aPrimaryMaterial,aSecondaryMaterial,aElectricArray); + NBTTagCompound aNBT = result.getTagCompound(); + if (aNBT != null) { + aNBT = aNBT.getCompoundTag("GT.ToolStats"); + if (aNBT != null && aNBT.getBoolean("Electric")) + aNBT.setLong("Loss",aLoss); + } + return result; + } }
\ No newline at end of file diff --git a/src/main/java/com/detrav/items/processing/ProcessingDetravPortableCharger.java b/src/main/java/com/detrav/items/processing/ProcessingDetravPortableCharger.java index 5517c8c719..56702cd04a 100644 --- a/src/main/java/com/detrav/items/processing/ProcessingDetravPortableCharger.java +++ b/src/main/java/com/detrav/items/processing/ProcessingDetravPortableCharger.java @@ -1,8 +1,12 @@ package com.detrav.items.processing; +import com.detrav.enums.DetravSimpleItems; +import com.detrav.items.DetravMetaGeneratedTool01; import gregtech.GT_Mod; +import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; +import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; import gregtech.common.blocks.GT_Block_Machines; import gregtech.common.blocks.GT_Item_Machines; @@ -24,43 +28,114 @@ public class ProcessingDetravPortableCharger implements gregtech.api.interfaces boolean bEC = !GT_Mod.gregtechproxy.mHardcoreCables; long loss = 0; long voltage = 0; - if(materials == Materials.Cobalt) { loss = bEC ? 2L : 2L; voltage = gregtech.api.enums.GT_Values.V[1]; } - else if(materials == Materials.Lead) { loss = bEC ? 2L : 2L; voltage = gregtech.api.enums.GT_Values.V[1]; } - else if(materials == Materials.Tin) { loss = bEC ? 1L : 1L; voltage = gregtech.api.enums.GT_Values.V[1]; } - else if(materials == Materials.Zinc) { loss = bEC ? 1L : 1L; voltage = gregtech.api.enums.GT_Values.V[1]; } - else if(materials == Materials.SolderingAlloy) { loss = bEC ? 1L : 1L; voltage = gregtech.api.enums.GT_Values.V[1]; } - - else if(materials == Materials.Iron) { loss = bEC ? 3L : 4L; voltage = gregtech.api.enums.GT_Values.V[2]; } - else if(materials == Materials.Nickel) { loss = bEC ? 3L : 5L; voltage = gregtech.api.enums.GT_Values.V[2]; } - else if(materials == Materials.Cupronickel) { loss = bEC ? 3L : 4L; voltage = gregtech.api.enums.GT_Values.V[2]; } - else if(materials == Materials.Copper) { loss = bEC ? 2L : 3L; voltage = gregtech.api.enums.GT_Values.V[2]; } - else if(materials == Materials.AnnealedCopper) { loss = bEC ? 1L : 2L; voltage = gregtech.api.enums.GT_Values.V[2]; } - - else if(materials == Materials.Kanthal) { loss = bEC ? 3L : 8L; voltage = gregtech.api.enums.GT_Values.V[3]; } - else if(materials == Materials.Gold) { loss = bEC ? 2L : 6L; voltage = gregtech.api.enums.GT_Values.V[3]; } - else if(materials == Materials.Electrum) { loss = bEC ? 2L : 5L; voltage = gregtech.api.enums.GT_Values.V[3]; } - else if(materials == Materials.Silver) { loss = bEC ? 1L : 4L; voltage = gregtech.api.enums.GT_Values.V[3]; } - else if(materials == Materials.BlueAlloy) { loss = bEC ? 1L : 4L; voltage = gregtech.api.enums.GT_Values.V[3]; } - - else if(materials == Materials.Nichrome) { loss = bEC ? 4L : 32L; voltage = gregtech.api.enums.GT_Values.V[4]; } - else if(materials == Materials.Steel) { loss = bEC ? 2L : 16L; voltage = gregtech.api.enums.GT_Values.V[4]; } - else if(materials == Materials.TungstenSteel) { loss = bEC ? 2L : 14L; voltage = gregtech.api.enums.GT_Values.V[4]; } - else if(materials == Materials.Tungsten) { loss = bEC ? 2L : 12L; voltage = gregtech.api.enums.GT_Values.V[4]; } - else if(materials == Materials.Aluminium) { loss = bEC ? 1L : 8L; voltage = gregtech.api.enums.GT_Values.V[4]; } - - else if(materials == Materials.Graphene) { loss = bEC ? 1L : 16L; voltage = gregtech.api.enums.GT_Values.V[5]; } - else if(materials == Materials.Osmium) { loss = bEC ? 2L : 32L; voltage = gregtech.api.enums.GT_Values.V[5]; } - else if(materials == Materials.Platinum) { loss = bEC ? 1L : 16L; voltage = gregtech.api.enums.GT_Values.V[5]; } - - else if(materials == Materials.Naquadah) { loss = bEC ? 1L : 64L; voltage = gregtech.api.enums.GT_Values.V[6]; } - else if(materials == Materials.NiobiumTitanium) { loss = bEC ? 2L : 128L; voltage = gregtech.api.enums.GT_Values.V[6]; } - else if(materials == Materials.VanadiumGallium) { loss = bEC ? 2L : 128L; voltage = gregtech.api.enums.GT_Values.V[6]; } - else if(materials == Materials.YttriumBariumCuprate) { loss = bEC ? 4L : 256L; voltage = gregtech.api.enums.GT_Values.V[6]; } - - else if(materials == Materials.RedAlloy) { loss = 0L; voltage = gregtech.api.enums.GT_Values.V[0]; } - - else if(materials == Materials.Superconductor) { loss = 1L; voltage = gregtech.api.enums.GT_Values.V[9]; } - else { loss = -1; voltage = -1; } - if(loss<0) return; + if (materials == Materials.Cobalt) { + loss = bEC ? 2L : 2L; + voltage = gregtech.api.enums.GT_Values.V[1]; + } else if (materials == Materials.Lead) { + loss = bEC ? 2L : 2L; + voltage = gregtech.api.enums.GT_Values.V[1]; + } else if (materials == Materials.Tin) { + loss = bEC ? 1L : 1L; + voltage = gregtech.api.enums.GT_Values.V[1]; + } else if (materials == Materials.Zinc) { + loss = bEC ? 1L : 1L; + voltage = gregtech.api.enums.GT_Values.V[1]; + } else if (materials == Materials.SolderingAlloy) { + loss = bEC ? 1L : 1L; + voltage = gregtech.api.enums.GT_Values.V[1]; + } else if (materials == Materials.Iron) { + loss = bEC ? 3L : 4L; + voltage = gregtech.api.enums.GT_Values.V[2]; + } else if (materials == Materials.Nickel) { + loss = bEC ? 3L : 5L; + voltage = gregtech.api.enums.GT_Values.V[2]; + } else if (materials == Materials.Cupronickel) { + loss = bEC ? 3L : 4L; + voltage = gregtech.api.enums.GT_Values.V[2]; + } else if (materials == Materials.Copper) { + loss = bEC ? 2L : 3L; + voltage = gregtech.api.enums.GT_Values.V[2]; + } else if (materials == Materials.AnnealedCopper) { + loss = bEC ? 1L : 2L; + voltage = gregtech.api.enums.GT_Values.V[2]; + } else if (materials == Materials.Kanthal) { + loss = bEC ? 3L : 8L; + voltage = gregtech.api.enums.GT_Values.V[3]; + } else if (materials == Materials.Gold) { + loss = bEC ? 2L : 6L; + voltage = gregtech.api.enums.GT_Values.V[3]; + } else if (materials == Materials.Electrum) { + loss = bEC ? 2L : 5L; + voltage = gregtech.api.enums.GT_Values.V[3]; + } else if (materials == Materials.Silver) { + loss = bEC ? 1L : 4L; + voltage = gregtech.api.enums.GT_Values.V[3]; + } else if (materials == Materials.BlueAlloy) { + loss = bEC ? 1L : 4L; + voltage = gregtech.api.enums.GT_Values.V[3]; + } else if (materials == Materials.Nichrome) { + loss = bEC ? 4L : 32L; + voltage = gregtech.api.enums.GT_Values.V[4]; + } else if (materials == Materials.Steel) { + loss = bEC ? 2L : 16L; + voltage = gregtech.api.enums.GT_Values.V[4]; + } else if (materials == Materials.TungstenSteel) { + loss = bEC ? 2L : 14L; + voltage = gregtech.api.enums.GT_Values.V[4]; + } else if (materials == Materials.Tungsten) { + loss = bEC ? 2L : 12L; + voltage = gregtech.api.enums.GT_Values.V[4]; + } else if (materials == Materials.Aluminium) { + loss = bEC ? 1L : 8L; + voltage = gregtech.api.enums.GT_Values.V[4]; + } else if (materials == Materials.Graphene) { + loss = bEC ? 1L : 16L; + voltage = gregtech.api.enums.GT_Values.V[5]; + } else if (materials == Materials.Osmium) { + loss = bEC ? 2L : 32L; + voltage = gregtech.api.enums.GT_Values.V[5]; + } else if (materials == Materials.Platinum) { + loss = bEC ? 1L : 16L; + voltage = gregtech.api.enums.GT_Values.V[5]; + } else if (materials == Materials.Naquadah) { + loss = bEC ? 1L : 64L; + voltage = gregtech.api.enums.GT_Values.V[6]; + } else if (materials == Materials.NiobiumTitanium) { + loss = bEC ? 2L : 128L; + voltage = gregtech.api.enums.GT_Values.V[6]; + } else if (materials == Materials.VanadiumGallium) { + loss = bEC ? 2L : 128L; + voltage = gregtech.api.enums.GT_Values.V[6]; + } else if (materials == Materials.YttriumBariumCuprate) { + loss = bEC ? 4L : 256L; + voltage = gregtech.api.enums.GT_Values.V[6]; + } else if (materials == Materials.RedAlloy) { + loss = 0L; + voltage = gregtech.api.enums.GT_Values.V[0]; + } else if (materials == Materials.Superconductor) { + loss = 1L; + voltage = gregtech.api.enums.GT_Values.V[9]; + } else { + loss = -1; + voltage = -1; + } + if (loss < 0) return; + switch ((int) voltage) { + case 32: + GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStatsPlus(106, 1, materials, Materials.StainlessSteel, new long[]{4 * 100000L, 32L, 1L, -1L}, loss), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"WBW", "BCB", "WBW", Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Basic), Character.valueOf('B'), ItemList.Battery_RE_LV_Lithium.get(1L, new Object[0]), Character.valueOf('W'), itemStack}); + GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStatsPlus(106, 1, materials, Materials.StainlessSteel, new long[]{4 * 75000L, 32L, 1L, -1L}, loss), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"WBW", "BCB", "WBW", Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Basic), Character.valueOf('B'), ItemList.Battery_RE_LV_Cadmium.get(1L, new Object[0]), Character.valueOf('W'), itemStack}); + GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStatsPlus(106, 1, materials, Materials.StainlessSteel, new long[]{4 * 50000L, 32L, 1L, -1L}, loss), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"WBW", "BCB", "WBW", Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Basic), Character.valueOf('B'), ItemList.Battery_RE_LV_Sodium.get(1L, new Object[0]), Character.valueOf('W'), itemStack}); + break; + case 128: + GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStatsPlus(106, 1, materials, Materials.Titanium, new long[]{4 * 400000L, 128L, 2L, -1L}, loss), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"WBW", "BCB", "WBW", Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Good), Character.valueOf('B'), ItemList.Battery_RE_MV_Lithium.get(1L, new Object[0]), Character.valueOf('W'), itemStack}); + GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStatsPlus(106, 1, materials, Materials.Titanium, new long[]{4 * 300000L, 128L, 2L, -1L}, loss), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"WBW", "BCB", "WBW", Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Good), Character.valueOf('B'), ItemList.Battery_RE_MV_Cadmium.get(1L, new Object[0]), Character.valueOf('W'), itemStack}); + GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStatsPlus(106, 1, materials, Materials.Titanium, new long[]{4 * 200000L, 128L, 2L, -1L}, loss), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"WBW", "BCB", "WBW", Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Good), Character.valueOf('B'), ItemList.Battery_RE_MV_Sodium.get(1L, new Object[0]), Character.valueOf('W'), itemStack}); + break; + case 512: + GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStatsPlus(106, 1, materials, Materials.TungstenSteel, new long[]{4 * 1600000L, 512L, 3L, -1L}, loss), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"WBW", "BCB", "WBW", Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Advanced), Character.valueOf('B'), ItemList.Battery_RE_HV_Lithium.get(1L, new Object[0]), Character.valueOf('W'), itemStack}); + GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStatsPlus(106, 1, materials, Materials.TungstenSteel, new long[]{4 * 1200000L, 512L, 3L, -1L}, loss), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"WBW", "BCB", "WBW", Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Advanced), Character.valueOf('B'), ItemList.Battery_RE_HV_Cadmium.get(1L, new Object[0]), Character.valueOf('W'), itemStack}); + GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStatsPlus(106, 1, materials, Materials.TungstenSteel, new long[]{4 * 800000L, 512L, 3L, -1L}, loss), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"WBW", "BCB", "WBW", Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Advanced), Character.valueOf('B'), ItemList.Battery_RE_HV_Sodium.get(1L, new Object[0]), Character.valueOf('W'), itemStack}); + break; + } } } diff --git a/src/main/java/com/detrav/items/tools/DetravToolPortableCharger.java b/src/main/java/com/detrav/items/tools/DetravToolPortableCharger.java new file mode 100644 index 0000000000..5314d9a30d --- /dev/null +++ b/src/main/java/com/detrav/items/tools/DetravToolPortableCharger.java @@ -0,0 +1,185 @@ +package com.detrav.items.tools; + +import com.detrav.enums.DetravSimpleItems; +import com.detrav.enums.Textures01; +import com.detrav.items.behaviours.BehaviourDetravToolProPick; +import gregtech.GT_Mod; +import gregtech.api.GregTech_API; +import gregtech.api.damagesources.GT_DamageSources; +import gregtech.api.interfaces.IIconContainer; +import gregtech.api.interfaces.IToolStats; +import gregtech.api.items.GT_MetaGenerated_Tool; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.enchantment.Enchantment; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.stats.AchievementList; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.DamageSource; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.IChatComponent; +import net.minecraftforge.event.world.BlockEvent; + +import java.util.List; + +/** + * Created by wital_000 on 07.04.2016. + */ +public class DetravToolPortableCharger implements IToolStats { + public int getToolDamagePerBlockBreak() { + return GT_Mod.gregtechproxy.mHardRock ? 50 : 100; + } + + public int getToolDamagePerDropConversion() { + return 100; + } + + public int getToolDamagePerContainerCraft() { + return 100; + } + + public int getToolDamagePerEntityAttack() { + return 200; + } + + public int getBaseQuality() { + return 0; + } + + public float getBaseDamage() { + return 1.0F; + } + + @Override + public int getHurtResistanceTime(int i, Entity entity) { + return i; + } + + public float getSpeedMultiplier() { + return 1F; + } + + public float getMaxDurabilityMultiplier() { + return 1F; + } + + @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); + } + + public String getCraftingSound() { + return null; + } + + public String getEntityHitSound() { + return null; + } + + public String getBreakingSound() { + return (String) GregTech_API.sSoundList.get(Integer.valueOf(0)); + } + + @Override + public Enchantment[] getEnchantments(ItemStack itemStack) { + return new Enchantment[0]; + } + + @Override + public int[] getEnchantmentLevels(ItemStack itemStack) { + return new int[0]; + } + + public String getMiningSound() { + return null; + } + + public boolean canBlock() { + return false; + } + + 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 false; + } + + public boolean isMinableBlock(Block aBlock, byte aMetaData) { + return false; + } + + @Override + public int convertBlockDrops(List<ItemStack> list, ItemStack itemStack, EntityPlayer entityPlayer, Block block, int i, int i1, int i2, byte b, int i3, boolean b1, BlockEvent.HarvestDropsEvent harvestDropsEvent) { + return 0; + } + + public ItemStack getBrokenItem(ItemStack aStack) { + return null; + } + + @Override + public float getNormalDamageAgainstEntity(float v, Entity entity, ItemStack itemStack, EntityPlayer entityPlayer) { + return v; + } + + @Override + public float getMagicDamageAgainstEntity(float v, Entity entity, ItemStack itemStack, EntityPlayer entityPlayer) { + return v; + } + + public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { + return aIsToolHead ? + Textures01.mTextures[DetravSimpleItems.toolHeadProPick.mTextureIndex] : + GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mIconSet.mTextures[gregtech.api.enums.OrePrefixes.stick.mTextureIndex]; + } + + 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 BehaviourDetravToolProPick(getToolDamagePerBlockBreak())); + } + + public void onToolCrafted(ItemStack aStack, EntityPlayer aPlayer) { + + aPlayer.triggerAchievement(AchievementList.openInventory); + aPlayer.triggerAchievement(AchievementList.mineWood); + aPlayer.triggerAchievement(AchievementList.buildWorkBench); + } + + public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) { + return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " \"CHARGED!\" by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE); + } +} |