aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com>2019-04-07 16:03:30 +0200
committerbartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com>2019-04-07 16:03:30 +0200
commit590a9381508f0669913ea54aac8a39868110a6b5 (patch)
treeb55443332efa579fdff1ada404c1bdf5f7259ed9
parentd3bf79af47974acc0648f85eb112580dd089b25f (diff)
downloadGT5-Unofficial-590a9381508f0669913ea54aac8a39868110a6b5.tar.gz
GT5-Unofficial-590a9381508f0669913ea54aac8a39868110a6b5.tar.bz2
GT5-Unofficial-590a9381508f0669913ea54aac8a39868110a6b5.zip
refractored code
+added bartworks integration
-rw-r--r--.gitignore2
-rw-r--r--build.gradle50
-rw-r--r--build.properties2
-rw-r--r--gradle/wrapper/gradle-wrapper.jarbin0 -> 51017 bytes
-rw-r--r--gradle/wrapper/gradle-wrapper.properties6
-rw-r--r--src/main/java/com/detrav/DetravScannerMod.java7
-rw-r--r--src/main/java/com/detrav/items/DetravMetaGeneratedTool01.java75
-rw-r--r--src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java61
-rw-r--r--src/main/java/com/detrav/items/behaviours/BehaviourDetravToolProPick.java22
-rw-r--r--src/main/java/com/detrav/items/processing/ProcessingDetravToolProPick.java5
-rw-r--r--src/main/java/com/detrav/net/DetravProPickPacket00.java130
-rw-r--r--src/main/java/com/detrav/utils/BartWorksHelper.java17
-rw-r--r--src/main/java/com/detrav/utils/FluidColors.java85
-rw-r--r--src/main/java/com/detrav/utils/GTppHelper.java23
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
new file mode 100644
index 0000000000..b761216703
--- /dev/null
+++ b/gradle/wrapper/gradle-wrapper.jar
Binary files differ
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();
+ }
+
}