aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMartin Robertz <dream-master@gmx.net>2018-04-19 14:02:37 +0700
committerGitHub <noreply@github.com>2018-04-19 14:02:37 +0700
commit8402a963ffff0fa50849ccae1c02b0b5c58a4ef3 (patch)
treec7f0dd7c4e1b5c6160574841e561000bda631d17 /src/main/java
parent8ddc3e4235331be0e4098d46a7d930b0af07bcac (diff)
parent0ed83509fa9f56fc46d32def112391a4b2ae1017 (diff)
downloadGT5-Unofficial-8402a963ffff0fa50849ccae1c02b0b5c58a4ef3.tar.gz
GT5-Unofficial-8402a963ffff0fa50849ccae1c02b0b5c58a4ef3.tar.bz2
GT5-Unofficial-8402a963ffff0fa50849ccae1c02b0b5c58a4ef3.zip
Merge pull request #6 from bartimaeusnek/master
GT++ Ores
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/com/detrav/DetravScannerMod.java15
-rw-r--r--src/main/java/com/detrav/gui/DetravGuiProPick.java14
-rw-r--r--src/main/java/com/detrav/gui/textures/DetravMapTexture.java10
-rw-r--r--src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java32
-rw-r--r--src/main/java/com/detrav/items/behaviours/BehaviourDetravToolProPick.java17
-rw-r--r--src/main/java/com/detrav/net/DetravProPickPacket00.java41
-rw-r--r--src/main/java/com/detrav/utils/GTppHelper.java29
7 files changed, 129 insertions, 29 deletions
diff --git a/src/main/java/com/detrav/DetravScannerMod.java b/src/main/java/com/detrav/DetravScannerMod.java
index a74e435141..61b662ef27 100644
--- a/src/main/java/com/detrav/DetravScannerMod.java
+++ b/src/main/java/com/detrav/DetravScannerMod.java
@@ -1,8 +1,13 @@
package com.detrav;
+import org.apache.logging.log4j.LogManager;
+
+import com.detrav.net.DetravNetwork;
import com.detrav.proxies.CommonProxy;
import com.detrav.utils.DetravCreativeTab;
-import com.detrav.net.DetravNetwork;
+import com.detrav.utils.GTppHelper;
+
+import cpw.mods.fml.common.Loader;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.SidedProxy;
@@ -14,14 +19,16 @@ 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")
+@Mod(modid = DetravScannerMod.MODID, version = DetravScannerMod.VERSION,dependencies = "required-after:IC2;required-after:gregtech;after:miscutils")
public class DetravScannerMod
{
public static final String MODID = "detravscannermod";
- public static final String VERSION = "1.3";
+ public static final String VERSION = "1.4.2";
public static final CreativeTabs TAB_DETRAV = new DetravCreativeTab();
+ public static final org.apache.logging.log4j.Logger Logger = LogManager.getLogger("GT Scanner Mod");
+
@SidedProxy(clientSide = "com.detrav.proxies.ClientProxy", serverSide = "com.detrav.proxies.ServerProxy")
public static CommonProxy proxy;
@@ -64,6 +71,8 @@ public class DetravScannerMod
@EventHandler
public void onPostLoad(FMLPostInitializationEvent aEvent) {
proxy.onPostLoad();
+ if (Loader.isModLoaded("miscutils"))
+ GTppHelper.generate_OreIDs();
}
}
diff --git a/src/main/java/com/detrav/gui/DetravGuiProPick.java b/src/main/java/com/detrav/gui/DetravGuiProPick.java
index 9c95fa13cd..b62be499fe 100644
--- a/src/main/java/com/detrav/gui/DetravGuiProPick.java
+++ b/src/main/java/com/detrav/gui/DetravGuiProPick.java
@@ -1,16 +1,18 @@
package com.detrav.gui;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+
+import org.lwjgl.opengl.GL11;
+
import com.detrav.gui.textures.DetravMapTexture;
+
import cpw.mods.fml.client.GuiScrollingList;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.util.ResourceLocation;
-import org.lwjgl.opengl.GL11;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
/**
* Created by wital_000 on 21.03.2016.
diff --git a/src/main/java/com/detrav/gui/textures/DetravMapTexture.java b/src/main/java/com/detrav/gui/textures/DetravMapTexture.java
index 7696e67d43..58d69260ce 100644
--- a/src/main/java/com/detrav/gui/textures/DetravMapTexture.java
+++ b/src/main/java/com/detrav/gui/textures/DetravMapTexture.java
@@ -1,15 +1,17 @@
package com.detrav.gui.textures;
+import java.awt.image.BufferedImage;
+import java.util.HashMap;
+
+import org.lwjgl.opengl.GL11;
+
import com.detrav.net.DetravProPickPacket00;
+
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.texture.AbstractTexture;
import net.minecraft.client.renderer.texture.TextureUtil;
import net.minecraft.client.resources.IResourceManager;
-import org.lwjgl.opengl.GL11;
-
-import java.awt.image.BufferedImage;
-import java.util.HashMap;
/**
* Created by wital_000 on 21.03.2016.
diff --git a/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java b/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java
index 70b5296e00..3a588aa74f 100644
--- a/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java
+++ b/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java
@@ -1,8 +1,15 @@
package com.detrav.items.behaviours;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Random;
+
+import com.detrav.DetravScannerMod;
import com.detrav.items.DetravMetaGeneratedTool01;
import com.detrav.net.DetravNetwork;
import com.detrav.net.DetravProPickPacket00;
+import com.detrav.utils.GTppHelper;
+
import gregtech.api.items.GT_MetaBase_Item;
import gregtech.api.objects.ItemData;
import gregtech.api.util.GT_LanguageManager;
@@ -10,6 +17,8 @@ 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;
@@ -21,10 +30,6 @@ import net.minecraft.world.World;
import net.minecraft.world.chunk.Chunk;
import net.minecraftforge.fluids.FluidStack;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Random;
-
/**
* Created by wital_000 on 19.03.2016.
*/
@@ -34,8 +39,7 @@ public class BehaviourDetravToolElectricProPick extends BehaviourDetravToolProPi
super(aCosts);
}
- public ItemStack onItemRightClick(GT_MetaBase_Item aItem, ItemStack aStack, World aWorld, EntityPlayer aPlayer) {
-
+ public ItemStack onItemRightClick(GT_MetaBase_Item aItem, ItemStack aStack, World aWorld, EntityPlayer aPlayer) {
if (!aWorld.isRemote) {
int data = DetravMetaGeneratedTool01.INSTANCE.getToolGTDetravData(aStack).intValue();
if (aPlayer.isSneaking()) {
@@ -88,7 +92,7 @@ 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);
@@ -112,6 +116,17 @@ public class BehaviourDetravToolElectricProPick extends BehaviourDetravToolProPi
}
}
}
+ 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) {
ItemData tAssotiation = GT_OreDictUnificator.getAssociation(new ItemStack(tBlock, 1, tMetaID));
if ((tAssotiation != null) && (tAssotiation.mPrefix.toString().startsWith("ore"))) {
@@ -142,7 +157,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 c4a12e42bd..5dd8ddd55d 100644
--- a/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolProPick.java
+++ b/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolProPick.java
@@ -1,6 +1,10 @@
package com.detrav.items.behaviours;
+import java.util.HashMap;
+import java.util.Random;
+
import com.detrav.items.DetravMetaGeneratedTool01;
+
import gregtech.api.GregTech_API;
import gregtech.api.enums.Materials;
import gregtech.api.items.GT_MetaBase_Item;
@@ -12,6 +16,7 @@ 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;
@@ -23,9 +28,6 @@ import net.minecraft.world.World;
import net.minecraft.world.chunk.Chunk;
import net.minecraftforge.fluids.FluidStack;
-import java.util.HashMap;
-import java.util.Random;
-
/**
* Created by wital_000 on 19.03.2016.
*/
@@ -137,6 +139,15 @@ public class BehaviourDetravToolProPick extends Behaviour_None {
}
}
}
+ } else if (tBlock instanceof BlockBaseOre) {
+ String name = tBlock.getLocalizedName();
+ if (!ores.containsKey(name))
+ ores.put(name, 1);
+ else {
+ int val = ores.get(name);
+ ores.put(name, val + 1);
+ }
+
} 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/net/DetravProPickPacket00.java b/src/main/java/com/detrav/net/DetravProPickPacket00.java
index 385ad71e95..1631e98dc3 100644
--- a/src/main/java/com/detrav/net/DetravProPickPacket00.java
+++ b/src/main/java/com/detrav/net/DetravProPickPacket00.java
@@ -3,15 +3,19 @@ package com.detrav.net;
import com.detrav.DetravScannerMod;
import com.detrav.gui.DetravGuiProPick;
import com.detrav.gui.textures.DetravMapTexture;
+import com.detrav.utils.GTppHelper;
import com.google.common.io.ByteArrayDataInput;
import com.google.common.io.ByteArrayDataOutput;
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 java.awt.image.BufferedImage;
import java.awt.image.WritableRaster;
+import java.lang.reflect.Field;
import java.util.HashMap;
@@ -24,7 +28,7 @@ public class DetravProPickPacket00 extends DetravPacket {
public int size;
public int ptype;
HashMap<Byte,Short>[][] map = null;
-
+
@Override
public int getPacketID() {
return 0;
@@ -96,10 +100,12 @@ public class DetravProPickPacket00 extends DetravPacket {
}
public void addBlock(int x, int y, int z, short metaData) {
- if(map == null) map = new HashMap[(size*2+1)*16][(size*2+1)*16];
+ if(map == null)
+ map = new HashMap[(size*2+1)*16][(size*2+1)*16];
int aX = x - (chunkX-size)*16;
int aZ = z - (chunkZ-size)*16;
- if(map[aX][aZ] == null) map[aX][aZ] = new HashMap<Byte, Short>();
+ if(map[aX][aZ] == null)
+ map[aX][aZ] = new HashMap<Byte, Short>();
map[aX][aZ].put((byte)y,metaData);
//String key = String.format(("x_y"))
}
@@ -133,11 +139,18 @@ public class DetravProPickPacket00 extends DetravPacket {
String name;
short[] rgba;
Materials tMaterial = null;
+ gtPlusPlus.core.material.Material pMaterial = null;
try {
- tMaterial = GregTech_API.sGeneratedMaterials[meta % 1000];
+ if (meta<7000||meta>7500) {
+ tMaterial = GregTech_API.sGeneratedMaterials[meta % 1000];
+ } else {
+ Short l = (short) (meta-7000);
+ pMaterial = GTppHelper.decodeoresGTpp.get(l);
+ }
} catch (Exception e) {
tMaterial = null;
}
+ if (meta<7000||meta>7500) {
if (tMaterial == null) {
exception++;
continue;
@@ -145,13 +158,31 @@ public class DetravProPickPacket00 extends DetravPacket {
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)));
+ }
+ else{
+ if (pMaterial == null) {
+ exception++;
+ continue;
+ }
+ rgba = pMaterial.getRGBA();
+ //ores.put(GT_Ore)
+ name = pMaterial.getLocalizedName() + " Ore";
+
+ 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 (playerI == i || playerJ == j) {
diff --git a/src/main/java/com/detrav/utils/GTppHelper.java b/src/main/java/com/detrav/utils/GTppHelper.java
new file mode 100644
index 0000000000..e3704671e4
--- /dev/null
+++ b/src/main/java/com/detrav/utils/GTppHelper.java
@@ -0,0 +1,29 @@
+package com.detrav.utils;
+
+import java.util.HashMap;
+
+import com.detrav.DetravScannerMod;
+
+import gtPlusPlus.core.material.Material;
+
+/**
+ * Created by bartimaeusnek on 19.04.2018.
+ */
+public class GTppHelper {
+ public static HashMap<Short,Material> decodeoresGTpp = new HashMap<Short,Material>();
+ public static HashMap<Material,Short> encodeoresGTpp = new HashMap<Material,Short>();
+
+ public static void generate_OreIDs() {
+ for (short n=0;n<gtPlusPlus.core.material.ORES.class.getFields().length;++n) {
+ try {
+ Short i = (short) (n+1);
+ Material m = ((Material)gtPlusPlus.core.material.ORES.class.getFields()[n].get(gtPlusPlus.core.material.ORES.class.getFields()[n]));
+ decodeoresGTpp.put(i,m);
+ encodeoresGTpp.put(m,i);
+ } catch (Exception e) {
+ }
+
+ }
+ }
+
+}