aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/detrav/net
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/detrav/net')
-rw-r--r--src/main/java/com/detrav/net/DetravProPickPacket00.java41
1 files changed, 36 insertions, 5 deletions
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) {