aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorDetrav <witalyezep@gmail.com>2016-10-08 13:13:22 +0300
committerDetrav <witalyezep@gmail.com>2016-10-08 13:13:22 +0300
commitaa0dd303d62e07d7e85d4968c99d690ece462990 (patch)
treee4f57f9f56dafe6126b7499a4dd975a52f5acb74 /src/main/java
parent4de7488fccd683d09060e92216d1d11e87430450 (diff)
downloadGT5-Unofficial-aa0dd303d62e07d7e85d4968c99d690ece462990.tar.gz
GT5-Unofficial-aa0dd303d62e07d7e85d4968c99d690ece462990.tar.bz2
GT5-Unofficial-aa0dd303d62e07d7e85d4968c99d690ece462990.zip
Added pollution to scanner
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java37
-rw-r--r--src/main/java/com/detrav/items/behaviours/BehaviourDetravToolProPick.java12
-rw-r--r--src/main/java/com/detrav/net/DetravProPickPacket00.java30
3 files changed, 68 insertions, 11 deletions
diff --git a/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java b/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java
index 977ac9bc9a..e9af5dfce2 100644
--- a/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java
+++ b/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java
@@ -6,6 +6,7 @@ import com.detrav.net.DetravProPickPacket00;
import gregtech.api.GregTech_API;
import gregtech.api.items.GT_MetaBase_Item;
import gregtech.api.util.GT_LanguageManager;
+import gregtech.api.util.GT_Utility;
import gregtech.common.blocks.GT_TileEntity_Ores;
import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
@@ -36,9 +37,8 @@ public class BehaviourDetravToolElectricProPick extends BehaviourDetravToolProPi
//Проверяем если нажат шифт
if (aPlayer.isSneaking()) {
data++;
- if(data>3) data = 0;
- switch (data)
- {
+ if (data > 3) data = 0;
+ switch (data) {
case 0:
aPlayer.addChatMessage(new ChatComponentText("Set Mode: Ore, Any Rock Block"));
break;
@@ -55,7 +55,7 @@ public class BehaviourDetravToolElectricProPick extends BehaviourDetravToolProPi
aPlayer.addChatMessage(new ChatComponentText("Set Mode: ERROR"));
break;
}
- DetravMetaGeneratedTool01.INSTANCE.setToolGTDetravData(aStack, (long)data);
+ DetravMetaGeneratedTool01.INSTANCE.setToolGTDetravData(aStack, (long) data);
return super.onItemRightClick(aItem, aStack, aWorld, aPlayer);
}
@@ -75,7 +75,7 @@ public class BehaviourDetravToolElectricProPick extends BehaviourDetravToolProPi
size = size - 1;
//c.gene
DetravProPickPacket00 packet = new DetravProPickPacket00();
- packet.ptype = (int)data;
+ packet.ptype = (int) data;
packet.chunkX = cX;
packet.chunkZ = cZ;
packet.size = size;
@@ -102,12 +102,21 @@ public class BehaviourDetravToolElectricProPick extends BehaviourDetravToolProPi
case 2:
FluidStack fStack = getUndergroundOil(aWorld, c.xPosition * 16 + x, c.zPosition * 16 + z);
if (fStack.amount > 10000) {
- packet.addBlock(c.xPosition * 16 + x, 2, c.zPosition * 16 + z, (short) (fStack.amount/5000));
+ packet.addBlock(c.xPosition * 16 + x, 2, c.zPosition * 16 + z, (short) (fStack.amount / 5000));
packet.addBlock(c.xPosition * 16 + x, 1, c.zPosition * 16 + z, (short) fStack.getFluidID());
}
break;
+ case 3:
+ float polution = (float) getPolution(aWorld, c.xPosition * 16 + x, c.zPosition * 16 + z);
+ polution /= 2000000;
+ polution *= -0xFF;
+ if (polution > 0xFF)
+ polution = 0xFF;
+ polution = 0xFF - polution;
+ packet.addBlock(c.xPosition * 16 + x, 1, c.zPosition * 16 + z, (short) polution);
+ break;
}
- if(data > 1 ) break;;
+ if (data > 1) break;
}
}
}
@@ -132,11 +141,17 @@ public class BehaviourDetravToolElectricProPick extends BehaviourDetravToolProPi
long data = DetravMetaGeneratedTool01.INSTANCE.getToolGTDetravData(aStack);
if (data < 2)
return super.onItemUse(aItem, aStack, aPlayer, aWorld, aX, aY, aZ, aSide, hitX, hitY, hitZ);
+ if (data < 3)
+ if (!aWorld.isRemote) {
+ FluidStack fStack = getUndergroundOil(aWorld, aX, aZ);
+ addChatMassageByValue(aPlayer, fStack.amount / 5000, fStack.getLocalizedName());
+ if (!aPlayer.capabilities.isCreativeMode)
+ ((DetravMetaGeneratedTool01) aItem).doDamage(aStack, this.mCosts);
+ return true;
+ }
if (!aWorld.isRemote) {
- FluidStack fStack = getUndergroundOil(aWorld,aX,aZ);
- addChatMassageByValue(aPlayer,fStack.amount/5000,fStack.getLocalizedName());
- if (!aPlayer.capabilities.isCreativeMode)
- ((DetravMetaGeneratedTool01)aItem).doDamage(aStack, this.mCosts);
+ int polution = getPolution(aWorld, aX, aZ);
+ addChatMassageByValue(aPlayer, polution, "Pollution");
}
return true;
}
diff --git a/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolProPick.java b/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolProPick.java
index 90655483cd..e1906fc5a3 100644
--- a/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolProPick.java
+++ b/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolProPick.java
@@ -172,4 +172,16 @@ public class BehaviourDetravToolProPick extends Behaviour_None {
return new FluidStack(tFluid, tAmount);
}
+
+ public static int getPolution(World aWorld, int aX, int aZ)
+ {
+ ChunkPosition tPos = new ChunkPosition(aX / 16, 1, aZ / 16);
+ if(GT_Proxy.chunkData.containsKey(tPos)) {
+ int[] tInts = (int[])GT_Proxy.chunkData.get(tPos);
+ if(tInts.length > 1 && tInts[1] > 0) {
+ return tInts[1];
+ }
+ }
+ return 0;
+ }
} \ No newline at end of file
diff --git a/src/main/java/com/detrav/net/DetravProPickPacket00.java b/src/main/java/com/detrav/net/DetravProPickPacket00.java
index a46e9d9f4d..07fcb0f64c 100644
--- a/src/main/java/com/detrav/net/DetravProPickPacket00.java
+++ b/src/main/java/com/detrav/net/DetravProPickPacket00.java
@@ -237,10 +237,40 @@ public class DetravProPickPacket00 extends DetravPacket {
}
}
break;
+ case 3:
+ ores.put("Pollution", (0xFF << 24) + ((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) {
+ raster.setSample(i, j, 0, 255);
+ raster.setSample(i, j, 1, 255);
+ raster.setSample(i, j, 2, 255);
+ raster.setSample(i, j, 3, 255);
+ } else {
+ for (short meta : map[i][j].values()) {
+ raster.setSample(i, j, 0, meta);
+ raster.setSample(i, j, 1, meta);
+ raster.setSample(i, j, 2, meta);
+ raster.setSample(i, j, 3, 255);
+ }
+ }
+ if (playerI == i || playerJ == j) {
+ raster.setSample(i, j, 0, (raster.getSample(i, j, 0) + 255) / 2);
+ raster.setSample(i, j, 1, raster.getSample(i, j, 1) / 2);
+ raster.setSample(i, j, 2, raster.getSample(i, j, 2) / 2);
+ }
+ if ((i - 15) % 16 == 0 || (j - 15) % 16 == 0) {
+ raster.setSample(i, j, 0, raster.getSample(i, j, 0) / 2);
+ raster.setSample(i, j, 1, raster.getSample(i, j, 1) / 2);
+ raster.setSample(i, j, 2, raster.getSample(i, j, 2) / 2);
+ }
+ }
+ break;
default:
DetravScannerMod.proxy.sendPlayerExeption("Not been realized YET!");
break;
}
+ if(exception > 0)
DetravScannerMod.proxy.sendPlayerExeption("null matertial exception: " + exception);
/*try {
File outputfile = new File("saved.png");