From 811644f90a7850febcb0679ba8c5a35e80027650 Mon Sep 17 00:00:00 2001 From: Maxime Legkiy Date: Mon, 6 Feb 2017 17:53:03 +0300 Subject: Fix bug > Oil Teleportation to GC Planets #837 --- .../machines/basic/GT_MetaTileEntity_AdvSeismicProspector.java | 5 +++-- .../tileentities/machines/multi/GT_MetaTileEntity_OilDrill.java | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'src/main/java/gregtech/common') diff --git a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_AdvSeismicProspector.java b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_AdvSeismicProspector.java index bf58418246..e975242cc3 100644 --- a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_AdvSeismicProspector.java +++ b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_AdvSeismicProspector.java @@ -149,8 +149,9 @@ public class GT_MetaTileEntity_AdvSeismicProspector extends GT_MetaTileEntity_Ba private void putOil(int x, int z, HashMap aOils) { FluidStack tFluid = GT_Utility.getUndergroundOil(getBaseMetaTileEntity().getWorld(), x, z); - if (tFluid.amount / 5000 > 0) - aOils.put(x + "," + z + "," + (tFluid.amount / 5000) + "," + tFluid.getLocalizedName(), tFluid.amount / 5000); + if (tFluid != null) + if (tFluid.amount / 5000 > 0) + aOils.put(x + "," + z + "," + (tFluid.amount / 5000) + "," + tFluid.getLocalizedName(), tFluid.amount / 5000); } private void prospectOres(Map aNearOres, Map aMiddleOres, Map aFarOres) { diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilDrill.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilDrill.java index eef57f9059..60863e4c52 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilDrill.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilDrill.java @@ -75,6 +75,7 @@ public class GT_MetaTileEntity_OilDrill extends GT_MetaTileEntity_MultiBlockBase } FluidStack tFluid = GT_Utility.getUndergroundOil(getBaseMetaTileEntity().getWorld(), getBaseMetaTileEntity().getXCoord(), getBaseMetaTileEntity().getZCoord(), true); if (tFluid == null) { + stopMachine(); return false; } if (getYOfPumpHead() > 0 && getBaseMetaTileEntity().getBlockOffset(ForgeDirection.getOrientation(getBaseMetaTileEntity().getBackFacing()).offsetX, getYOfPumpHead() - 1 - getBaseMetaTileEntity().getYCoord(), ForgeDirection.getOrientation(getBaseMetaTileEntity().getBackFacing()).offsetZ) != Blocks.bedrock) { -- cgit From d703850358840a58ec334ec8e7ec3711984d7bce Mon Sep 17 00:00:00 2001 From: Maxime Legkiy Date: Tue, 7 Feb 2017 02:44:31 +0300 Subject: Add UndergroundOil Settings --- src/main/java/gregtech/common/GT_Proxy.java | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/main/java/gregtech/common') diff --git a/src/main/java/gregtech/common/GT_Proxy.java b/src/main/java/gregtech/common/GT_Proxy.java index 49917dd7f8..9f1a973b25 100644 --- a/src/main/java/gregtech/common/GT_Proxy.java +++ b/src/main/java/gregtech/common/GT_Proxy.java @@ -165,6 +165,8 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler { public boolean mHideUnusedOres = true; public boolean mHideRecyclingRecipes = true; public boolean mPollution = true; + public boolean mUndergroundOilOverworld = true; + public boolean mUndergroundOilInRealDimension = true; public boolean mExplosionItemDrop = false; public int mSkeletonsShootGTArrows = 16; public int mMaxEqualEntitiesAtOneSpot = 3; @@ -179,6 +181,7 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler { public int mPollutionPoisonLimit = 750000; public int mPollutionVegetationLimit = 1000000; public int mPollutionSourRainLimit = 2000000; + public int mUndergroundOilMaxAmount = 50; public int mTicksUntilNextCraftSound = 0; public double mMagneticraftBonusOutputPercent = 100.0d; private World mUniverse = null; -- cgit From d3a72491b49f0aeb5ec8512c919e81846936f5b5 Mon Sep 17 00:00:00 2001 From: Maxime Legkiy Date: Tue, 7 Feb 2017 04:47:52 +0300 Subject: Add support Save/Load Dimensions Data --- src/main/java/gregtech/common/GT_Proxy.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/main/java/gregtech/common') diff --git a/src/main/java/gregtech/common/GT_Proxy.java b/src/main/java/gregtech/common/GT_Proxy.java index 9f1a973b25..1680fb50c3 100644 --- a/src/main/java/gregtech/common/GT_Proxy.java +++ b/src/main/java/gregtech/common/GT_Proxy.java @@ -1702,7 +1702,7 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler { @SubscribeEvent public void handleChunkSaveEvent(ChunkDataEvent.Save event) { - ChunkPosition tPos = new ChunkPosition(event.getChunk().xPosition,1,event.getChunk().zPosition); + ChunkPosition tPos = new ChunkPosition(event.getChunk().xPosition,event.getChunk().worldObj.provider.dimensionId+1,event.getChunk().zPosition); if(chunkData.containsKey(tPos)){ int[] tInts = chunkData.get(tPos); if(tInts.length>0){event.getData().setInteger("GTOIL", tInts[0]);} @@ -1715,7 +1715,7 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler { int tOil = 0; int tPollution = 0; - ChunkPosition tPos = new ChunkPosition(event.getChunk().xPosition,1,event.getChunk().zPosition); + ChunkPosition tPos = new ChunkPosition(event.getChunk().xPosition,event.getChunk().worldObj.provider.dimensionId+1,event.getChunk().zPosition); int[] tData = new int[2]; if(chunkData.containsKey(tPos)){ tData = chunkData.get(tPos); -- cgit From 6567820a9b2dde53ccf92697857135caef1aff7e Mon Sep 17 00:00:00 2001 From: Maxime Legkiy Date: Tue, 7 Feb 2017 13:34:31 +0300 Subject: Fix generating Pollution in to other worlds --- src/main/java/gregtech/common/GT_Pollution.java | 13 ++++++++++--- .../boilers/GT_MetaTileEntity_Boiler_Bronze.java | 2 +- .../tileentities/boilers/GT_MetaTileEntity_Boiler_Lava.java | 2 +- .../boilers/GT_MetaTileEntity_Boiler_Steel.java | 2 +- .../multi/GT_MetaTileEntity_BronzeBlastFurnace.java | 2 +- .../machines/multi/GT_MetaTileEntity_Charcoal_Pit.java | 2 +- 6 files changed, 15 insertions(+), 8 deletions(-) (limited to 'src/main/java/gregtech/common') diff --git a/src/main/java/gregtech/common/GT_Pollution.java b/src/main/java/gregtech/common/GT_Pollution.java index 25b7521721..0c21e1ec6a 100644 --- a/src/main/java/gregtech/common/GT_Pollution.java +++ b/src/main/java/gregtech/common/GT_Pollution.java @@ -9,6 +9,7 @@ import net.minecraft.entity.EntityLivingBase; import net.minecraft.init.Blocks; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; +import net.minecraft.server.MinecraftServer; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.ChunkPosition; import net.minecraft.world.World; @@ -187,12 +188,18 @@ public class GT_Pollution { else if(tBlock == Blocks.gravel){world.setBlock(x, y, z, Blocks.sand); } } } - + + //Backward compatibility (NOT USE) public static void addPollution(ChunkPosition aPos, int aPollution){ + addPollution(MinecraftServer.getServer().worldServerForDimension(0), aPos, aPollution); + } + + //Add aWorld to Save Pollution + public static void addPollution(World aWorld, ChunkPosition aPos, int aPollution){ if(!GT_Mod.gregtechproxy.mPollution)return; try{ - ChunkPosition tPos = new ChunkPosition(aPos.chunkPosX>>4, 1, aPos.chunkPosZ>>4); -// System.out.println("add pollution x: "+ tPos.chunkPosX +" z: " + tPos.chunkPosZ +" poll: "+aPollution); + ChunkPosition tPos = new ChunkPosition(GT_Utility.getScaleСoordinates(aPos.chunkPosX,16), aWorld.provider.dimensionId + 1, GT_Utility.getScaleСoordinates(aPos.chunkPosZ,16)); // OLD in coordinate -1 -1 chunk 0 0 +// System.out.println("add pollution dim: "+aWorld.provider.dimensionId+" x: "+ tPos.chunkPosX +" z: " + tPos.chunkPosZ +" poll: "+aPollution); int[] tData = new int[2]; if(GT_Proxy.chunkData.containsKey(tPos)){ tData = GT_Proxy.chunkData.get(tPos); diff --git a/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Bronze.java b/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Bronze.java index 776f71761e..5c6fdeeb33 100644 --- a/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Bronze.java +++ b/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Bronze.java @@ -141,7 +141,7 @@ public class GT_MetaTileEntity_Boiler_Bronze this.mTemperature += 1; } if(this.mProcessingEnergy>0 && (aTick % 20L == 0L)){ - GT_Pollution.addPollution(new ChunkPosition(this.getBaseMetaTileEntity().getXCoord(), this.getBaseMetaTileEntity().getYCoord(), this.getBaseMetaTileEntity().getZCoord()), 20); + GT_Pollution.addPollution(this.getBaseMetaTileEntity().getWorld(), new ChunkPosition(this.getBaseMetaTileEntity().getXCoord(), this.getBaseMetaTileEntity().getYCoord(), this.getBaseMetaTileEntity().getZCoord()), 20); } aBaseMetaTileEntity.setActive(this.mProcessingEnergy > 0); } diff --git a/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Lava.java b/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Lava.java index 8480b03733..2806cbc943 100644 --- a/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Lava.java +++ b/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Lava.java @@ -120,7 +120,7 @@ public class GT_MetaTileEntity_Boiler_Lava } if(this.mProcessingEnergy>0 && (aTick % 20L == 0L)){ - GT_Pollution.addPollution(new ChunkPosition(this.getBaseMetaTileEntity().getXCoord(), this.getBaseMetaTileEntity().getYCoord(), this.getBaseMetaTileEntity().getZCoord()), 20); + GT_Pollution.addPollution(this.getBaseMetaTileEntity().getWorld(), new ChunkPosition(this.getBaseMetaTileEntity().getXCoord(), this.getBaseMetaTileEntity().getYCoord(), this.getBaseMetaTileEntity().getZCoord()), 20); } aBaseMetaTileEntity.setActive(this.mProcessingEnergy > 0); } diff --git a/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Steel.java b/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Steel.java index 4016e7be35..c5ad432ad7 100644 --- a/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Steel.java +++ b/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Steel.java @@ -146,7 +146,7 @@ public class GT_MetaTileEntity_Boiler_Steel this.mTemperature += 1; } if(this.mProcessingEnergy>0 && (aTick % 20L == 0L)){ - GT_Pollution.addPollution(new ChunkPosition(this.getBaseMetaTileEntity().getXCoord(), this.getBaseMetaTileEntity().getYCoord(), this.getBaseMetaTileEntity().getZCoord()), 20); + GT_Pollution.addPollution(this.getBaseMetaTileEntity().getWorld(), new ChunkPosition(this.getBaseMetaTileEntity().getXCoord(), this.getBaseMetaTileEntity().getYCoord(), this.getBaseMetaTileEntity().getZCoord()), 20); } aBaseMetaTileEntity.setActive(this.mProcessingEnergy > 0); } diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_BronzeBlastFurnace.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_BronzeBlastFurnace.java index 89b9adaa7e..7efc667ade 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_BronzeBlastFurnace.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_BronzeBlastFurnace.java @@ -209,7 +209,7 @@ public class GT_MetaTileEntity_BronzeBlastFurnace } } if(this.mMaxProgresstime>0 && (aTimer % 20L == 0L)){ - GT_Pollution.addPollution(new ChunkPosition(this.getBaseMetaTileEntity().getXCoord(), this.getBaseMetaTileEntity().getYCoord(), this.getBaseMetaTileEntity().getZCoord()), 50); + GT_Pollution.addPollution(this.getBaseMetaTileEntity().getWorld(), new ChunkPosition(this.getBaseMetaTileEntity().getXCoord(), this.getBaseMetaTileEntity().getYCoord(), this.getBaseMetaTileEntity().getZCoord()), 50); } aBaseMetaTileEntity.setActive((this.mMaxProgresstime > 0) && (this.mMachine)); diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_Charcoal_Pit.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_Charcoal_Pit.java index 22d901f13a..9c4881d18c 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_Charcoal_Pit.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_Charcoal_Pit.java @@ -86,7 +86,7 @@ public class GT_MetaTileEntity_Charcoal_Pit extends GT_MetaTileEntity_MultiBlock this.mEfficiency = 10000; this.mEfficiencyIncrease = 10000; this.mMaxProgresstime = Math.max(1, this.mMaxProgresstime); - GT_Pollution.addPollution(new ChunkPosition(this.getBaseMetaTileEntity().getXCoord(), this.getBaseMetaTileEntity().getYCoord(), this.getBaseMetaTileEntity().getZCoord()), mMaxProgresstime*5); + GT_Pollution.addPollution(this.getBaseMetaTileEntity().getWorld(), new ChunkPosition(this.getBaseMetaTileEntity().getXCoord(), this.getBaseMetaTileEntity().getYCoord(), this.getBaseMetaTileEntity().getZCoord()), mMaxProgresstime*5); return true; } else { this.mEfficiency = 0; -- cgit From 772ec04bf33679baed10c72991336b5b648603bb Mon Sep 17 00:00:00 2001 From: Maxime Legkiy Date: Thu, 9 Feb 2017 05:38:20 +0300 Subject: Add Underground Oil Generating settings in GregTech.cfg Add supports White and Black List (DIM ID) Add settings generating for standart Dimension and Galacticraft Dimension - Moon and Mars Add settings for select type Underground Fluid - for Nether default Pahoehoe Lava, for Moon - Helium 3 Add settings max Amount Generating For generating oil in other Dimension (Twilight Forest or Mystcraft) use settings - RealDimensionEnable --- src/main/java/gregtech/common/GT_Proxy.java | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'src/main/java/gregtech/common') diff --git a/src/main/java/gregtech/common/GT_Proxy.java b/src/main/java/gregtech/common/GT_Proxy.java index 1680fb50c3..7fcdd1ad6f 100644 --- a/src/main/java/gregtech/common/GT_Proxy.java +++ b/src/main/java/gregtech/common/GT_Proxy.java @@ -165,8 +165,11 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler { public boolean mHideUnusedOres = true; public boolean mHideRecyclingRecipes = true; public boolean mPollution = true; - public boolean mUndergroundOilOverworld = true; - public boolean mUndergroundOilInRealDimension = true; + public boolean mUndergroundOilOverworld = true; //in DIM 0 + public boolean mUndergroundOilInRealDimension = true; //in other + public boolean mUndergroundOilNether = true; //in DIM -1 + public boolean mUndergroundOilMoon = true; //in Galacticraft Moon + public boolean mUndergroundOilMars = false; //in Galacticraft Mars public boolean mExplosionItemDrop = false; public int mSkeletonsShootGTArrows = 16; public int mMaxEqualEntitiesAtOneSpot = 3; @@ -181,8 +184,14 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler { public int mPollutionPoisonLimit = 750000; public int mPollutionVegetationLimit = 1000000; public int mPollutionSourRainLimit = 2000000; - public int mUndergroundOilMaxAmount = 50; + public int mUndergroundOilMaxAmount = 625; //mb in step + public int mUndergroundOilNetherMaxAmount = 625; //mb in step + public int mUndergroundOilNetherResType = 1; //0 - Oil; 1 - basalt lava; 3 - He3 + public int mUndergroundOilMoonMaxAmount = 625; //mb in step + public int mUndergroundOilMoonResType = 2; //0 - Oil; 1 - basalt lava; 3 - He3 public int mTicksUntilNextCraftSound = 0; + public int[] mUndergroundOilBlackList; + public int[] mUndergroundOilWhiteList; public double mMagneticraftBonusOutputPercent = 100.0d; private World mUniverse = null; private final String aTextThermalExpansion = "ThermalExpansion"; -- cgit From 901a7d66c1766b3f21de4f74e696a30e5d178018 Mon Sep 17 00:00:00 2001 From: Maxime Legkiy Date: Mon, 13 Feb 2017 04:24:48 +0300 Subject: Add new flexible configuration undeground oil --- src/main/java/gregtech/common/GT_Proxy.java | 58 ++++++++++------------------- 1 file changed, 20 insertions(+), 38 deletions(-) (limited to 'src/main/java/gregtech/common') diff --git a/src/main/java/gregtech/common/GT_Proxy.java b/src/main/java/gregtech/common/GT_Proxy.java index 7fcdd1ad6f..d3d9347aa8 100644 --- a/src/main/java/gregtech/common/GT_Proxy.java +++ b/src/main/java/gregtech/common/GT_Proxy.java @@ -24,6 +24,7 @@ import gregtech.api.items.GT_MetaGenerated_Item; import gregtech.api.items.GT_MetaGenerated_Tool; import gregtech.api.objects.GT_Fluid; import gregtech.api.objects.GT_FluidStack; +import gregtech.api.objects.GT_UO_DimensionList; import gregtech.api.objects.ItemData; import gregtech.api.objects.MaterialStack; import gregtech.api.util.*; @@ -165,11 +166,6 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler { public boolean mHideUnusedOres = true; public boolean mHideRecyclingRecipes = true; public boolean mPollution = true; - public boolean mUndergroundOilOverworld = true; //in DIM 0 - public boolean mUndergroundOilInRealDimension = true; //in other - public boolean mUndergroundOilNether = true; //in DIM -1 - public boolean mUndergroundOilMoon = true; //in Galacticraft Moon - public boolean mUndergroundOilMars = false; //in Galacticraft Mars public boolean mExplosionItemDrop = false; public int mSkeletonsShootGTArrows = 16; public int mMaxEqualEntitiesAtOneSpot = 3; @@ -184,14 +180,8 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler { public int mPollutionPoisonLimit = 750000; public int mPollutionVegetationLimit = 1000000; public int mPollutionSourRainLimit = 2000000; - public int mUndergroundOilMaxAmount = 625; //mb in step - public int mUndergroundOilNetherMaxAmount = 625; //mb in step - public int mUndergroundOilNetherResType = 1; //0 - Oil; 1 - basalt lava; 3 - He3 - public int mUndergroundOilMoonMaxAmount = 625; //mb in step - public int mUndergroundOilMoonResType = 2; //0 - Oil; 1 - basalt lava; 3 - He3 + public final GT_UO_DimensionList mUndergroundOil = new GT_UO_DimensionList(); public int mTicksUntilNextCraftSound = 0; - public int[] mUndergroundOilBlackList; - public int[] mUndergroundOilWhiteList; public double mMagneticraftBonusOutputPercent = 100.0d; private World mUniverse = null; private final String aTextThermalExpansion = "ThermalExpansion"; @@ -1710,52 +1700,44 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler { @SubscribeEvent public void handleChunkSaveEvent(ChunkDataEvent.Save event) - { + { ChunkPosition tPos = new ChunkPosition(event.getChunk().xPosition,event.getChunk().worldObj.provider.dimensionId+1,event.getChunk().zPosition); if(chunkData.containsKey(tPos)){ int[] tInts = chunkData.get(tPos); if(tInts.length>0){event.getData().setInteger("GTOIL", tInts[0]);} - if(tInts.length>1){event.getData().setInteger("GTPOLLUTION", tInts[1]);}} + if(tInts.length>1){event.getData().setInteger("GTPOLLUTION", tInts[1]);} + if(tInts.length>2){event.getData().setInteger("GTOILFLUID", tInts[2]);} + } } @SubscribeEvent public void handleChunkLoadEvent(ChunkDataEvent.Load event) { int tOil = 0; + int tOilFluid = 0; int tPollution = 0; ChunkPosition tPos = new ChunkPosition(event.getChunk().xPosition,event.getChunk().worldObj.provider.dimensionId+1,event.getChunk().zPosition); - int[] tData = new int[2]; + int[] tData = new int[0]; if(chunkData.containsKey(tPos)){ tData = chunkData.get(tPos); chunkData.remove(tPos); - } - - if(event.getData().hasKey("GTOIL")){ - if(tData.length>2){ - tOil = tData[0]; - }else{ - tOil += event.getData().getInteger("GTOIL"); - } - }else{ - if(tData[0]!=0){ + if(tData.length>0) tOil = tData[0]; - } + if(tData.length>1) + tPollution = tData[1]; + if(tData.length>2) + tOilFluid = tData[2]; } - if(event.getData().hasKey("GTPOLLUTION")){ - if(tData.length>2){ - tPollution = tData[1]; - }else{ - tPollution += event.getData().getInteger("GTPOLLUTION"); - } - }else{ - if(tData[1]!=0){ - tPollution = tData[1]; - } - } + if(tOil==0&&event.getData().hasKey("GTOIL")) + tOil = event.getData().getInteger("GTOIL"); + if(tPollution==0&&event.getData().hasKey("GTPOLLUTION")) + tPollution = event.getData().getInteger("GTPOLLUTION"); + if(tOilFluid==0&&event.getData().hasKey("GTOILFLUID")) + tOilFluid = event.getData().getInteger("GTOILFLUID"); - chunkData.put(tPos, new int[]{ tOil,tPollution,-1}); + chunkData.put(tPos, new int[]{tOil,tPollution,tOilFluid}); } public static class OreDictEventContainer { -- cgit From 8e2280bc2c700a04ae5b829fe79eba4ba95a22d3 Mon Sep 17 00:00:00 2001 From: Maxime Legkiy Date: Fri, 17 Feb 2017 01:55:54 +0300 Subject: Fix name config category to UndergroundFluid Fix comments configuration Fix Start config - add nether and end to BlackList. Default spawn fluids on overworld and Moon. Add Decrease Per Operation Amount (if 0 an endless source) --- src/main/java/gregtech/common/GT_Pollution.java | 8 +--- src/main/java/gregtech/common/GT_Proxy.java | 4 +- .../GT_MetaTileEntity_AdvSeismicProspector.java | 56 ++++++++++++---------- 3 files changed, 33 insertions(+), 35 deletions(-) (limited to 'src/main/java/gregtech/common') diff --git a/src/main/java/gregtech/common/GT_Pollution.java b/src/main/java/gregtech/common/GT_Pollution.java index 0c21e1ec6a..e57c44040f 100644 --- a/src/main/java/gregtech/common/GT_Pollution.java +++ b/src/main/java/gregtech/common/GT_Pollution.java @@ -9,7 +9,6 @@ import net.minecraft.entity.EntityLivingBase; import net.minecraft.init.Blocks; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; -import net.minecraft.server.MinecraftServer; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.ChunkPosition; import net.minecraft.world.World; @@ -189,16 +188,11 @@ public class GT_Pollution { } } - //Backward compatibility (NOT USE) - public static void addPollution(ChunkPosition aPos, int aPollution){ - addPollution(MinecraftServer.getServer().worldServerForDimension(0), aPos, aPollution); - } - //Add aWorld to Save Pollution public static void addPollution(World aWorld, ChunkPosition aPos, int aPollution){ if(!GT_Mod.gregtechproxy.mPollution)return; try{ - ChunkPosition tPos = new ChunkPosition(GT_Utility.getScaleСoordinates(aPos.chunkPosX,16), aWorld.provider.dimensionId + 1, GT_Utility.getScaleСoordinates(aPos.chunkPosZ,16)); // OLD in coordinate -1 -1 chunk 0 0 + ChunkPosition tPos = new ChunkPosition(GT_Utility.getScaleСoordinates(aPos.chunkPosX,16), aWorld.provider.dimensionId, GT_Utility.getScaleСoordinates(aPos.chunkPosZ,16)); // OLD in coordinate -1 -1 chunk 0 0 // System.out.println("add pollution dim: "+aWorld.provider.dimensionId+" x: "+ tPos.chunkPosX +" z: " + tPos.chunkPosZ +" poll: "+aPollution); int[] tData = new int[2]; if(GT_Proxy.chunkData.containsKey(tPos)){ diff --git a/src/main/java/gregtech/common/GT_Proxy.java b/src/main/java/gregtech/common/GT_Proxy.java index d3d9347aa8..1639007c29 100644 --- a/src/main/java/gregtech/common/GT_Proxy.java +++ b/src/main/java/gregtech/common/GT_Proxy.java @@ -1701,7 +1701,7 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler { @SubscribeEvent public void handleChunkSaveEvent(ChunkDataEvent.Save event) { - ChunkPosition tPos = new ChunkPosition(event.getChunk().xPosition,event.getChunk().worldObj.provider.dimensionId+1,event.getChunk().zPosition); + ChunkPosition tPos = new ChunkPosition(event.getChunk().xPosition,event.getChunk().worldObj.provider.dimensionId,event.getChunk().zPosition); if(chunkData.containsKey(tPos)){ int[] tInts = chunkData.get(tPos); if(tInts.length>0){event.getData().setInteger("GTOIL", tInts[0]);} @@ -1717,7 +1717,7 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler { int tOilFluid = 0; int tPollution = 0; - ChunkPosition tPos = new ChunkPosition(event.getChunk().xPosition,event.getChunk().worldObj.provider.dimensionId+1,event.getChunk().zPosition); + ChunkPosition tPos = new ChunkPosition(event.getChunk().xPosition,event.getChunk().worldObj.provider.dimensionId,event.getChunk().zPosition); int[] tData = new int[0]; if(chunkData.containsKey(tPos)){ tData = chunkData.get(tPos); diff --git a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_AdvSeismicProspector.java b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_AdvSeismicProspector.java index e975242cc3..06bd899eb8 100644 --- a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_AdvSeismicProspector.java +++ b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_AdvSeismicProspector.java @@ -31,6 +31,7 @@ import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.ChunkPosition; import net.minecraftforge.fluids.FluidStack; import sun.text.resources.es.CollationData_es; @@ -104,7 +105,7 @@ public class GT_MetaTileEntity_AdvSeismicProspector extends GT_MetaTileEntity_Ba prospectOres(tNearOres, tMiddleOres, tFarOres); // prospecting oils - HashMap tOils = new HashMap(9); + HashMap tOils = new HashMap(); prospectOils(tOils); GT_Utility.ItemNBT.setAdvancedProspectionData(mTier, @@ -126,32 +127,35 @@ public class GT_MetaTileEntity_AdvSeismicProspector extends GT_MetaTileEntity_Ba private void prospectOils(HashMap aOils) { - int tLeftXBound = this.getBaseMetaTileEntity().getXCoord() - radius; - int tRightXBound = tLeftXBound + 2*radius; - - int tLeftZBound = this.getBaseMetaTileEntity().getZCoord() - radius; - int tRightZBound = tLeftZBound + 2*radius; - - ArrayList filterList = new ArrayList(9); - String filter; - - for (int x = tLeftXBound; x <= tRightXBound; ++x) - for (int z = tLeftZBound; z <= tRightZBound; ++z) { - filter = x/96 + "," + z/96; - - if (!filterList.contains(filter)) { - filterList.add(filter); - - putOil((x/96)*96, (z/96)*96, aOils); + int tLeftXBound = GT_Utility.getScaleСoordinates(this.getBaseMetaTileEntity().getXCoord() - radius, 16); + int tRightXBound = GT_Utility.getScaleСoordinates(this.getBaseMetaTileEntity().getXCoord() + radius, 16); + + int tLeftZBound = GT_Utility.getScaleСoordinates(this.getBaseMetaTileEntity().getZCoord() - radius, 16); + int tRightZBound = GT_Utility.getScaleСoordinates(this.getBaseMetaTileEntity().getZCoord() + radius, 16); + + HashMap tFluids = new HashMap(); + + try { + for (int x = tLeftXBound; x <= tRightXBound; ++x) + for (int z = tLeftZBound; z <= tRightZBound; ++z) + { + ChunkPosition tPos = new ChunkPosition(GT_Utility.getScaleСoordinates(x*16,96), 0, GT_Utility.getScaleСoordinates(z*16,96)); + FluidStack tFluid = GT_Utility.getUndergroundOil(getBaseMetaTileEntity().getWorld(), x*16, z*16); + if (tFluid != null) + if (tFluids.containsKey(tPos)) + { + if (tFluids.get(tPos).amount 0) + tFluids.put(tPos, tFluid); } - } - } - - private void putOil(int x, int z, HashMap aOils) { - FluidStack tFluid = GT_Utility.getUndergroundOil(getBaseMetaTileEntity().getWorld(), x, z); - if (tFluid != null) - if (tFluid.amount / 5000 > 0) - aOils.put(x + "," + z + "," + (tFluid.amount / 5000) + "," + tFluid.getLocalizedName(), tFluid.amount / 5000); + + for (HashMap.Entry fl : tFluids.entrySet()) { + aOils.put(fl.getKey().chunkPosX + "," + fl.getKey().chunkPosZ + "," + (fl.getValue().amount / 5000) + "," + fl.getValue().getLocalizedName(), fl.getValue().amount / 5000); + } + } catch (Exception e) { + // TODO: handle exception + } } private void prospectOres(Map aNearOres, Map aMiddleOres, Map aFarOres) { -- cgit