diff options
Diffstat (limited to 'src')
3 files changed, 45 insertions, 20 deletions
diff --git a/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java b/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java index cee11d7907..d14323139f 100644 --- a/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java +++ b/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java @@ -32,9 +32,9 @@ 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); //Проверяем если нажат шифт if (aPlayer.isSneaking()) { - long data = DetravMetaGeneratedTool01.INSTANCE.getToolGTDetravData(aStack); if (data == 0) { aPlayer.addChatMessage(new ChatComponentText("Set Mode: Oil, Any Block")); DetravMetaGeneratedTool01.INSTANCE.setToolGTDetravData(aStack, 1); @@ -69,17 +69,25 @@ 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++) { - 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")) continue; - packet.addBlock(c.xPosition * 16 + x, y, c.zPosition * 16 + z, gt_entity.getMetaData()); + if(data == 0) { + 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")) 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; + } } } } diff --git a/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolProPick.java b/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolProPick.java index 7b9987edbf..9e7a97752a 100644 --- a/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolProPick.java +++ b/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolProPick.java @@ -159,11 +159,12 @@ public class BehaviourDetravToolProPick extends Behaviour_None { 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 > 0 && tInts[0] >= 0) { + if(tInts.length > 0 && tInts[0] > 0) { tAmount = tInts[0]; } } tAmount -= 5; + return new FluidStack(tFluid, tAmount); } }
\ 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 d2e9ed57b6..f691896621 100644 --- a/src/main/java/com/detrav/net/DetravProPickPacket00.java +++ b/src/main/java/com/detrav/net/DetravProPickPacket00.java @@ -127,15 +127,31 @@ public class DetravProPickPacket00 extends DetravPacket { else { for(short meta : map[i][j].values()) { - //Пока только по одному буду - Materials tMaterial = GregTech_API.sGeneratedMaterials[meta% 1000]; - short[] rgba = tMaterial.getRGBA(); - 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); - //ores.put(GT_Ore) - String name = GT_LanguageManager.getTranslation("gt.blockores." + meta + ".name"); + String name; + short[] rgba; + if(meta>=0) { + //Пока только по одному буду + Materials tMaterial = GregTech_API.sGeneratedMaterials[meta % 1000]; + rgba = tMaterial.getRGBA(); + //ores.put(GT_Ore) + name = GT_LanguageManager.getTranslation("gt.blockores." + meta + ".name"); + } + else + { + name = String.valueOf(meta); + rgba = new short[4]; + rgba[0] =(short)( 255/(-meta + 1)); + rgba[1] =(short)( 255/(-meta + 1)); + rgba[2] =(short)( 255/(-meta + 1)); + rgba[3] =(short)( 255 ); + + + } + + 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))); } |