diff options
author | bartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com> | 2019-11-03 19:25:29 +0100 |
---|---|---|
committer | bartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com> | 2019-11-03 19:25:29 +0100 |
commit | 87304c5f763e328fdc447d9c9d2cf9d7779b0658 (patch) | |
tree | 33100f1531e2039f97d16706c97769ba70d67a4d /src/main/java | |
parent | f04832f47680f4a164d242e02389f04813075a78 (diff) | |
download | GT5-Unofficial-87304c5f763e328fdc447d9c9d2cf9d7779b0658.tar.gz GT5-Unofficial-87304c5f763e328fdc447d9c9d2cf9d7779b0658.tar.bz2 GT5-Unofficial-87304c5f763e328fdc447d9c9d2cf9d7779b0658.zip |
fixed small ores showing up on non-small ore screen
+autogenerated a color for every registered fluid
+version increase
Signed-off-by: bartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com>
Diffstat (limited to 'src/main/java')
7 files changed, 111 insertions, 156 deletions
diff --git a/src/main/java/com/detrav/DetravScannerMod.java b/src/main/java/com/detrav/DetravScannerMod.java index 3fb2b777c6..9c9a1addb6 100644 --- a/src/main/java/com/detrav/DetravScannerMod.java +++ b/src/main/java/com/detrav/DetravScannerMod.java @@ -1,6 +1,7 @@ package com.detrav; import com.detrav.net.DetravProPickPacket00; +import com.detrav.utils.FluidColors; import org.apache.logging.log4j.LogManager; import com.detrav.net.DetravNetwork; @@ -37,8 +38,7 @@ public class DetravScannerMod @Mod.Instance(DetravScannerMod.MODID) public static DetravScannerMod instance; - public DetravScannerMod() - { + public DetravScannerMod() { GregTech_API.sAfterGTPreload.add(new Detrav_AfterGTPreload_Loader()); new DetravNetwork(); } @@ -56,17 +56,9 @@ public class DetravScannerMod proxy.onPreInit(); } - @EventHandler - public void init(FMLInitializationEvent event) - { - // some example code - //System.out.println("DIRT BLOCK >> "+Blocks.dirt.getUnlocalizedName()); - NetworkRegistry.INSTANCE.registerGuiHandler(instance, proxy ); - } - @EventHandler - public void onLoad(FMLInitializationEvent aEvent) - { + public void init(FMLInitializationEvent event) { + NetworkRegistry.INSTANCE.registerGuiHandler(instance, proxy); proxy.onLoad(); } @@ -75,8 +67,7 @@ public class DetravScannerMod proxy.onPostLoad(); if (Loader.isModLoaded("miscutils")) GTppHelper.generate_OreIDs(); - - DetravProPickPacket00.reFillFluidColors(); + FluidColors.makeColors(); } } diff --git a/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java b/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java index c614a844f6..46c01af8ee 100644 --- a/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java +++ b/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java @@ -115,6 +115,8 @@ public class BehaviourDetravToolElectricProPick extends BehaviourDetravToolProPi short meta = GTppHelper.getGTppMeta(tBlock); packet.addBlock(c.xPosition * 16 + x, y, c.zPosition * 16 + z, meta); } else if (Loader.isModLoaded("bartworks") && BartWorksHelper.isOre(tBlock)) { + if (data != 1 && BartWorksHelper.isSmallOre(tBlock)) + continue; packet.addBlock(c.xPosition * 16 + x, y, c.zPosition * 16 + z, BartWorksHelper.getMetaFromBlock(c, x, y, z, tBlock)); } else if (data == 1) { ItemData tAssotiation = GT_OreDictUnificator.getAssociation(new ItemStack(tBlock, 1, tMetaID)); diff --git a/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolProPick.java b/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolProPick.java index 4a8655360f..297266819b 100644 --- a/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolProPick.java +++ b/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolProPick.java @@ -221,7 +221,9 @@ public class BehaviourDetravToolProPick extends Behaviour_None { if (!name.isEmpty()) addOreToHashMap(name, aPlayer); } else if (Loader.isModLoaded("bartworks") && BartWorksHelper.isOre(tBlock)){ - addOreToHashMap(GT_LanguageManager.getTranslation("bw.blockores.01." + ((BartWorksHelper.getMetaFromBlock(aChunk,x,y,z,tBlock))*-1) + ".name"), aPlayer); + if (data != 1 && BartWorksHelper.isSmallOre(tBlock)) + continue; + addOreToHashMap(GT_LanguageManager.getTranslation((BartWorksHelper.isSmallOre(tBlock) ? "bw.blockores.02." : "bw.blockores.01.") + ((BartWorksHelper.getMetaFromBlock(aChunk,x,y,z,tBlock))*-1) + ".name"), aPlayer); } else if (data == 1) { tAssotiation = GT_OreDictUnificator.getAssociation(new ItemStack(tBlock, 1, tMetaID)); if ((tAssotiation != null) && (tAssotiation.mPrefix.toString().startsWith("ore"))) { diff --git a/src/main/java/com/detrav/items/processing/ProcessingDetravToolProPick.java b/src/main/java/com/detrav/items/processing/ProcessingDetravToolProPick.java index 52b8627944..0dd97fb0fc 100644 --- a/src/main/java/com/detrav/items/processing/ProcessingDetravToolProPick.java +++ b/src/main/java/com/detrav/items/processing/ProcessingDetravToolProPick.java @@ -2,14 +2,11 @@ package com.detrav.items.processing; import com.detrav.items.DetravMetaGeneratedTool01; import com.dreammaster.gthandler.CustomItemList; - import gregtech.api.enums.GT_Values; import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; import gregtech.api.util.GT_ModHandler; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraftforge.oredict.OreDictionary; @@ -29,26 +26,27 @@ public class ProcessingDetravToolProPick implements gregtech.api.interfaces.IOre return; if (DEBUGBUILD) return; - //ULV disabled - //GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStats(0, 1, aMaterial, Materials.Lead, null), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"SHE","CPC","PXP",'E',OreDictionary.getOres("cellSulfuricAcid").get(0),'S',OreDictionary.getOres("cellHydroxide").get(0),'H',OrePrefixes.toolHeadDrill.get(aMaterial),'P',OrePrefixes.plate.get(aMaterial),'C',OrePrefixes.circuit.get(Materials.Primitive),'X',gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList.Sensor_ULV}); - GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStats(2, 1, aMaterial, Materials.Steel, null), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"SHE","CPC","PXP",'E',OreDictionary.getOres("cellSulfuricAcid").get(0),'S',OreDictionary.getOres("cellHydroxide").get(0),'H',OrePrefixes.toolHeadDrill.get(aMaterial),'P',OrePrefixes.plate.get(aMaterial),'C',OrePrefixes.circuit.get(Materials.Basic),'X',ItemList.Sensor_LV}); - GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStats(4, 1, aMaterial, Materials.Steel, null), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"SHE","CPC","PXP",'E',OreDictionary.getOres("cellSulfuricAcid").get(0),'S',OreDictionary.getOres("cellHydroxide").get(0),'H',OrePrefixes.toolHeadDrill.get(aMaterial),'P',OrePrefixes.plate.get(aMaterial),'C',OrePrefixes.circuit.get(Materials.Good),'X',ItemList.Sensor_MV}); - - GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStats(6, 1, aMaterial, Materials.Steel, null), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"SHE","CPC","PXP",'E',OreDictionary.getOres("cellNitricAcid").get(0),'S',OreDictionary.getOres("cellSodiumPersulfate").get(0),'H',OrePrefixes.toolHeadDrill.get(aMaterial),'P',OrePrefixes.plate.get(aMaterial),'C',OrePrefixes.circuit.get(Materials.Advanced),'X',ItemList.Sensor_HV}); - GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStats(8, 1, aMaterial, Materials.Steel, null), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"SHE","CPC","PXP",'E',OreDictionary.getOres("cellNitricAcid").get(0),'S',OreDictionary.getOres("cellSodiumPersulfate").get(0),'H',OrePrefixes.toolHeadDrill.get(aMaterial),'P',OrePrefixes.plate.get(aMaterial),'C',OrePrefixes.circuit.get(Materials.Data),'X',ItemList.Sensor_EV}); - GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStats(10, 1, aMaterial, Materials.Steel, null), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"SHE","CPC","PXP",'E',OreDictionary.getOres("cellNitricAcid").get(0),'S',OreDictionary.getOres("cellSodiumPersulfate").get(0),'H',OrePrefixes.toolHeadDrill.get(aMaterial),'P',OrePrefixes.plate.get(aMaterial),'C',OrePrefixes.circuit.get(Materials.Elite),'X',ItemList.Sensor_IV}); - - GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStats(12, 1, aMaterial, Materials.Steel, null), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"SHE","CPC","PXP",'E',OreDictionary.getOres("cellHydrofluoricAcid").get(0),'S',OreDictionary.getOres("cellLithiumPeroxide").get(0),'H',OrePrefixes.toolHeadDrill.get(aMaterial),'P',OrePrefixes.plate.get(aMaterial),'C',OrePrefixes.circuit.get(Materials.Master),'X',ItemList.Sensor_LuV}); - GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStats(14, 1, aMaterial, Materials.Steel, null), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"SHE","CPC","PXP",'E',OreDictionary.getOres("cellHydrofluoricAcid").get(0),'S',OreDictionary.getOres("cellLithiumPeroxide").get(0),'H',OrePrefixes.toolHeadDrill.get(aMaterial),'P',OrePrefixes.plate.get(aMaterial),'C',OrePrefixes.circuit.get(Materials.Ultimate),'X',ItemList.Sensor_ZPM}); - GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStats(16, 1, aMaterial, Materials.Steel, null), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"SHE","CPC","PXP",'E',OreDictionary.getOres("cellHydrofluoricAcid").get(0),'S',OreDictionary.getOres("cellLithiumPeroxide").get(0),'H',OrePrefixes.toolHeadDrill.get(aMaterial),'P',OrePrefixes.plate.get(aMaterial),'C',OrePrefixes.circuit.get(Materials.Superconductor),'X',ItemList.Sensor_UV}); - - GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStats(18, 1, aMaterial, Materials.Steel, null), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"SHE","CPC","PXP",'E',OreDictionary.getOres("cellHydrofluoricAcid").get(0),'S',OreDictionary.getOres("cellHydrogenPeroxide").get(0),'H',OrePrefixes.toolHeadDrill.get(aMaterial),'P',OrePrefixes.plate.get(aMaterial),'C',OrePrefixes.circuit.get(Materials.Infinite),'X',ItemList.Sensor_UHV}); - - GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStats(100, 1, aMaterial, Materials.Iridium, new long[]{102400000L, GT_Values.V[6], 6L, -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_LuV, Character.valueOf('H'), OrePrefixes.toolHeadDrill.get(aMaterial),Character.valueOf('E'), ItemList.Emitter_LuV,Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Master), Character.valueOf('P'), OrePrefixes.plate.get(Materials.Iridium), Character.valueOf('B'), CustomItemList.BatteryHull_LuV_Full.get(1L)}); - GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStats(102, 1, aMaterial, Materials.Osmium, new long[]{409600000L, GT_Values.V[7], 7L, -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_ZPM, Character.valueOf('H'), OrePrefixes.toolHeadDrill.get(aMaterial), Character.valueOf('E'), ItemList.Emitter_ZPM,Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Ultimate), Character.valueOf('P'), OrePrefixes.plate.get(Materials.Osmium), Character.valueOf('B'), CustomItemList.BatteryHull_ZPM_Full.get(1L)}); - GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStats(104, 1, aMaterial, Materials.Neutronium, new long[]{1638400000L, GT_Values.V[8], 8L, -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_UV, Character.valueOf('H'), OrePrefixes.toolHeadDrill.get(aMaterial), Character.valueOf('E'), ItemList.Emitter_UV,Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Superconductor), Character.valueOf('P'), OrePrefixes.plate.get(Materials.Neutronium), Character.valueOf('B'), CustomItemList.BatteryHull_UV_Full.get(1L)}); - GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStats(106, 1, aMaterial, Materials.Infinity, new long[]{6553600000L, GT_Values.V[9], 9L, -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_UHV, Character.valueOf('H'), OrePrefixes.toolHeadDrill.get(aMaterial), Character.valueOf('E'), ItemList.Emitter_UHV,Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Infinite), Character.valueOf('P'), OrePrefixes.plate.get(Materials.Infinity), Character.valueOf('B'), CustomItemList.BatteryHull_UHV_Full.get(1L)}); + try { + //ULV disabled + //GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStats(0, 1, aMaterial, Materials.Lead, null), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"SHE","CPC","PXP",'E',OreDictionary.getOres("cellSulfuricAcid").get(0),'S',OreDictionary.getOres("cellHydroxide").get(0),'H',OrePrefixes.toolHeadDrill.get(aMaterial),'P',OrePrefixes.plate.get(aMaterial),'C',OrePrefixes.circuit.get(Materials.Primitive),'X',gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList.Sensor_ULV}); + GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStats(2, 1, aMaterial, Materials.Steel, null), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"SHE", "CPC", "PXP", 'E', OreDictionary.getOres("cellSulfuricAcid").get(0), 'S', OreDictionary.getOres("cellHydroxide").get(0), 'H', OrePrefixes.toolHeadDrill.get(aMaterial), 'P', OrePrefixes.plate.get(aMaterial), 'C', OrePrefixes.circuit.get(Materials.Basic), 'X', ItemList.Sensor_LV}); + GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStats(4, 1, aMaterial, Materials.Steel, null), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"SHE", "CPC", "PXP", 'E', OreDictionary.getOres("cellSulfuricAcid").get(0), 'S', OreDictionary.getOres("cellHydroxide").get(0), 'H', OrePrefixes.toolHeadDrill.get(aMaterial), 'P', OrePrefixes.plate.get(aMaterial), 'C', OrePrefixes.circuit.get(Materials.Good), 'X', ItemList.Sensor_MV}); + + GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStats(6, 1, aMaterial, Materials.Steel, null), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"SHE", "CPC", "PXP", 'E', OreDictionary.getOres("cellNitricAcid").get(0), 'S', OreDictionary.getOres("cellSodiumPersulfate").get(0), 'H', OrePrefixes.toolHeadDrill.get(aMaterial), 'P', OrePrefixes.plate.get(aMaterial), 'C', OrePrefixes.circuit.get(Materials.Advanced), 'X', ItemList.Sensor_HV}); + GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStats(8, 1, aMaterial, Materials.Steel, null), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"SHE", "CPC", "PXP", 'E', OreDictionary.getOres("cellNitricAcid").get(0), 'S', OreDictionary.getOres("cellSodiumPersulfate").get(0), 'H', OrePrefixes.toolHeadDrill.get(aMaterial), 'P', OrePrefixes.plate.get(aMaterial), 'C', OrePrefixes.circuit.get(Materials.Data), 'X', ItemList.Sensor_EV}); + GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStats(10, 1, aMaterial, Materials.Steel, null), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"SHE", "CPC", "PXP", 'E', OreDictionary.getOres("cellNitricAcid").get(0), 'S', OreDictionary.getOres("cellSodiumPersulfate").get(0), 'H', OrePrefixes.toolHeadDrill.get(aMaterial), 'P', OrePrefixes.plate.get(aMaterial), 'C', OrePrefixes.circuit.get(Materials.Elite), 'X', ItemList.Sensor_IV}); + + GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStats(12, 1, aMaterial, Materials.Steel, null), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"SHE", "CPC", "PXP", 'E', OreDictionary.getOres("cellHydrofluoricAcid").get(0), 'S', OreDictionary.getOres("cellLithiumPeroxide").get(0), 'H', OrePrefixes.toolHeadDrill.get(aMaterial), 'P', OrePrefixes.plate.get(aMaterial), 'C', OrePrefixes.circuit.get(Materials.Master), 'X', ItemList.Sensor_LuV}); + GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStats(14, 1, aMaterial, Materials.Steel, null), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"SHE", "CPC", "PXP", 'E', OreDictionary.getOres("cellHydrofluoricAcid").get(0), 'S', OreDictionary.getOres("cellLithiumPeroxide").get(0), 'H', OrePrefixes.toolHeadDrill.get(aMaterial), 'P', OrePrefixes.plate.get(aMaterial), 'C', OrePrefixes.circuit.get(Materials.Ultimate), 'X', ItemList.Sensor_ZPM}); + GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStats(16, 1, aMaterial, Materials.Steel, null), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"SHE", "CPC", "PXP", 'E', OreDictionary.getOres("cellHydrofluoricAcid").get(0), 'S', OreDictionary.getOres("cellLithiumPeroxide").get(0), 'H', OrePrefixes.toolHeadDrill.get(aMaterial), 'P', OrePrefixes.plate.get(aMaterial), 'C', OrePrefixes.circuit.get(Materials.Superconductor), 'X', ItemList.Sensor_UV}); + + GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStats(18, 1, aMaterial, Materials.Steel, null), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"SHE", "CPC", "PXP", 'E', OreDictionary.getOres("cellHydrofluoricAcid").get(0), 'S', OreDictionary.getOres("cellHydrogenPeroxide").get(0), 'H', OrePrefixes.toolHeadDrill.get(aMaterial), 'P', OrePrefixes.plate.get(aMaterial), 'C', OrePrefixes.circuit.get(Materials.Infinite), 'X', ItemList.Sensor_UHV}); + GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStats(100, 1, aMaterial, Materials.Iridium, new long[]{102400000L, GT_Values.V[6], 6L, -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_LuV, Character.valueOf('H'), OrePrefixes.toolHeadDrill.get(aMaterial), Character.valueOf('E'), ItemList.Emitter_LuV, Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Master), Character.valueOf('P'), OrePrefixes.plate.get(Materials.Iridium), Character.valueOf('B'), CustomItemList.BatteryHull_LuV_Full.get(1L)}); + GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStats(102, 1, aMaterial, Materials.Osmium, new long[]{409600000L, GT_Values.V[7], 7L, -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_ZPM, Character.valueOf('H'), OrePrefixes.toolHeadDrill.get(aMaterial), Character.valueOf('E'), ItemList.Emitter_ZPM, Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Ultimate), Character.valueOf('P'), OrePrefixes.plate.get(Materials.Osmium), Character.valueOf('B'), CustomItemList.BatteryHull_ZPM_Full.get(1L)}); + GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStats(104, 1, aMaterial, Materials.Neutronium, new long[]{1638400000L, GT_Values.V[8], 8L, -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_UV, Character.valueOf('H'), OrePrefixes.toolHeadDrill.get(aMaterial), Character.valueOf('E'), ItemList.Emitter_UV, Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Superconductor), Character.valueOf('P'), OrePrefixes.plate.get(Materials.Neutronium), Character.valueOf('B'), CustomItemList.BatteryHull_UV_Full.get(1L)}); + GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStats(106, 1, aMaterial, Materials.Infinity, new long[]{6553600000L, GT_Values.V[9], 9L, -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_UHV, Character.valueOf('H'), OrePrefixes.toolHeadDrill.get(aMaterial), Character.valueOf('E'), ItemList.Emitter_UHV, Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Infinite), Character.valueOf('P'), OrePrefixes.plate.get(Materials.Infinity), Character.valueOf('B'), CustomItemList.BatteryHull_UHV_Full.get(1L)}); + }catch (Exception ignored){} } } diff --git a/src/main/java/com/detrav/net/DetravProPickPacket00.java b/src/main/java/com/detrav/net/DetravProPickPacket00.java index 703ae581c4..fc4555075a 100644 --- a/src/main/java/com/detrav/net/DetravProPickPacket00.java +++ b/src/main/java/com/detrav/net/DetravProPickPacket00.java @@ -11,14 +11,11 @@ import com.google.common.io.ByteStreams; import gregtech.api.GregTech_API; import gregtech.api.enums.Materials; import gregtech.api.util.GT_LanguageManager; -import gtPlusPlus.core.material.Material; -import gtPlusPlus.core.material.ORES; - -import net.minecraftforge.fluids.*; +import net.minecraftforge.fluids.FluidRegistry; +import net.minecraftforge.fluids.FluidStack; import java.awt.image.BufferedImage; import java.awt.image.WritableRaster; -import java.lang.reflect.Field; import java.util.HashMap; /* @@ -36,47 +33,8 @@ public class DetravProPickPacket00 extends DetravPacket { public int chunkZ; public int size; public int ptype; - HashMap<Byte,Short>[][] map = null; - public static HashMap<Integer, short[]> fluidColors = null; - - public static void reFillFluidColors(){ - if( fluidColors == null ) { // Should probably be put somewhere else, but I suck at Java - fluidColors = new HashMap<Integer, short[]>(); - - fluidColors.put( Materials.NatruralGas.mGas.getID(), new short[]{0x00,0xff,0xff} ); - fluidColors.put( Materials.OilLight.mFluid.getID(), new short[]{0xff,0xff,0x00} ); - fluidColors.put( Materials.OilMedium.mFluid.getID(), new short[]{0x00,0xFF,0x00} ); - fluidColors.put( Materials.OilHeavy.mFluid.getID(), new short[]{0xFF,0x00,0xFF} ); - fluidColors.put( Materials.Oil.mFluid.getID(), new short[]{0x00,0x00,0x00} ); - fluidColors.put( Materials.Helium_3.mGas.getID(), new short[]{0x80,0x20,0xe0} ); - fluidColors.put( Materials.SaltWater.mFluid.getID(), new short[]{0x80,0xff,0x80} ); - fluidColors.put( Materials.Naquadah.getMolten(0).getFluid().getID(), new short[]{0x20,0x20,0x20} ); - fluidColors.put( Materials.NaquadahEnriched.getMolten(0).getFluid().getID(), new short[]{0x60,0x60,0x60} ); - fluidColors.put( Materials.Lead.getMolten(0).getFluid().getID(), new short[]{0xd0,0xd0,0xd0} ); - fluidColors.put( Materials.Chlorobenzene.mFluid.getID(), new short[]{0x40,0x80,0x40} ); - fluidColors.put( FluidRegistry.getFluid("liquid_extra_heavy_oil").getID(), new short[]{0x00,0x00,0x50} ); - fluidColors.put( Materials.Oxygen.mGas.getID(), new short[]{0x40,0x40,0xA0} ); - fluidColors.put( Materials.Nitrogen.mGas.getID(), new short[]{0x00,0x80,0xd0} ); - fluidColors.put( Materials.Methane.mGas.getID(), new short[]{0x80,0x20,0x20} ); - fluidColors.put( Materials.Ethane.mGas.getID(), new short[]{0x40,0x80,0x20} ); - fluidColors.put( Materials.Ethylene.mGas.getID(), new short[]{0xd0,0xd0,0xd0} ); - fluidColors.put( Materials.LiquidAir.mFluid.getID(), new short[]{0x40,0x80,0x40} ); - fluidColors.put( FluidRegistry.LAVA.getID(), new short[]{0xFF,0x00,0x00} ); - -/* - Set set = fluidColors.entrySet(); - Iterator iterator = set.iterator(); - System.out.println( "DETRAV SCANNER DEBUG" ); - while(iterator.hasNext()) { - Map.Entry mentry = (Map.Entry) iterator.next(); - System.out.println( "key is: "+ (Integer)mentry.getKey() + " & Value is: " + - ((short[])mentry.getValue())[0] + " " + - ((short[])mentry.getValue())[1] + " " + - ((short[])mentry.getValue())[2] ); - } -*/ - } - } + private HashMap<Byte,Short>[][] map = null; + public static HashMap<Integer, short[]> fluidColors = new HashMap<>(); @Override public int getPacketID() { @@ -130,7 +88,7 @@ public class DetravProPickPacket00 extends DetravPacket { for (int j = 0; j < aSize; j++) { byte kSize = aData.readByte(); if(kSize == 0) continue; - packet.map[i][j] = new HashMap<Byte, Short>(); + packet.map[i][j] = new HashMap<>(); for (int k = 0; k < kSize; k++) { packet.map[i][j].put(aData.readByte(),aData.readShort()); checkOut++; @@ -214,7 +172,7 @@ public class DetravProPickPacket00 extends DetravPacket { raster.setSample(i, j, 2, rgba[2]); raster.setSample(i, j, 3, 255); if (!ores.containsKey(name)) - ores.put(name, (0xFF << 24) + ((rgba[0] & 0xFF) << 16) + ((rgba[1] & 0xFF) << 8) + ((rgba[2] & 0xFF))); + ores.put(name, ((rgba[0] & 0xFF) << 16) + ((rgba[1] & 0xFF) << 8) + ((rgba[2] & 0xFF))); } else if (meta<=0){ name = GT_LanguageManager.getTranslation("bw.blockores.01." + (meta*-1) + ".name"); @@ -229,7 +187,7 @@ public class DetravProPickPacket00 extends DetravPacket { raster.setSample(i, j, 2, rgba[2]); raster.setSample(i, j, 3, 255); if (!ores.containsKey(name)) - ores.put(name, (0xFF << 24) + ((rgba[0] & 0xFF) << 16) + ((rgba[1] & 0xFF) << 8) + ((rgba[2] & 0xFF))); + ores.put(name, ((rgba[0] & 0xFF) << 16) + ((rgba[1] & 0xFF) << 8) + ((rgba[2] & 0xFF))); } else { if (pMaterial == null) { exception++; @@ -244,7 +202,7 @@ public class DetravProPickPacket00 extends DetravPacket { raster.setSample(i, j, 2, rgba[2]); raster.setSample(i, j, 3, 255); if (!ores.containsKey(name)) - ores.put(name, (0xFF << 24) + ((rgba[0] & 0xFF) << 16) + ((rgba[1] & 0xFF) << 8) + ((rgba[2] & 0xFF))); + ores.put(name,((rgba[0] & 0xFF) << 16) + ((rgba[1] & 0xFF) << 8) + ((rgba[2] & 0xFF))); } } } @@ -271,8 +229,8 @@ public class DetravProPickPacket00 extends DetravPacket { raster.setSample(i, j, 2, 255); raster.setSample(i, j, 3, 255); } else { - metas[0] = map[i][j].get(Byte.valueOf((byte)1)); // fluidID - metas[1] = map[i][j].get(Byte.valueOf((byte)2)); // Size of the field + metas[0] = map[i][j].get((byte) 1); // fluidID + metas[1] = map[i][j].get((byte) 2); // Size of the field String name = null; short[] rgba = null; @@ -288,7 +246,7 @@ public class DetravProPickPacket00 extends DetravPacket { } if (!ores.containsKey(name)) - ores.put(name, (0xFF << 24) + ((rgba[0] & 0xFF) << 16) + ((rgba[1] & 0xFF) << 8) + ((rgba[2] & 0xFF))); + ores.put(name, ((rgba[0] & 0xFF) << 16) + ((rgba[1] & 0xFF) << 8) + ((rgba[2] & 0xFF))); int k = (i % 16); // Variables used to locate within a chunk. int l = (j % 16); @@ -319,7 +277,7 @@ public class DetravProPickPacket00 extends DetravPacket { } break; case 3: - ores.put("Pollution", (0xFF << 24) + ((0 & 0xFF) << 16) + ((0 & 0xFF) << 8) + ((0 & 0xFF))); + ores.put("Pollution", ((0 & 0xFF) << 16) + ((0 & 0xFF) << 8) + ((0 & 0xFF))); for (int i = 0; i < wh; i++) for (int j = 0; j < wh; j++) { if (map[i][j] == null) { diff --git a/src/main/java/com/detrav/utils/BartWorksHelper.java b/src/main/java/com/detrav/utils/BartWorksHelper.java index 5143571087..6f59ccb491 100644 --- a/src/main/java/com/detrav/utils/BartWorksHelper.java +++ b/src/main/java/com/detrav/utils/BartWorksHelper.java @@ -1,6 +1,7 @@ package com.detrav.utils; import com.github.bartimaeusnek.bartworks.system.material.BW_MetaGenerated_Ores; +import com.github.bartimaeusnek.bartworks.system.material.BW_MetaGenerated_SmallOres; import net.minecraft.block.Block; import net.minecraft.world.chunk.Chunk; @@ -10,6 +11,10 @@ public class BartWorksHelper { return tBlock instanceof BW_MetaGenerated_Ores; } + public static boolean isSmallOre(Block tBlock){ + return tBlock instanceof BW_MetaGenerated_SmallOres; + } + public static short getMetaFromBlock(Chunk c, int x, int y, int z, Block tBlock){ return (short) (tBlock.getDamageValue(c.worldObj,c.xPosition * 16 + x, y, c.zPosition * 16 + z)*-1); } diff --git a/src/main/java/com/detrav/utils/FluidColors.java b/src/main/java/com/detrav/utils/FluidColors.java index d70a348fcc..b5c2cda6df 100644 --- a/src/main/java/com/detrav/utils/FluidColors.java +++ b/src/main/java/com/detrav/utils/FluidColors.java @@ -1,85 +1,84 @@ package com.detrav.utils; +import com.detrav.net.DetravProPickPacket00; +import cpw.mods.fml.common.ProgressManager; import gregtech.api.enums.Materials; import net.minecraftforge.fluids.FluidRegistry; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.SplittableRandom; +import java.util.Arrays; +import java.util.Objects; + +import static com.detrav.net.DetravProPickPacket00.fluidColors; public class FluidColors { - public static final HashMap<Integer, Integer> COLORS = new HashMap<Integer, Integer>(); //contains all FluidIDs and their color counterpath - public static final ArrayList<Integer> USEDC = new ArrayList<Integer>(); //contains all used Colors + public static void makeColors(){ + reFillFluidColors(); - public static synchronized void setup_colors_from_fluid_registry(){ //should populate COLORS with all the fluids from the Fluid registry and an unique color - if (FluidRegistry.getMaxID()>0){ - for (int i = 0; i < FluidRegistry.getMaxID(); i++) { - if(!USEDC.contains(FluidRegistry.getFluid(i).getColor())) { - USEDC.add(FluidRegistry.getFluid(i).getColor()); - COLORS.put(i,FluidRegistry.getFluid(i).getColor()); - }else{ - int nuclor=getnucolor(); - USEDC.add(nuclor); - COLORS.put(i,nuclor); + //ProgressManager.ProgressBar progressBar = ProgressManager.push("Making Fluid Colors", (int) (Materials.values().length + FluidRegistry.getRegisteredFluids().values().stream().filter(Objects::nonNull).count())); + Arrays.stream(Materials.values()).forEach( + mat -> { + //progressBar.step(mat.mDefaultLocalName); + if ( mat.getSolid(0) != null) + fluidColors.putIfAbsent(mat.getSolid(0).getFluidID(), mat.mRGBa); + if ( mat.getGas(0) != null) + fluidColors.putIfAbsent(mat.getGas(0).getFluidID(), mat.mRGBa); + if ( mat.getFluid(0) != null) + fluidColors.putIfAbsent(mat.getFluid(0).getFluidID(), mat.mRGBa); + if ( mat.getMolten(0) != null) + fluidColors.putIfAbsent(mat.getMolten(0).getFluidID(), mat.mRGBa); } - + ); + FluidRegistry.getRegisteredFluids().values().stream().filter(Objects::nonNull).forEach(fluid -> { + // progressBar.step(fluid.getName()); + fluidColors.putIfAbsent(fluid.getID(), convertColorInt(fluid.getColor())); } - } + ); + // ProgressManager.pop(progressBar); } - public static synchronized void setup_gt_colors(){ //should populate COLORS with all the fluids from the Materials and an unique color - for (Materials M : Materials.getAll()){ - final int LCOLOR = M.getRGBA()[0]<<24 | M.getRGBA()[1]<<16 | M.getRGBA()[2]<<8 | M.getRGBA()[3]; + private static void reFillFluidColors(){ + try { + // Should probably be put somewhere else, but I suck at Java + fluidColors.put(Materials.NatruralGas.mGas.getID(), new short[]{0x00, 0xff, 0xff}); + fluidColors.put(Materials.OilLight.mFluid.getID(), new short[]{0xff, 0xff, 0x00}); + fluidColors.put(Materials.OilMedium.mFluid.getID(), new short[]{0x00, 0xFF, 0x00}); + fluidColors.put(Materials.OilHeavy.mFluid.getID(), new short[]{0xFF, 0x00, 0xFF}); + fluidColors.put(Materials.Oil.mFluid.getID(), new short[]{0x00, 0x00, 0x00}); + fluidColors.put(Materials.Helium_3.mGas.getID(), new short[]{0x80, 0x20, 0xe0}); + fluidColors.put(Materials.SaltWater.mFluid.getID(), new short[]{0x80, 0xff, 0x80}); + fluidColors.put(Materials.Naquadah.getMolten(0).getFluid().getID(), new short[]{0x20, 0x20, 0x20}); + fluidColors.put(Materials.NaquadahEnriched.getMolten(0).getFluid().getID(), new short[]{0x60, 0x60, 0x60}); + fluidColors.put(Materials.Lead.getMolten(0).getFluid().getID(), new short[]{0xd0, 0xd0, 0xd0}); + fluidColors.put(Materials.Chlorobenzene.mFluid.getID(), new short[]{0x40, 0x80, 0x40}); + fluidColors.put(FluidRegistry.getFluid("liquid_extra_heavy_oil").getID(), new short[]{0x00, 0x00, 0x50}); + fluidColors.put(Materials.Oxygen.mGas.getID(), new short[]{0x40, 0x40, 0xA0}); + fluidColors.put(Materials.Nitrogen.mGas.getID(), new short[]{0x00, 0x80, 0xd0}); + fluidColors.put(Materials.Methane.mGas.getID(), new short[]{0x80, 0x20, 0x20}); + fluidColors.put(Materials.Ethane.mGas.getID(), new short[]{0x40, 0x80, 0x20}); + fluidColors.put(Materials.Ethylene.mGas.getID(), new short[]{0xd0, 0xd0, 0xd0}); + fluidColors.put(FluidRegistry.LAVA.getID(), new short[]{0xFF, 0x00, 0x00}); - if ( M.mHasGas || //if Material has a Gas - (M.mFluid != null && !M.mFluid.equals(Materials._NULL.mFluid)) || //or a fluid - (M.getMolten(0).getFluid() != null && !M.getMolten(0).equals(Materials._NULL.mFluid))) //or can be molten add it here - if (!addnucolor(M,LCOLOR)){ - boolean nosucess; - do { - nosucess=!addnucolor(M,getnucolor()); - }while (nosucess); - } - } + //possible nulls + fluidColors.put(Materials.LiquidAir.mFluid.getID(), new short[]{0x40, 0x80, 0x40}); + }catch (Exception ignored){} +/* + Set set = fluidColors.entrySet(); + Iterator iterator = set.iterator(); + System.out.println( "DETRAV SCANNER DEBUG" ); + while(iterator.hasNext()) { + Map.Entry mentry = (Map.Entry) iterator.next(); + System.out.println( "key is: "+ (Integer)mentry.getKey() + " & Value is: " + + ((short[])mentry.getValue())[0] + " " + + ((short[])mentry.getValue())[1] + " " + + ((short[])mentry.getValue())[2] ); + } +*/ } - /** - * - * @return a new and unique color - */ - private static synchronized int getnucolor(){ //gets a new unique color - int nucolor = makenu(); - return !USEDC.contains(nucolor) ? nucolor : getnucolor(); //if the color already is in the list, recall this method and get a new random color. + private static short[] convertColorInt(int color){ + return new short[]{(short) (color << 16 &0xff), (short) (color << 8 &0xff), (short) (color &0xff)}; } - /** - * - * @return a new random color - */ - private static synchronized int makenu() { - return new SplittableRandom().nextInt(0,256)<<24 & 0xFF | //r - new SplittableRandom().nextInt(0,256)<<16 & 0xFF | //g - new SplittableRandom().nextInt(0,256)<<8 & 0xFF | //b - new SplittableRandom().nextInt(0,256) & 0xFF; //a - } - - /** - * Should add a new and unique Color linked to a Material - * @return if the color was added - */ - private static synchronized boolean addnucolor(Materials M, int color){ - if (!USEDC.contains(color)){ - USEDC.add(color); - if(M.mHasGas) - COLORS.put(M.mGas.getID(), color); - else if (M.mFluid != null && !M.mFluid.equals(Materials._NULL.mFluid)) - COLORS.put(M.mFluid.getID(), color); - else if (M.getMolten(0).getFluid() != null && !M.getMolten(0).equals(Materials._NULL.mFluid)) - COLORS.put(M.getMolten(0).getFluid().getID(), color); - return true; - } - return false; - } } |