aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java')
-rw-r--r--src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java60
1 files changed, 36 insertions, 24 deletions
diff --git a/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java b/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java
index 1fe38299b8..977ac9bc9a 100644
--- a/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java
+++ b/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java
@@ -32,24 +32,30 @@ public class BehaviourDetravToolElectricProPick extends BehaviourDetravToolProPi
public ItemStack onItemRightClick(GT_MetaBase_Item aItem, ItemStack aStack, World aWorld, EntityPlayer aPlayer) {
if (!aWorld.isRemote) {
- long data = DetravMetaGeneratedTool01.INSTANCE.getToolGTDetravData(aStack);
+ int data = DetravMetaGeneratedTool01.INSTANCE.getToolGTDetravData(aStack).intValue();
//Проверяем если нажат шифт
if (aPlayer.isSneaking()) {
- switch ((int)data)
+ data++;
+ if(data>3) data = 0;
+ switch (data)
{
case 0:
- aPlayer.addChatMessage(new ChatComponentText("Set Mode: Ore (with small), Any Rock Block"));
- DetravMetaGeneratedTool01.INSTANCE.setToolGTDetravData(aStack, 1);
+ aPlayer.addChatMessage(new ChatComponentText("Set Mode: Ore, Any Rock Block"));
break;
case 1:
+ aPlayer.addChatMessage(new ChatComponentText("Set Mode: Ore (with small), Any Rock Block"));
+ break;
+ case 2:
aPlayer.addChatMessage(new ChatComponentText("Set Mode: Oil, Any Block"));
- DetravMetaGeneratedTool01.INSTANCE.setToolGTDetravData(aStack, 2);
+ break;
+ case 3:
+ aPlayer.addChatMessage(new ChatComponentText("Set Mode: Pollution, Any Block"));
break;
default:
- aPlayer.addChatMessage(new ChatComponentText("Set Mode: Ore, Any Rock Block"));
- DetravMetaGeneratedTool01.INSTANCE.setToolGTDetravData(aStack, 0);
+ aPlayer.addChatMessage(new ChatComponentText("Set Mode: ERROR"));
break;
}
+ DetravMetaGeneratedTool01.INSTANCE.setToolGTDetravData(aStack, (long)data);
return super.onItemRightClick(aItem, aStack, aWorld, aPlayer);
}
@@ -69,6 +75,7 @@ public class BehaviourDetravToolElectricProPick extends BehaviourDetravToolProPi
size = size - 1;
//c.gene
DetravProPickPacket00 packet = new DetravProPickPacket00();
+ packet.ptype = (int)data;
packet.chunkX = cX;
packet.chunkZ = cZ;
packet.size = size;
@@ -77,25 +84,30 @@ public class BehaviourDetravToolElectricProPick extends BehaviourDetravToolProPi
for (int z = 0; z < 16; z++) {
int ySize = c.getHeightValue(x, z);
for (int y = 1; y < ySize; y++) {
- if(data < 2) {
- Block b = c.getBlock(x, y, z);
- if (b == GregTech_API.sBlockOres1) {
- TileEntity entity = c.getTileEntityUnsafe(x, y, z);
- if (entity != null && entity instanceof GT_TileEntity_Ores) {
- GT_TileEntity_Ores gt_entity = (GT_TileEntity_Ores) entity;
- String name = GT_LanguageManager.getTranslation(
- b.getUnlocalizedName() + "." + gt_entity.getMetaData() + ".name");
- if (name.startsWith("Small")) if(data!=1) continue;
- packet.addBlock(c.xPosition * 16 + x, y, c.zPosition * 16 + z, gt_entity.getMetaData());
+ switch (data) {
+ case 0:
+ case 1:
+ Block b = c.getBlock(x, y, z);
+ if (b == GregTech_API.sBlockOres1) {
+ TileEntity entity = c.getTileEntityUnsafe(x, y, z);
+ if (entity != null && entity instanceof GT_TileEntity_Ores) {
+ GT_TileEntity_Ores gt_entity = (GT_TileEntity_Ores) entity;
+ String name = GT_LanguageManager.getTranslation(
+ b.getUnlocalizedName() + "." + gt_entity.getMetaData() + ".name");
+ if (name.startsWith("Small")) if (data != 1) continue;
+ packet.addBlock(c.xPosition * 16 + x, y, c.zPosition * 16 + z, gt_entity.getMetaData());
+ }
}
- }
- }
- else {
- FluidStack fStack = getUndergroundOil(aWorld, c.xPosition * 16 + x, c.zPosition * 16 + z);
- if (fStack.amount > 50000)
- packet.addBlock(c.xPosition * 16 + x, y, c.zPosition * 16 + z, (short)-fStack.getFluidID());
- break;
+ break;
+ 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, 1, c.zPosition * 16 + z, (short) fStack.getFluidID());
+ }
+ break;
}
+ if(data > 1 ) break;;
}
}
}