From c75ec13a10389ff891782ae40ae00727a0cb0434 Mon Sep 17 00:00:00 2001 From: Detrav Date: Sun, 20 Mar 2016 18:40:37 +0300 Subject: Refactor name and path --- src/main/java/com/detrav/DetravLoader.java | 4 +- .../detrav/items/DetravMetaGeneratedTool01.java | 5 +- .../BehaviourDetravToolElectricProPick.java | 33 ++++ .../behaviours/BehaviourDetravToolProPick.java | 120 +++++++++++++ .../items/processing/ProcessingDetravShaping.java | 38 +++++ .../processing/ProcessingDetravToolProPick.java | 42 +++++ .../items/tools/DetravToolHVElectricProPick.java | 22 +++ .../items/tools/DetravToolLVElectricProPick.java | 182 ++++++++++++++++++++ .../items/tools/DetravToolMVElectricProPick.java | 21 +++ .../com/detrav/items/tools/DetravToolProPick.java | 187 +++++++++++++++++++++ .../tools/BehaviourDetravToolElectricProPick.java | 26 --- .../detrav/tools/BehaviourDetravToolProPick.java | 120 ------------- .../detrav/tools/DetravToolHVElectricProPick.java | 22 --- .../detrav/tools/DetravToolLVElectricProPick.java | 183 -------------------- .../detrav/tools/DetravToolMVElectricProPick.java | 21 --- .../java/com/detrav/tools/DetravToolProPick.java | 186 -------------------- .../com/detrav/tools/ProcessingDetravShaping.java | 38 ----- .../detrav/tools/ProcessingDetravToolProPick.java | 42 ----- 18 files changed, 651 insertions(+), 641 deletions(-) create mode 100644 src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java create mode 100644 src/main/java/com/detrav/items/behaviours/BehaviourDetravToolProPick.java create mode 100644 src/main/java/com/detrav/items/processing/ProcessingDetravShaping.java create mode 100644 src/main/java/com/detrav/items/processing/ProcessingDetravToolProPick.java create mode 100644 src/main/java/com/detrav/items/tools/DetravToolHVElectricProPick.java create mode 100644 src/main/java/com/detrav/items/tools/DetravToolLVElectricProPick.java create mode 100644 src/main/java/com/detrav/items/tools/DetravToolMVElectricProPick.java create mode 100644 src/main/java/com/detrav/items/tools/DetravToolProPick.java delete mode 100644 src/main/java/com/detrav/tools/BehaviourDetravToolElectricProPick.java delete mode 100644 src/main/java/com/detrav/tools/BehaviourDetravToolProPick.java delete mode 100644 src/main/java/com/detrav/tools/DetravToolHVElectricProPick.java delete mode 100644 src/main/java/com/detrav/tools/DetravToolLVElectricProPick.java delete mode 100644 src/main/java/com/detrav/tools/DetravToolMVElectricProPick.java delete mode 100644 src/main/java/com/detrav/tools/DetravToolProPick.java delete mode 100644 src/main/java/com/detrav/tools/ProcessingDetravShaping.java delete mode 100644 src/main/java/com/detrav/tools/ProcessingDetravToolProPick.java (limited to 'src/main/java') diff --git a/src/main/java/com/detrav/DetravLoader.java b/src/main/java/com/detrav/DetravLoader.java index 2254ecfe88..dc4c5c0d2d 100644 --- a/src/main/java/com/detrav/DetravLoader.java +++ b/src/main/java/com/detrav/DetravLoader.java @@ -2,8 +2,8 @@ package com.detrav; import com.detrav.items.DetravMetaGeneratedItem01; import com.detrav.items.DetravMetaGeneratedTool01; -import com.detrav.tools.ProcessingDetravShaping; -import com.detrav.tools.ProcessingDetravToolProPick; +import com.detrav.items.processing.ProcessingDetravShaping; +import com.detrav.items.processing.ProcessingDetravToolProPick; /** * Created by wital_000 on 18.03.2016. diff --git a/src/main/java/com/detrav/items/DetravMetaGeneratedTool01.java b/src/main/java/com/detrav/items/DetravMetaGeneratedTool01.java index 31e6992e65..a00cdb228e 100644 --- a/src/main/java/com/detrav/items/DetravMetaGeneratedTool01.java +++ b/src/main/java/com/detrav/items/DetravMetaGeneratedTool01.java @@ -2,7 +2,10 @@ package com.detrav.items; import com.detrav.DetravScannerMod; import com.detrav.enums.DetravToolDictNames; -import com.detrav.tools.*; +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 gregtech.api.enums.TC_Aspects; import gregtech.api.items.GT_MetaGenerated_Tool; diff --git a/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java b/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java new file mode 100644 index 0000000000..1ba9a77968 --- /dev/null +++ b/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java @@ -0,0 +1,33 @@ +package com.detrav.items.behaviours; + +import gregtech.api.items.GT_MetaBase_Item; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ChatComponentText; +import net.minecraft.world.World; + +/** + * Created by wital_000 on 19.03.2016. + */ +public class BehaviourDetravToolElectricProPick extends BehaviourDetravToolProPick +{ + + public BehaviourDetravToolElectricProPick(int aCosts) { + super(aCosts); + } + + public ItemStack onItemRightClick(GT_MetaBase_Item aItem, ItemStack aStack, World aWorld, EntityPlayer aPlayer) { + + if (!aWorld.isRemote) { + //aPlayer.openGui(); + + aPlayer.addChatMessage(new ChatComponentText("Scanning Begin")); + try { + Thread.sleep(5000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + return super.onItemRightClick(aItem,aStack,aWorld,aPlayer); + } +} \ No newline at end of file diff --git a/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolProPick.java b/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolProPick.java new file mode 100644 index 0000000000..5c5b64d53c --- /dev/null +++ b/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolProPick.java @@ -0,0 +1,120 @@ +package com.detrav.items.behaviours; + +import com.detrav.items.DetravMetaGeneratedTool01; +import gregtech.api.GregTech_API; +import gregtech.api.items.GT_MetaBase_Item; +import gregtech.api.util.GT_LanguageManager; +import gregtech.common.blocks.GT_TileEntity_Ores; +import gregtech.common.items.behaviors.Behaviour_None; +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.tileentity.TileEntity; +import net.minecraft.util.ChatComponentText; +import net.minecraft.world.World; +import net.minecraft.world.chunk.Chunk; + +import java.util.HashMap; +import java.util.Random; + +/** + * Created by wital_000 on 19.03.2016. + */ +public class BehaviourDetravToolProPick extends Behaviour_None { + + static final String[] foundTexts = new String[]{ + "Found nothing of interest", //0 + "Found Traces of ", //1-9 + "Found a small sample of ", //10-29 + "Found a medium sample of ", //30-59 + "Found a large sample of ", //60-99 + "Found a very large sample of ", //100-** + "Found " + }; + private final int mCosts; + + public BehaviourDetravToolProPick(int aCosts) + { + mCosts = aCosts; + } + + public boolean onItemUse(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ, int aSide, float hitX, float hitY, float hitZ) { + + if(aWorld.getBlock(aX,aY,aZ).getMaterial() == Material.rock || aWorld.getBlock(aX,aY,aZ) == GregTech_API.sBlockOres1) { + if (!aWorld.isRemote) { + processOreProspecting((DetravMetaGeneratedTool01) aItem,aStack,aPlayer,aWorld.getChunkFromBlockCoords(aX,aZ), aWorld.getTileEntity(aX,aY,aZ), new Random(aWorld.getSeed() + 3547*aX + 1327 * aZ + 9973* aY)); + return true; + } + //aPlayer.addChatMessage(new ChatComponentText("Tested")); + return true; + } + return false; + } + + private void processOreProspecting(DetravMetaGeneratedTool01 aItem, ItemStack aStack, EntityPlayer aPlayer, Chunk aChunk, TileEntity aTileEntity, Random aRandom)//TileEntity aTileEntity) + { + aRandom.nextInt(); + if(aTileEntity != null) { + if (aTileEntity instanceof GT_TileEntity_Ores) { + GT_TileEntity_Ores gt_entity = (GT_TileEntity_Ores) aTileEntity; + String name = GT_LanguageManager.getTranslation("gt.blockores." + gt_entity.getMetaData() + ".name"); + aPlayer.addChatMessage(new ChatComponentText(foundTexts[6] + name)); + aItem.doDamage(aStack, this.mCosts); + return; + } + } + else if(aRandom.nextInt(10)<4) { + HashMap ores = new HashMap(); + for (int x = 0; x < 16; x++) + for (int z = 0; z < 16; z++) { + int ySize = aChunk.getHeightValue(x, z); + for (int y = 1; y < ySize; y++) { + Block b = aChunk.getBlock(x, y, z); + if (b == GregTech_API.sBlockOres1) { + TileEntity entity = aChunk.getTileEntityUnsafe(x, y, z); + if (entity != null) { + GT_TileEntity_Ores gt_entity = (GT_TileEntity_Ores) entity; + String name = GT_LanguageManager.getTranslation( + b.getUnlocalizedName() + "." + gt_entity.getMetaData() + ".name"); + if (name.startsWith("Small")) continue; + if (!ores.containsKey(name)) + ores.put(name, 1); + else { + int val = ores.get(name); + ores.put(name, val + 1); + } + } + } + } + } + for(String key : ores.keySet()) + { + int value = ores.get(key); + if(value<10) + aPlayer.addChatMessage(new ChatComponentText(foundTexts[1] + key)); + else if(value<30) + aPlayer.addChatMessage(new ChatComponentText(foundTexts[2] + key)); + else if(value<60) + aPlayer.addChatMessage(new ChatComponentText(foundTexts[3] + key)); + else if(value<100) + aPlayer.addChatMessage(new ChatComponentText(foundTexts[4] + key)); + else + aPlayer.addChatMessage(new ChatComponentText(foundTexts[5] + key)); + } + aItem.doDamage(aStack, this.mCosts); + return; + } + aPlayer.addChatMessage(new ChatComponentText(foundTexts[0])); + + /*//aPlayer.addChatMessage(new ChatComponentText()); + if(aTileEntity != null && aTileEntity instanceof GT_TileEntity_Ores) + { + GT_TileEntity_Ores gt_entity = (GT_TileEntity_Ores)aTileEntity; + + /*String name = GT_LanguageManager.getTranslation( + b.getUnlocalizedName() + "." + gt_entity.getMetaData() + ".name"); + if(name.startsWith("Small")) continue; + }*/ + } +} \ No newline at end of file diff --git a/src/main/java/com/detrav/items/processing/ProcessingDetravShaping.java b/src/main/java/com/detrav/items/processing/ProcessingDetravShaping.java new file mode 100644 index 0000000000..9cffbf28f7 --- /dev/null +++ b/src/main/java/com/detrav/items/processing/ProcessingDetravShaping.java @@ -0,0 +1,38 @@ +package com.detrav.items.processing; + +import com.detrav.enums.DetravItemList; +import com.detrav.enums.DetravSimpleItems; +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.SubTag; +import gregtech.api.util.GT_OreDictUnificator; +import gregtech.api.util.GT_Utility; +import net.minecraft.item.ItemStack; + +/** + * Created by wital_000 on 20.03.2016. + */ +public class ProcessingDetravShaping implements gregtech.api.interfaces.IOreRecipeRegistrator { + + public ProcessingDetravShaping() { + OrePrefixes.ingot.add(this); + } + + @Override + public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) { + if ((GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial, 1L) != null) && (!aMaterial.contains(SubTag.NO_SMELTING))) { + int tAmount = (int) (aPrefix.mMaterialAmount / 3628800L); + if ((tAmount > 0) && (tAmount <= 64) && (aPrefix.mMaterialAmount % 3628800L == 0L)) { + int tVoltageMultiplier = aMaterial.mBlastFurnaceTemp >= 2800 ? 64 : 16; + + if (aMaterial.contains(SubTag.NO_SMASHING)) { + tVoltageMultiplier /= 4; + } else if (aPrefix.name().startsWith(OrePrefixes.dust.name())) { + return; + } + GT_Values.RA.addExtruderRecipe(GT_Utility.copyAmount(2L, new Object[]{aStack}), DetravItemList.Shape_Extruder_ProPick.get(0L, new Object[0]), GT_OreDictUnificator.get(DetravSimpleItems.toolHeadProPick.get(aMaterial), tAmount), (int) Math.max(aMaterial.getMass() * 2L * tAmount, tAmount), 8 * tVoltageMultiplier); + } + } + } +} \ No newline at end of file diff --git a/src/main/java/com/detrav/items/processing/ProcessingDetravToolProPick.java b/src/main/java/com/detrav/items/processing/ProcessingDetravToolProPick.java new file mode 100644 index 0000000000..7f1d53db42 --- /dev/null +++ b/src/main/java/com/detrav/items/processing/ProcessingDetravToolProPick.java @@ -0,0 +1,42 @@ +package com.detrav.items.processing; + +import com.detrav.enums.DetravItemList; +import com.detrav.enums.DetravSimpleItems; +import com.detrav.items.DetravMetaGeneratedItem01; +import com.detrav.items.DetravMetaGeneratedTool01; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.util.GT_ModHandler; +import gregtech.common.items.GT_MetaGenerated_Tool_01; +import net.minecraft.item.ItemStack; + +/** + * Created by wital_000 on 18.03.2016. + */ +public class ProcessingDetravToolProPick implements gregtech.api.interfaces.IOreRecipeRegistrator { + public ProcessingDetravToolProPick() { + OrePrefixes.toolHeadPickaxe.add(this); + } + + public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) { + GT_ModHandler. + addShapelessCraftingRecipe( + DetravMetaGeneratedTool01.INSTANCE.getToolWithStats(0, 1, aMaterial, aMaterial.mHandleMaterial, null), + new Object[]{DetravSimpleItems.toolHeadProPick.get(aMaterial), OrePrefixes.stick.get(aMaterial.mHandleMaterial)}); + + + GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStats(2, 1, aMaterial, Materials.StainlessSteel, new long[]{100000L, 32L, 1L, -1L}), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"EHR", "CSC", "PBP", Character.valueOf('S'), ItemList.Cover_Screen, Character.valueOf('R'), ItemList.Sensor_LV,Character.valueOf('E'), ItemList.Emitter_LV,Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Basic), Character.valueOf('H'), DetravSimpleItems.toolHeadProPick.get(aMaterial), Character.valueOf('P'), OrePrefixes.plate.get(Materials.StainlessSteel), Character.valueOf('B'), ItemList.Battery_RE_LV_Lithium.get(1L, new Object[0])}); + GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStats(2, 1, aMaterial, Materials.StainlessSteel, new long[]{75000L, 32L, 1L, -1L}), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"EHR", "CSC", "PBP", Character.valueOf('S'), ItemList.Cover_Screen, Character.valueOf('R'), ItemList.Sensor_LV,Character.valueOf('E'), ItemList.Emitter_LV,Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Basic), Character.valueOf('H'), DetravSimpleItems.toolHeadProPick.get(aMaterial), Character.valueOf('P'), OrePrefixes.plate.get(Materials.StainlessSteel), Character.valueOf('B'), ItemList.Battery_RE_LV_Cadmium.get(1L, new Object[0])}); + GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStats(2, 1, aMaterial, Materials.StainlessSteel, new long[]{50000L, 32L, 1L, -1L}), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"EHR", "CSC", "PBP", Character.valueOf('S'), ItemList.Cover_Screen, Character.valueOf('R'), ItemList.Sensor_LV,Character.valueOf('E'), ItemList.Emitter_LV,Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Basic), Character.valueOf('H'), DetravSimpleItems.toolHeadProPick.get(aMaterial), Character.valueOf('P'), OrePrefixes.plate.get(Materials.StainlessSteel), Character.valueOf('B'), ItemList.Battery_RE_LV_Sodium.get(1L, new Object[0])}); + GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStats(4, 1, aMaterial, Materials.Titanium, new long[]{400000L, 128L, 2L, -1L}), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"EHR", "CSC", "PBP", Character.valueOf('S'), ItemList.Cover_Screen, Character.valueOf('R'), ItemList.Sensor_MV,Character.valueOf('E'), ItemList.Emitter_MV,Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Good), Character.valueOf('H'), DetravSimpleItems.toolHeadProPick.get(aMaterial), Character.valueOf('P'), OrePrefixes.plate.get(Materials.Titanium), Character.valueOf('B'), ItemList.Battery_RE_MV_Lithium.get(1L, new Object[0])}); + GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStats(4, 1, aMaterial, Materials.Titanium, new long[]{300000L, 128L, 2L, -1L}), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"EHR", "CSC", "PBP", Character.valueOf('S'), ItemList.Cover_Screen, Character.valueOf('R'), ItemList.Sensor_MV,Character.valueOf('E'), ItemList.Emitter_MV,Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Good), Character.valueOf('H'), DetravSimpleItems.toolHeadProPick.get(aMaterial), Character.valueOf('P'), OrePrefixes.plate.get(Materials.Titanium), Character.valueOf('B'), ItemList.Battery_RE_MV_Cadmium.get(1L, new Object[0])}); + GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStats(4, 1, aMaterial, Materials.Titanium, new long[]{200000L, 128L, 2L, -1L}), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"EHR", "CSC", "PBP", Character.valueOf('S'), ItemList.Cover_Screen, Character.valueOf('R'), ItemList.Sensor_MV,Character.valueOf('E'), ItemList.Emitter_MV,Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Good), Character.valueOf('H'), DetravSimpleItems.toolHeadProPick.get(aMaterial), Character.valueOf('P'), OrePrefixes.plate.get(Materials.Titanium), Character.valueOf('B'), ItemList.Battery_RE_MV_Sodium.get(1L, new Object[0])}); + GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStats(6, 1, aMaterial, Materials.TungstenSteel, new long[]{1600000L, 512L, 3L, -1L}), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"EHR", "CSC", "PBP", Character.valueOf('S'), ItemList.Cover_Screen, Character.valueOf('R'), ItemList.Sensor_HV,Character.valueOf('E'), ItemList.Emitter_HV,Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Advanced), Character.valueOf('H'), DetravSimpleItems.toolHeadProPick.get(aMaterial), Character.valueOf('P'), OrePrefixes.plate.get(Materials.TungstenSteel), Character.valueOf('B'), ItemList.Battery_RE_HV_Lithium.get(1L, new Object[0])}); + GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStats(6, 1, aMaterial, Materials.TungstenSteel, new long[]{1200000L, 512L, 3L, -1L}), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"EHR", "CSC", "PBP", Character.valueOf('S'), ItemList.Cover_Screen, Character.valueOf('R'), ItemList.Sensor_HV,Character.valueOf('E'), ItemList.Emitter_HV,Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Advanced), Character.valueOf('H'), DetravSimpleItems.toolHeadProPick.get(aMaterial), Character.valueOf('P'), OrePrefixes.plate.get(Materials.TungstenSteel), Character.valueOf('B'), ItemList.Battery_RE_HV_Cadmium.get(1L, new Object[0])}); + GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStats(6, 1, aMaterial, Materials.TungstenSteel, new long[]{800000L, 512L, 3L, -1L}), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"EHR", "CSC", "PBP", Character.valueOf('S'), ItemList.Cover_Screen, Character.valueOf('R'), ItemList.Sensor_HV,Character.valueOf('E'), ItemList.Emitter_HV,Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Advanced), Character.valueOf('H'), DetravSimpleItems.toolHeadProPick.get(aMaterial), Character.valueOf('P'), OrePrefixes.plate.get(Materials.TungstenSteel), Character.valueOf('B'), ItemList.Battery_RE_HV_Sodium.get(1L, new Object[0])}); + + GT_ModHandler.addCraftingRecipe(DetravItemList.Shape_Extruder_ProPick.get(1L,new Object[0]), + new Object[]{"h","X","M", Character.valueOf('X'),DetravSimpleItems.toolHeadProPick.get(aMaterial),Character.valueOf('M'),ItemList.Shape_Empty}); + } +} \ No newline at end of file diff --git a/src/main/java/com/detrav/items/tools/DetravToolHVElectricProPick.java b/src/main/java/com/detrav/items/tools/DetravToolHVElectricProPick.java new file mode 100644 index 0000000000..3196ac7f5d --- /dev/null +++ b/src/main/java/com/detrav/items/tools/DetravToolHVElectricProPick.java @@ -0,0 +1,22 @@ +package com.detrav.items.tools; + +import com.detrav.enums.Textures01; +import gregtech.api.interfaces.IIconContainer; +import net.minecraft.item.ItemStack; + +/** + * Created by wital_000 on 19.03.2016. + */ +public class DetravToolHVElectricProPick extends DetravToolMVElectricProPick { + public int getBaseQuality() { + return 2; + } + + public float getMaxDurabilityMultiplier() { + return 4.0F; + } + + public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { + return Textures01.mTextures[3]; + } +} diff --git a/src/main/java/com/detrav/items/tools/DetravToolLVElectricProPick.java b/src/main/java/com/detrav/items/tools/DetravToolLVElectricProPick.java new file mode 100644 index 0000000000..4ad574a6dc --- /dev/null +++ b/src/main/java/com/detrav/items/tools/DetravToolLVElectricProPick.java @@ -0,0 +1,182 @@ +package com.detrav.items.tools; + +import com.detrav.enums.Textures01; +import com.detrav.items.behaviours.BehaviourDetravToolElectricProPick; +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.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 19.03.2016. + */ +public class DetravToolLVElectricProPick 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 2000; + } + + 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 1.0F; + } + + public float getMaxDurabilityMultiplier() { + return 1.0F; + } + + @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 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 Textures01.mTextures[1]; + } + + 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 BehaviourDetravToolElectricProPick(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 + " got Pick Up'ed by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE); + } +} \ No newline at end of file diff --git a/src/main/java/com/detrav/items/tools/DetravToolMVElectricProPick.java b/src/main/java/com/detrav/items/tools/DetravToolMVElectricProPick.java new file mode 100644 index 0000000000..81bfed4f17 --- /dev/null +++ b/src/main/java/com/detrav/items/tools/DetravToolMVElectricProPick.java @@ -0,0 +1,21 @@ +package com.detrav.items.tools; + +import com.detrav.enums.Textures01; +import gregtech.api.interfaces.IIconContainer; +import net.minecraft.item.ItemStack; + +/** + * Created by wital_000 on 19.03.2016. + */ +public class DetravToolMVElectricProPick extends DetravToolLVElectricProPick { + public int getBaseQuality() { + return 1; + } + public float getMaxDurabilityMultiplier() { + return 2.0F; + } + + public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { + return Textures01.mTextures[2]; + } +} diff --git a/src/main/java/com/detrav/items/tools/DetravToolProPick.java b/src/main/java/com/detrav/items/tools/DetravToolProPick.java new file mode 100644 index 0000000000..c7f61b955b --- /dev/null +++ b/src/main/java/com/detrav/items/tools/DetravToolProPick.java @@ -0,0 +1,187 @@ +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.items.GT_MetaGenerated_Tool; +import gregtech.api.interfaces.IToolStats; +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 18.03.2016. + */ +public class DetravToolProPick 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 0.5F; + } + + public float getMaxDurabilityMultiplier() { + return 1.0F; + } + + @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 true; + } + + 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.iron || aBlock.getMaterial() == Material.anvil || aBlock.getMaterial() == Material.glass; + } + + @Override + public int convertBlockDrops(List 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 + " got ProPicked by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE); + } +} diff --git a/src/main/java/com/detrav/tools/BehaviourDetravToolElectricProPick.java b/src/main/java/com/detrav/tools/BehaviourDetravToolElectricProPick.java deleted file mode 100644 index a64d9f0063..0000000000 --- a/src/main/java/com/detrav/tools/BehaviourDetravToolElectricProPick.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.detrav.tools; - -import gregtech.api.enums.SubTag; -import gregtech.api.interfaces.IItemBehaviour; -import gregtech.api.items.GT_MetaBase_Item; -import gregtech.common.items.behaviors.Behaviour_None; -import net.minecraft.dispenser.IBlockSource; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.projectile.EntityArrow; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; - -import java.util.List; - -/** - * Created by wital_000 on 19.03.2016. - */ -public class BehaviourDetravToolElectricProPick extends BehaviourDetravToolProPick -{ - - public BehaviourDetravToolElectricProPick(int aCosts) { - super(aCosts); - } -} \ No newline at end of file diff --git a/src/main/java/com/detrav/tools/BehaviourDetravToolProPick.java b/src/main/java/com/detrav/tools/BehaviourDetravToolProPick.java deleted file mode 100644 index a0dfc599f8..0000000000 --- a/src/main/java/com/detrav/tools/BehaviourDetravToolProPick.java +++ /dev/null @@ -1,120 +0,0 @@ -package com.detrav.tools; - -import com.detrav.items.DetravMetaGeneratedTool01; -import gregtech.api.GregTech_API; -import gregtech.api.items.GT_MetaBase_Item; -import gregtech.api.util.GT_LanguageManager; -import gregtech.common.blocks.GT_TileEntity_Ores; -import gregtech.common.items.behaviors.Behaviour_None; -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.tileentity.TileEntity; -import net.minecraft.util.ChatComponentText; -import net.minecraft.world.World; -import net.minecraft.world.chunk.Chunk; - -import java.util.HashMap; -import java.util.Random; - -/** - * Created by wital_000 on 19.03.2016. - */ -public class BehaviourDetravToolProPick extends Behaviour_None { - - static final String[] foundTexts = new String[]{ - "Found nothing of interest", //0 - "Found Traces of ", //1-9 - "Found a small sample of ", //10-29 - "Found a medium sample of ", //30-59 - "Found a large sample of ", //60-99 - "Found a very large sample of ", //100-** - "Found " - }; - private final int mCosts; - - public BehaviourDetravToolProPick(int aCosts) - { - mCosts = aCosts; - } - - public boolean onItemUse(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ, int aSide, float hitX, float hitY, float hitZ) { - - if(aWorld.getBlock(aX,aY,aZ).getMaterial() == Material.rock || aWorld.getBlock(aX,aY,aZ) == GregTech_API.sBlockOres1) { - if (!aWorld.isRemote) { - processOreProspecting((DetravMetaGeneratedTool01) aItem,aStack,aPlayer,aWorld.getChunkFromBlockCoords(aX,aZ), aWorld.getTileEntity(aX,aY,aZ), new Random(aWorld.getSeed() + 3547*aX + 1327 * aZ + 9973* aY)); - return true; - } - //aPlayer.addChatMessage(new ChatComponentText("Tested")); - return true; - } - return false; - } - - private void processOreProspecting(DetravMetaGeneratedTool01 aItem, ItemStack aStack, EntityPlayer aPlayer, Chunk aChunk, TileEntity aTileEntity, Random aRandom)//TileEntity aTileEntity) - { - aRandom.nextInt(); - if(aTileEntity != null) { - if (aTileEntity instanceof GT_TileEntity_Ores) { - GT_TileEntity_Ores gt_entity = (GT_TileEntity_Ores) aTileEntity; - String name = GT_LanguageManager.getTranslation("gt.blockores." + gt_entity.getMetaData() + ".name"); - aPlayer.addChatMessage(new ChatComponentText(foundTexts[6] + name)); - aItem.doDamage(aStack, this.mCosts); - return; - } - } - else if(aRandom.nextInt(10)<4) { - HashMap ores = new HashMap(); - for (int x = 0; x < 16; x++) - for (int z = 0; z < 16; z++) { - int ySize = aChunk.getHeightValue(x, z); - for (int y = 1; y < ySize; y++) { - Block b = aChunk.getBlock(x, y, z); - if (b == GregTech_API.sBlockOres1) { - TileEntity entity = aChunk.getTileEntityUnsafe(x, y, z); - if (entity != null) { - GT_TileEntity_Ores gt_entity = (GT_TileEntity_Ores) entity; - String name = GT_LanguageManager.getTranslation( - b.getUnlocalizedName() + "." + gt_entity.getMetaData() + ".name"); - if (name.startsWith("Small")) continue; - if (!ores.containsKey(name)) - ores.put(name, 1); - else { - int val = ores.get(name); - ores.put(name, val + 1); - } - } - } - } - } - for(String key : ores.keySet()) - { - int value = ores.get(key); - if(value<10) - aPlayer.addChatMessage(new ChatComponentText(foundTexts[1] + key)); - else if(value<30) - aPlayer.addChatMessage(new ChatComponentText(foundTexts[2] + key)); - else if(value<60) - aPlayer.addChatMessage(new ChatComponentText(foundTexts[3] + key)); - else if(value<100) - aPlayer.addChatMessage(new ChatComponentText(foundTexts[4] + key)); - else - aPlayer.addChatMessage(new ChatComponentText(foundTexts[5] + key)); - } - aItem.doDamage(aStack, this.mCosts); - return; - } - aPlayer.addChatMessage(new ChatComponentText(foundTexts[0])); - - /*//aPlayer.addChatMessage(new ChatComponentText()); - if(aTileEntity != null && aTileEntity instanceof GT_TileEntity_Ores) - { - GT_TileEntity_Ores gt_entity = (GT_TileEntity_Ores)aTileEntity; - - /*String name = GT_LanguageManager.getTranslation( - b.getUnlocalizedName() + "." + gt_entity.getMetaData() + ".name"); - if(name.startsWith("Small")) continue; - }*/ - } -} \ No newline at end of file diff --git a/src/main/java/com/detrav/tools/DetravToolHVElectricProPick.java b/src/main/java/com/detrav/tools/DetravToolHVElectricProPick.java deleted file mode 100644 index 7b27f83d80..0000000000 --- a/src/main/java/com/detrav/tools/DetravToolHVElectricProPick.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.detrav.tools; - -import com.detrav.enums.Textures01; -import gregtech.api.interfaces.IIconContainer; -import net.minecraft.item.ItemStack; - -/** - * Created by wital_000 on 19.03.2016. - */ -public class DetravToolHVElectricProPick extends DetravToolMVElectricProPick { - public int getBaseQuality() { - return 2; - } - - public float getMaxDurabilityMultiplier() { - return 4.0F; - } - - public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { - return Textures01.mTextures[3]; - } -} diff --git a/src/main/java/com/detrav/tools/DetravToolLVElectricProPick.java b/src/main/java/com/detrav/tools/DetravToolLVElectricProPick.java deleted file mode 100644 index 313b9525b2..0000000000 --- a/src/main/java/com/detrav/tools/DetravToolLVElectricProPick.java +++ /dev/null @@ -1,183 +0,0 @@ -package com.detrav.tools; - -import com.detrav.enums.DetravSimpleItems; -import com.detrav.enums.Textures01; -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 19.03.2016. - */ -public class DetravToolLVElectricProPick 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 2000; - } - - 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 1.0F; - } - - public float getMaxDurabilityMultiplier() { - return 1.0F; - } - - @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 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 Textures01.mTextures[1]; - } - - 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 BehaviourDetravToolElectricProPick(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 + " got Pick Up'ed by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE); - } -} \ No newline at end of file diff --git a/src/main/java/com/detrav/tools/DetravToolMVElectricProPick.java b/src/main/java/com/detrav/tools/DetravToolMVElectricProPick.java deleted file mode 100644 index 1afcbb9b2c..0000000000 --- a/src/main/java/com/detrav/tools/DetravToolMVElectricProPick.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.detrav.tools; - -import com.detrav.enums.Textures01; -import gregtech.api.interfaces.IIconContainer; -import net.minecraft.item.ItemStack; - -/** - * Created by wital_000 on 19.03.2016. - */ -public class DetravToolMVElectricProPick extends DetravToolLVElectricProPick { - public int getBaseQuality() { - return 1; - } - public float getMaxDurabilityMultiplier() { - return 2.0F; - } - - public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) { - return Textures01.mTextures[2]; - } -} diff --git a/src/main/java/com/detrav/tools/DetravToolProPick.java b/src/main/java/com/detrav/tools/DetravToolProPick.java deleted file mode 100644 index 6e0eac39e1..0000000000 --- a/src/main/java/com/detrav/tools/DetravToolProPick.java +++ /dev/null @@ -1,186 +0,0 @@ -package com.detrav.tools; - -import com.detrav.enums.DetravSimpleItems; -import com.detrav.enums.Textures01; -import gregtech.GT_Mod; -import gregtech.api.GregTech_API; -import gregtech.api.damagesources.GT_DamageSources; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.items.GT_MetaGenerated_Tool; -import gregtech.api.interfaces.IToolStats; -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 18.03.2016. - */ -public class DetravToolProPick 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 0.5F; - } - - public float getMaxDurabilityMultiplier() { - return 1.0F; - } - - @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 true; - } - - 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.iron || aBlock.getMaterial() == Material.anvil || aBlock.getMaterial() == Material.glass; - } - - @Override - public int convertBlockDrops(List 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 + " got ProPicked by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE); - } -} diff --git a/src/main/java/com/detrav/tools/ProcessingDetravShaping.java b/src/main/java/com/detrav/tools/ProcessingDetravShaping.java deleted file mode 100644 index b10c3c43ae..0000000000 --- a/src/main/java/com/detrav/tools/ProcessingDetravShaping.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.detrav.tools; - -import com.detrav.enums.DetravItemList; -import com.detrav.enums.DetravSimpleItems; -import gregtech.api.enums.GT_Values; -import gregtech.api.enums.Materials; -import gregtech.api.enums.OrePrefixes; -import gregtech.api.enums.SubTag; -import gregtech.api.util.GT_OreDictUnificator; -import gregtech.api.util.GT_Utility; -import net.minecraft.item.ItemStack; - -/** - * Created by wital_000 on 20.03.2016. - */ -public class ProcessingDetravShaping implements gregtech.api.interfaces.IOreRecipeRegistrator { - - public ProcessingDetravShaping() { - OrePrefixes.ingot.add(this); - } - - @Override - public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) { - if ((GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial, 1L) != null) && (!aMaterial.contains(SubTag.NO_SMELTING))) { - int tAmount = (int) (aPrefix.mMaterialAmount / 3628800L); - if ((tAmount > 0) && (tAmount <= 64) && (aPrefix.mMaterialAmount % 3628800L == 0L)) { - int tVoltageMultiplier = aMaterial.mBlastFurnaceTemp >= 2800 ? 64 : 16; - - if (aMaterial.contains(SubTag.NO_SMASHING)) { - tVoltageMultiplier /= 4; - } else if (aPrefix.name().startsWith(OrePrefixes.dust.name())) { - return; - } - GT_Values.RA.addExtruderRecipe(GT_Utility.copyAmount(2L, new Object[]{aStack}), DetravItemList.Shape_Extruder_ProPick.get(0L, new Object[0]), GT_OreDictUnificator.get(DetravSimpleItems.toolHeadProPick.get(aMaterial), tAmount), (int) Math.max(aMaterial.getMass() * 2L * tAmount, tAmount), 8 * tVoltageMultiplier); - } - } - } -} \ No newline at end of file diff --git a/src/main/java/com/detrav/tools/ProcessingDetravToolProPick.java b/src/main/java/com/detrav/tools/ProcessingDetravToolProPick.java deleted file mode 100644 index 6037fa1f85..0000000000 --- a/src/main/java/com/detrav/tools/ProcessingDetravToolProPick.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.detrav.tools; - -import com.detrav.enums.DetravItemList; -import com.detrav.enums.DetravSimpleItems; -import com.detrav.items.DetravMetaGeneratedItem01; -import com.detrav.items.DetravMetaGeneratedTool01; -import gregtech.api.enums.ItemList; -import gregtech.api.enums.Materials; -import gregtech.api.enums.OrePrefixes; -import gregtech.api.util.GT_ModHandler; -import gregtech.common.items.GT_MetaGenerated_Tool_01; -import net.minecraft.item.ItemStack; - -/** - * Created by wital_000 on 18.03.2016. - */ -public class ProcessingDetravToolProPick implements gregtech.api.interfaces.IOreRecipeRegistrator { - public ProcessingDetravToolProPick() { - OrePrefixes.toolHeadPickaxe.add(this); - } - - public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) { - GT_ModHandler. - addShapelessCraftingRecipe( - DetravMetaGeneratedTool01.INSTANCE.getToolWithStats(0, 1, aMaterial, aMaterial.mHandleMaterial, null), - new Object[]{DetravSimpleItems.toolHeadProPick.get(aMaterial), OrePrefixes.stick.get(aMaterial.mHandleMaterial)}); - - - GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStats(2, 1, aMaterial, Materials.StainlessSteel, new long[]{100000L, 32L, 1L, -1L}), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"EHR", "CSC", "PBP", Character.valueOf('S'), ItemList.Cover_Screen, Character.valueOf('R'), ItemList.Sensor_LV,Character.valueOf('E'), ItemList.Emitter_LV,Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Basic), Character.valueOf('H'), DetravSimpleItems.toolHeadProPick.get(aMaterial), Character.valueOf('P'), OrePrefixes.plate.get(Materials.StainlessSteel), Character.valueOf('B'), ItemList.Battery_RE_LV_Lithium.get(1L, new Object[0])}); - GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStats(2, 1, aMaterial, Materials.StainlessSteel, new long[]{75000L, 32L, 1L, -1L}), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"EHR", "CSC", "PBP", Character.valueOf('S'), ItemList.Cover_Screen, Character.valueOf('R'), ItemList.Sensor_LV,Character.valueOf('E'), ItemList.Emitter_LV,Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Basic), Character.valueOf('H'), DetravSimpleItems.toolHeadProPick.get(aMaterial), Character.valueOf('P'), OrePrefixes.plate.get(Materials.StainlessSteel), Character.valueOf('B'), ItemList.Battery_RE_LV_Cadmium.get(1L, new Object[0])}); - GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStats(2, 1, aMaterial, Materials.StainlessSteel, new long[]{50000L, 32L, 1L, -1L}), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"EHR", "CSC", "PBP", Character.valueOf('S'), ItemList.Cover_Screen, Character.valueOf('R'), ItemList.Sensor_LV,Character.valueOf('E'), ItemList.Emitter_LV,Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Basic), Character.valueOf('H'), DetravSimpleItems.toolHeadProPick.get(aMaterial), Character.valueOf('P'), OrePrefixes.plate.get(Materials.StainlessSteel), Character.valueOf('B'), ItemList.Battery_RE_LV_Sodium.get(1L, new Object[0])}); - GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStats(4, 1, aMaterial, Materials.Titanium, new long[]{400000L, 128L, 2L, -1L}), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"EHR", "CSC", "PBP", Character.valueOf('S'), ItemList.Cover_Screen, Character.valueOf('R'), ItemList.Sensor_MV,Character.valueOf('E'), ItemList.Emitter_MV,Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Good), Character.valueOf('H'), DetravSimpleItems.toolHeadProPick.get(aMaterial), Character.valueOf('P'), OrePrefixes.plate.get(Materials.Titanium), Character.valueOf('B'), ItemList.Battery_RE_MV_Lithium.get(1L, new Object[0])}); - GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStats(4, 1, aMaterial, Materials.Titanium, new long[]{300000L, 128L, 2L, -1L}), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"EHR", "CSC", "PBP", Character.valueOf('S'), ItemList.Cover_Screen, Character.valueOf('R'), ItemList.Sensor_MV,Character.valueOf('E'), ItemList.Emitter_MV,Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Good), Character.valueOf('H'), DetravSimpleItems.toolHeadProPick.get(aMaterial), Character.valueOf('P'), OrePrefixes.plate.get(Materials.Titanium), Character.valueOf('B'), ItemList.Battery_RE_MV_Cadmium.get(1L, new Object[0])}); - GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStats(4, 1, aMaterial, Materials.Titanium, new long[]{200000L, 128L, 2L, -1L}), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"EHR", "CSC", "PBP", Character.valueOf('S'), ItemList.Cover_Screen, Character.valueOf('R'), ItemList.Sensor_MV,Character.valueOf('E'), ItemList.Emitter_MV,Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Good), Character.valueOf('H'), DetravSimpleItems.toolHeadProPick.get(aMaterial), Character.valueOf('P'), OrePrefixes.plate.get(Materials.Titanium), Character.valueOf('B'), ItemList.Battery_RE_MV_Sodium.get(1L, new Object[0])}); - GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStats(6, 1, aMaterial, Materials.TungstenSteel, new long[]{1600000L, 512L, 3L, -1L}), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"EHR", "CSC", "PBP", Character.valueOf('S'), ItemList.Cover_Screen, Character.valueOf('R'), ItemList.Sensor_HV,Character.valueOf('E'), ItemList.Emitter_HV,Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Advanced), Character.valueOf('H'), DetravSimpleItems.toolHeadProPick.get(aMaterial), Character.valueOf('P'), OrePrefixes.plate.get(Materials.TungstenSteel), Character.valueOf('B'), ItemList.Battery_RE_HV_Lithium.get(1L, new Object[0])}); - GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTA