diff options
-rw-r--r-- | .gitignore | 2 | ||||
-rw-r--r-- | build.gradle | 50 | ||||
-rw-r--r-- | build.properties | 2 | ||||
-rw-r--r-- | gradle/wrapper/gradle-wrapper.jar | bin | 0 -> 51017 bytes | |||
-rw-r--r-- | gradle/wrapper/gradle-wrapper.properties | 6 | ||||
-rw-r--r-- | src/main/java/com/detrav/DetravScannerMod.java | 7 | ||||
-rw-r--r-- | src/main/java/com/detrav/items/DetravMetaGeneratedTool01.java | 75 | ||||
-rw-r--r-- | src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java | 61 | ||||
-rw-r--r-- | src/main/java/com/detrav/items/behaviours/BehaviourDetravToolProPick.java | 22 | ||||
-rw-r--r-- | src/main/java/com/detrav/items/processing/ProcessingDetravToolProPick.java | 5 | ||||
-rw-r--r-- | src/main/java/com/detrav/net/DetravProPickPacket00.java | 130 | ||||
-rw-r--r-- | src/main/java/com/detrav/utils/BartWorksHelper.java | 17 | ||||
-rw-r--r-- | src/main/java/com/detrav/utils/FluidColors.java | 85 | ||||
-rw-r--r-- | src/main/java/com/detrav/utils/GTppHelper.java | 23 |
14 files changed, 316 insertions, 169 deletions
diff --git a/.gitignore b/.gitignore index fe5acad8f4..e710ac74bf 100644 --- a/.gitignore +++ b/.gitignore @@ -58,7 +58,7 @@ hs_err_pid* *.iml *.ipr *.iws - +libs/ .idea/ .idea_modules/ diff --git a/build.gradle b/build.gradle index 4dc055af9a..959085a956 100644 --- a/build.gradle +++ b/build.gradle @@ -61,26 +61,26 @@ repositories { maven { // AppleCore url "http://www.ryanliptak.com/maven/" } - ivy { - name "BuildCraft" - artifactPattern "http://www.mod-buildcraft.com/releases/BuildCraft/[revision]/[module]-[revision]-[classifier].[ext]" - } - ivy { - name 'CoFHLib' - artifactPattern "http://addons-origin.cursecdn.com/files/${config.cofhlib.cf}/[module]-[revision].[ext]" - } - ivy { - name 'CoFHCore' - artifactPattern "http://addons-origin.cursecdn.com/files/${config.cofhcore.cf}/[module]-[revision].[ext]" - } - ivy { - name 'Railcraft' - artifactPattern "http://addons-origin.cursecdn.com/files/${config.railcraft.cf}/[module]_[revision].[ext]" - } - ivy { - name 'IC2NuclearControl' - artifactPattern "http://addons-origin.cursecdn.com/files/${config.nc.cf}/[module]-[revision].[ext]" - } + //ivy { + // name "BuildCraft" + // artifactPattern "http://www.mod-buildcraft.com/releases/BuildCraft/[revision]/[module]-[revision]-[classifier].[ext]" + //} + //ivy { + // name 'CoFHLib' + // artifactPattern "http://addons-origin.cursecdn.com/files/${config.cofhlib.cf}/[module]-[revision].[ext]" + //} + //ivy { + // name 'CoFHCore' + // artifactPattern "http://addons-origin.cursecdn.com/files/${config.cofhcore.cf}/[module]-[revision].[ext]" + //} + //ivy { + // name 'Railcraft' + // artifactPattern "http://addons-origin.cursecdn.com/files/${config.railcraft.cf}/[module]_[revision].[ext]" + //} + //ivy { + // name 'IC2NuclearControl' + // artifactPattern "http://addons-origin.cursecdn.com/files/${config.nc.cf}/[module]-[revision].[ext]" + //} } dependencies { @@ -97,11 +97,11 @@ dependencies { provided ("com.enderio:EnderIO:${config.enderio.version}:dev") { transitive = false } - provided name: 'buildcraft', version: config.buildcraft.version, classifier: "dev", ext: 'jar' - provided name: 'CoFHLib', version: config.cofhlib.version, ext: 'jar' - provided name: 'CoFHCore', version: config.cofhcore.version, ext: 'jar' - provided name: 'Railcraft', version: config.railcraft.version, ext: 'jar' - provided name: 'IC2NuclearControl', version: config.nc.version, ext: 'jar' + // provided name: 'buildcraft', version: config.buildcraft.version, classifier: "dev", ext: 'jar' + // provided name: 'CoFHLib', version: config.cofhlib.version, ext: 'jar' + // provided name: 'CoFHCore', version: config.cofhcore.version, ext: 'jar' + // provided name: 'Railcraft', version: config.railcraft.version, ext: 'jar' + // provided name: 'IC2NuclearControl', version: config.nc.version, ext: 'jar' } processResources diff --git a/build.properties b/build.properties index 77f902d071..04796e4ca3 100644 --- a/build.properties +++ b/build.properties @@ -1,7 +1,7 @@ minecraft.version=1.7.10 forge.version=10.13.4.1614-1.7.10 -detravscanner.version=1.5.3 +detravscanner.version=1.5.4 ae2.version=rv2-beta-33 applecore.version=1.7.10-1.2.1+107.59407 diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar Binary files differnew file mode 100644 index 0000000000..b761216703 --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.jar diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000000..aae599bbfa --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Wed Jul 02 15:54:47 CDT 2014 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-bin.zip diff --git a/src/main/java/com/detrav/DetravScannerMod.java b/src/main/java/com/detrav/DetravScannerMod.java index 5d6af0b8a7..394c7ff48f 100644 --- a/src/main/java/com/detrav/DetravScannerMod.java +++ b/src/main/java/com/detrav/DetravScannerMod.java @@ -1,5 +1,6 @@ package com.detrav; +import com.detrav.net.DetravProPickPacket00; import org.apache.logging.log4j.LogManager; import com.detrav.net.DetravNetwork; @@ -19,11 +20,11 @@ import gregtech.api.GregTech_API; import net.minecraft.creativetab.CreativeTabs; import net.minecraftforge.common.config.Configuration; -@Mod(modid = DetravScannerMod.MODID, version = DetravScannerMod.VERSION,dependencies = "required-after:IC2;required-after:gregtech;after:miscutils") +@Mod(modid = DetravScannerMod.MODID, version = DetravScannerMod.VERSION,dependencies = "required-after:IC2;required-after:gregtech;after:miscutils;after:bartworks") public class DetravScannerMod { public static final String MODID = "detravscannermod"; - public static final String VERSION = "1.5.3"; + public static final String VERSION = "1.5.4"; public static final boolean DEBUGBUILD = false; public static final CreativeTabs TAB_DETRAV = new DetravCreativeTab(); @@ -73,6 +74,8 @@ public class DetravScannerMod proxy.onPostLoad(); if (Loader.isModLoaded("miscutils")) GTppHelper.generate_OreIDs(); + + DetravProPickPacket00.reFillFluidColors(); } } diff --git a/src/main/java/com/detrav/items/DetravMetaGeneratedTool01.java b/src/main/java/com/detrav/items/DetravMetaGeneratedTool01.java index 62d296077c..6a80b7de0f 100644 --- a/src/main/java/com/detrav/items/DetravMetaGeneratedTool01.java +++ b/src/main/java/com/detrav/items/DetravMetaGeneratedTool01.java @@ -7,6 +7,7 @@ import com.detrav.enums.DetravToolDictNames; import com.detrav.items.tools.DetravProPick; import com.detrav.items.tools.DetravToolElectricProPick; +import cpw.mods.fml.common.Loader; import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; import gregtech.api.enums.TC_Aspects; @@ -20,6 +21,8 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; import net.minecraftforge.fluids.FluidStack; +import static com.detrav.DetravScannerMod.DEBUGBUILD; + /** * Created by wital_000 on 19.03.2016. */ @@ -298,32 +301,34 @@ public class DetravMetaGeneratedTool01 extends GT_MetaGenerated_Tool { public void getDetravSubItems(Item item, CreativeTabs detravCreativeTab, List list) { ItemStack dStack; - - //Materials at tiers - dStack = getToolWithStats(0,1,Materials.Polycaprolactam,Materials.Polycaprolactam, null); - list.add(dStack); - dStack = getToolWithStats(2,1,Materials.Steel,Materials.Steel, null); - list.add(dStack); - dStack = getToolWithStats(2,1,Materials.Bronze,Materials.Steel, null); - list.add(dStack); - dStack = getToolWithStats(4,1,Materials.Manyullyn,Materials.Aluminium, null); - list.add(dStack); - dStack = getToolWithStats(6,1,Materials.DamascusSteel,Materials.DamascusSteel, null); - list.add(dStack); - dStack = getToolWithStats(8,1,Materials.Titanium,Materials.Titanium, null); - list.add(dStack); - dStack = getToolWithStats(10,1,Materials.TungstenSteel,Materials.TungstenSteel, null); - list.add(dStack); - dStack = getToolWithStats(12,1,Materials.Iridium,Materials.Iridium, null); - list.add(dStack); - dStack = getToolWithStats(12,1,Materials.Osmium,Materials.Osmium, null); - list.add(dStack); - dStack = getToolWithStats(14,1,Materials.Neutronium,Materials.Neutronium, null); - list.add(dStack); - dStack = getToolWithStats(16,1,Materials.InfinityCatalyst,Materials.InfinityCatalyst, null); - list.add(dStack); - dStack = getToolWithStats(18,1,Materials.Infinity,Materials.Infinity, null); - list.add(dStack); + if (Loader.isModLoaded("dreamcraft")) { + //Materials at tiers + dStack = getToolWithStats(0, 1, Materials.Polycaprolactam, Materials.Polycaprolactam, null); + list.add(dStack); + dStack = getToolWithStats(2, 1, Materials.Steel, Materials.Steel, null); + list.add(dStack); + dStack = getToolWithStats(2, 1, Materials.Bronze, Materials.Steel, null); + list.add(dStack); + dStack = getToolWithStats(4, 1, Materials.Manyullyn, Materials.Aluminium, null); + list.add(dStack); + dStack = getToolWithStats(6, 1, Materials.DamascusSteel, Materials.DamascusSteel, null); + list.add(dStack); + dStack = getToolWithStats(8, 1, Materials.Titanium, Materials.Titanium, null); + list.add(dStack); + dStack = getToolWithStats(10, 1, Materials.TungstenSteel, Materials.TungstenSteel, null); + list.add(dStack); + dStack = getToolWithStats(12, 1, Materials.Iridium, Materials.Iridium, null); + list.add(dStack); + dStack = getToolWithStats(12, 1, Materials.Osmium, Materials.Osmium, null); + list.add(dStack); + dStack = getToolWithStats(14, 1, Materials.Neutronium, Materials.Neutronium, null); + list.add(dStack); + + dStack = getToolWithStats(16, 1, Materials.InfinityCatalyst, Materials.InfinityCatalyst, null); + list.add(dStack); + dStack = getToolWithStats(18, 1, Materials.Infinity, Materials.Infinity, null); + list.add(dStack); + } //Steel for comparison dStack = getToolWithStats(0,1,Materials.Steel,Materials.Steel, null); @@ -354,12 +359,18 @@ public class DetravMetaGeneratedTool01 extends GT_MetaGenerated_Tool { dStack = getToolWithStats(102, 1, Materials.Neutronium, Materials.TungstenSteel, new long[]{409600000L, GT_Values.V[7], 7L, -1L}); setCharge(dStack,409600000L); list.add(dStack); - dStack = getToolWithStats(104, 1, Materials.InfinityCatalyst, Materials.TungstenSteel, new long[]{1638400000L, GT_Values.V[8], 8L, -1L}); - setCharge(dStack,1638400000L); - list.add(dStack); - dStack = getToolWithStats(106, 1, Materials.Infinity, Materials.TungstenSteel, new long[]{6553600000L, GT_Values.V[9], 9L, -1L}); - setCharge(dStack,6553600000L); - list.add(dStack); + if (Loader.isModLoaded("dreamcraft")) { + dStack = getToolWithStats(104, 1, Materials.InfinityCatalyst, Materials.TungstenSteel, new long[]{1638400000L, GT_Values.V[8], 8L, -1L}); + setCharge(dStack, 1638400000L); + list.add(dStack); + dStack = getToolWithStats(106, 1, Materials.Infinity, Materials.TungstenSteel, new long[]{6553600000L, GT_Values.V[9], 9L, -1L}); + setCharge(dStack, 6553600000L); + list.add(dStack); + } else { + dStack = getToolWithStats(106, 1, Materials.Neutronium, Materials.TungstenSteel, new long[]{6553600000L, GT_Values.V[9], 9L, -1L}); + setCharge(dStack, 6553600000L); + list.add(dStack); + } } } diff --git a/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java b/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java index 57f5318571..c614a844f6 100644 --- a/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java +++ b/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java @@ -1,14 +1,11 @@ package com.detrav.items.behaviours; -import java.util.ArrayList; -import java.util.List; -import java.util.SplittableRandom; - import com.detrav.items.DetravMetaGeneratedTool01; import com.detrav.net.DetravNetwork; import com.detrav.net.DetravProPickPacket00; +import com.detrav.utils.BartWorksHelper; import com.detrav.utils.GTppHelper; - +import cpw.mods.fml.common.Loader; import gregtech.api.items.GT_MetaBase_Item; import gregtech.api.objects.ItemData; import gregtech.api.util.GT_LanguageManager; @@ -16,8 +13,6 @@ import gregtech.api.util.GT_OreDictUnificator; import gregtech.common.GT_UndergroundOil; import gregtech.common.blocks.GT_Block_Ores_Abstract; import gregtech.common.blocks.GT_TileEntity_Ores; -import gtPlusPlus.core.block.base.BlockBaseOre; -import gtPlusPlus.core.material.Material; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; @@ -25,11 +20,13 @@ import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ChatComponentText; -import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; import net.minecraft.world.chunk.Chunk; import net.minecraftforge.fluids.FluidStack; +import java.util.ArrayList; +import java.util.List; + /** * Created by wital_000 on 19.03.2016. */ @@ -92,56 +89,42 @@ public class BehaviourDetravToolElectricProPick extends BehaviourDetravToolProPi int ySize = c.getHeightValue(x, z);//(int)aPlayer.posY;//c.getHeightValue(x, z); for (int y = 1; y < ySize; y++) { switch (data) { - case 0: + case 0: case 1: - Block tBlock = c.getBlock(x,y,z); - short tMetaID = (short)c.getBlockMetadata(x,y,z); + Block tBlock = c.getBlock(x, y, z); + short tMetaID = (short) c.getBlockMetadata(x, y, z); if (tBlock instanceof GT_Block_Ores_Abstract) { - TileEntity tTileEntity = c.getTileEntityUnsafe(x,y,z); - if ((tTileEntity!=null) + TileEntity tTileEntity = c.getTileEntityUnsafe(x, y, z); + if ((tTileEntity != null) && (tTileEntity instanceof GT_TileEntity_Ores) && ((GT_TileEntity_Ores) tTileEntity).mNatural == true) { - tMetaID = (short)((GT_TileEntity_Ores) tTileEntity).getMetaData(); + tMetaID = (short) ((GT_TileEntity_Ores) tTileEntity).getMetaData(); try { String name = GT_LanguageManager.getTranslation( tBlock.getUnlocalizedName() + "." + tMetaID + ".name"); if (name.startsWith("Small")) if (data != 1) continue; packet.addBlock(c.xPosition * 16 + x, y, c.zPosition * 16 + z, tMetaID); - } - catch(Exception e) { + } catch (Exception e) { String name = tBlock.getUnlocalizedName() + "."; if (name.contains(".small.")) if (data != 1) continue; packet.addBlock(c.xPosition * 16 + x, y, c.zPosition * 16 + z, tMetaID); } } - } - else if (tBlock instanceof BlockBaseOre) { - Short packaged = 0; - Material m = ((BlockBaseOre) tBlock).getMaterialEx(); - packaged = GTppHelper.encodeoresGTpp.get(m); - try { - packet.addBlock(c.xPosition * 16 + x, y, c.zPosition * 16 + z, (short) (packaged+7000)); - } - catch(Exception e) { - - } - } - else if (data == 1) { + } else if (Loader.isModLoaded("miscutils") && GTppHelper.isGTppBlock(tBlock)) { + 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)) { + 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)); if ((tAssotiation != null) && (tAssotiation.mPrefix.toString().startsWith("ore"))) { - try { - packet.addBlock(c.xPosition * 16 + x, y, c.zPosition * 16 + z, (short)tAssotiation.mMaterial.mMaterial.mMetaItemSubID); - } - catch (Exception e) - { - - } + packet.addBlock(c.xPosition * 16 + x, y, c.zPosition * 16 + z, (short) tAssotiation.mMaterial.mMaterial.mMetaItemSubID); } } break; case 2: - if(( x == 0 ) || ( z == 0 )){ //Skip doing the locations with the grid on them. + if ((x == 0) || (z == 0)) { //Skip doing the locations with the grid on them. break; } FluidStack fStack = GT_UndergroundOil.undergroundOil(aWorld.getChunkFromBlockCoords(c.xPosition * 16 + x, c.zPosition * 16 + z), -1); @@ -160,8 +143,8 @@ public class BehaviourDetravToolElectricProPick extends BehaviourDetravToolProPi packet.addBlock(c.xPosition * 16 + x, 1, c.zPosition * 16 + z, (short) polution); break; } - if (data > 1) - break; + if (data > 1) + break; } } } diff --git a/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolProPick.java b/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolProPick.java index e9419e310e..4a8655360f 100644 --- a/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolProPick.java +++ b/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolProPick.java @@ -1,12 +1,10 @@ package com.detrav.items.behaviours; -import java.util.HashMap; -import java.util.Random; -import java.util.SplittableRandom; - import com.detrav.DetravScannerMod; import com.detrav.items.DetravMetaGeneratedTool01; - +import com.detrav.utils.BartWorksHelper; +import com.detrav.utils.GTppHelper; +import cpw.mods.fml.common.Loader; import gregtech.api.GregTech_API; import gregtech.api.enums.Materials; import gregtech.api.items.GT_MetaBase_Item; @@ -18,7 +16,6 @@ import gregtech.common.GT_UndergroundOil; import gregtech.common.blocks.GT_Block_Ores_Abstract; import gregtech.common.blocks.GT_TileEntity_Ores; import gregtech.common.items.behaviors.Behaviour_None; -import gtPlusPlus.core.block.base.BlockBaseOre; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; @@ -31,6 +28,9 @@ import net.minecraft.world.World; import net.minecraft.world.chunk.Chunk; import net.minecraftforge.fluids.FluidStack; +import java.util.HashMap; +import java.util.SplittableRandom; + /** * Created by wital_000 on 19.03.2016. */ @@ -216,10 +216,12 @@ public class BehaviourDetravToolProPick extends Behaviour_None { addOreToHashMap(name, aPlayer); } } - } else if (tBlock instanceof BlockBaseOre) { - String name = tBlock.getLocalizedName(); - addOreToHashMap(name, aPlayer); - + } else if (Loader.isModLoaded("miscutils") && GTppHelper.isGTppBlock(tBlock) ) { + String name = GTppHelper.getGTppVeinName(tBlock); + 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); } 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 ad92dd8932..52b8627944 100644 --- a/src/main/java/com/detrav/items/processing/ProcessingDetravToolProPick.java +++ b/src/main/java/com/detrav/items/processing/ProcessingDetravToolProPick.java @@ -13,6 +13,8 @@ import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraftforge.oredict.OreDictionary; +import static com.detrav.DetravScannerMod.DEBUGBUILD; + /** * Created by wital_000 on 18.03.2016. */ @@ -25,7 +27,8 @@ public class ProcessingDetravToolProPick implements gregtech.api.interfaces.IOre public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) { if(!aPrefix.doGenerateItem(aMaterial)) 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}); diff --git a/src/main/java/com/detrav/net/DetravProPickPacket00.java b/src/main/java/com/detrav/net/DetravProPickPacket00.java index 337fb0eddc..703ae581c4 100644 --- a/src/main/java/com/detrav/net/DetravProPickPacket00.java +++ b/src/main/java/com/detrav/net/DetravProPickPacket00.java @@ -4,6 +4,7 @@ import com.detrav.DetravScannerMod; import com.detrav.gui.DetravGuiProPick; import com.detrav.gui.textures.DetravMapTexture; import com.detrav.utils.GTppHelper; +import com.github.bartimaeusnek.bartworks.system.material.Werkstoff; import com.google.common.io.ByteArrayDataInput; import com.google.common.io.ByteArrayDataOutput; import com.google.common.io.ByteStreams; @@ -36,8 +37,47 @@ public class DetravProPickPacket00 extends DetravPacket { public int size; public int ptype; HashMap<Byte,Short>[][] map = null; - static HashMap<Integer, short[]> fluidColors = 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] ); + } +*/ + } + } + @Override public int getPacketID() { return 0; @@ -159,23 +199,38 @@ public class DetravProPickPacket00 extends DetravPacket { } catch (Exception e) { tMaterial = null; } - if (meta<7000||meta>7500) { - if (tMaterial == null) { - exception++; - continue; - } - rgba = tMaterial.getRGBA(); - //ores.put(GT_Ore) - name = tMaterial.getLocalizedNameForItem(GT_LanguageManager.getTranslation("gt.blockores." + meta + ".name")); - - raster.setSample(i, j, 0, rgba[0]); - raster.setSample(i, j, 1, rgba[1]); - 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))); + if ((meta > 0 && meta<7000) || meta>7500) { + if (tMaterial == null) { + exception++; + continue; + } + rgba = tMaterial.getRGBA(); + //ores.put(GT_Ore) + + name = getLocalizedNameForItem(tMaterial.mDefaultLocalName, GT_LanguageManager.getTranslation("gt.blockores." + meta + ".name")); + + raster.setSample(i, j, 0, rgba[0]); + raster.setSample(i, j, 1, rgba[1]); + 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))); } - else{ + else if (meta<=0){ + name = GT_LanguageManager.getTranslation("bw.blockores.01." + (meta*-1) + ".name"); + rgba = new short[]{0,0,0,0}; + try { + rgba = Werkstoff.werkstoffHashMap.get((short) (meta*-1)).getRGBA(); + //name = getLocalizedNameForItem(Werkstoff.werkstoffHashMap.get((short) (meta - 7250)).getDefaultName(),GT_LanguageManager.getTranslation("bw.blockores.01." + (meta-7250) + ".name")); + } catch (Exception e){ + } + raster.setSample(i, j, 0, rgba[0]); + raster.setSample(i, j, 1, rgba[1]); + 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))); + } else { if (pMaterial == null) { exception++; continue; @@ -191,7 +246,6 @@ 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))); } - } } if (playerI == i || playerJ == j) { @@ -207,41 +261,6 @@ public class DetravProPickPacket00 extends DetravPacket { } break; case 2: - 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} ); - -/* - 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] ); - } -*/ - } short[] metas = new short[2]; for (int i = 0; i < wh; i++) @@ -353,6 +372,9 @@ public class DetravProPickPacket00 extends DetravPacket { return ores; } + private static String getLocalizedNameForItem(String mDefaultLocalName, String aFormat) { + return String.format(aFormat.replace("%s", "%temp").replace("%material", "%s"), mDefaultLocalName).replace("%temp", "%s"); + } public int getSize() { return (size*2+1)*16; diff --git a/src/main/java/com/detrav/utils/BartWorksHelper.java b/src/main/java/com/detrav/utils/BartWorksHelper.java new file mode 100644 index 0000000000..5143571087 --- /dev/null +++ b/src/main/java/com/detrav/utils/BartWorksHelper.java @@ -0,0 +1,17 @@ +package com.detrav.utils; + +import com.github.bartimaeusnek.bartworks.system.material.BW_MetaGenerated_Ores; +import net.minecraft.block.Block; +import net.minecraft.world.chunk.Chunk; + +public class BartWorksHelper { + + public static boolean isOre(Block tBlock){ + return tBlock instanceof BW_MetaGenerated_Ores; + } + + 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 new file mode 100644 index 0000000000..d70a348fcc --- /dev/null +++ b/src/main/java/com/detrav/utils/FluidColors.java @@ -0,0 +1,85 @@ +package com.detrav.utils; + +import gregtech.api.enums.Materials; +import net.minecraftforge.fluids.FluidRegistry; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.SplittableRandom; + +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 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); + } + + } + } + } + + 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]; + + 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); + } + } + } + + /** + * + * @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. + } + + /** + * + * @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; + } +} diff --git a/src/main/java/com/detrav/utils/GTppHelper.java b/src/main/java/com/detrav/utils/GTppHelper.java index e3704671e4..bcd94466f2 100644 --- a/src/main/java/com/detrav/utils/GTppHelper.java +++ b/src/main/java/com/detrav/utils/GTppHelper.java @@ -1,10 +1,11 @@ package com.detrav.utils;
-import java.util.HashMap;
-
-import com.detrav.DetravScannerMod;
-
+import cpw.mods.fml.common.Loader;
+import gtPlusPlus.core.block.base.BlockBaseOre;
import gtPlusPlus.core.material.Material;
+import net.minecraft.block.Block;
+
+import java.util.HashMap;
/**
* Created by bartimaeusnek on 19.04.2018.
@@ -26,4 +27,18 @@ public class GTppHelper { }
}
+
+ public static boolean isGTppBlock(Block tBlock){
+ return tBlock instanceof BlockBaseOre;
+ }
+
+
+ public static short getGTppMeta(Block tBlock){
+ return (short) (GTppHelper.encodeoresGTpp.get(((BlockBaseOre) tBlock).getMaterialEx()) +7000);
+ }
+
+ public static String getGTppVeinName(Block tBlock){
+ return tBlock.getLocalizedName();
+ }
+
}
|