diff options
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/java/gregtech/GT_Mod.java | 4 | ||||
-rw-r--r-- | src/main/java/gregtech/api/enums/GT_Values.java | 20 | ||||
-rw-r--r-- | src/main/java/gregtech/common/GT_Worldgen_GT_Ore_Layer.java | 8 | ||||
-rw-r--r-- | src/main/java/gregtech/common/GT_Worldgenerator.java | 17 |
4 files changed, 31 insertions, 18 deletions
diff --git a/src/main/java/gregtech/GT_Mod.java b/src/main/java/gregtech/GT_Mod.java index 39bd959262..8889179326 100644 --- a/src/main/java/gregtech/GT_Mod.java +++ b/src/main/java/gregtech/GT_Mod.java @@ -190,7 +190,9 @@ public class GT_Mod implements IGT_Mod { GT_Values.D2 = tMainConfig.get(aTextGeneral, "Debug2", false).getBoolean(false); GT_Values.debugCleanroom = tMainConfig.get(aTextGeneral, "debugCleanroom", false).getBoolean(false); GT_Values.debugWorldGen = tMainConfig.get(aTextGeneral, "debugWorldGen", false).getBoolean(false); - GT_Values.oreveinPercentage = tMainConfig.get(aTextGeneral, "oreveinPercentage_100",100).getInt(100); + GT_Values.debugOrevein = tMainConfig.get(aTextGeneral, "debugOrevein", false).getBoolean(false); + GT_Values.oreveinPercentage = tMainConfig.get(aTextGeneral, "oreveinPercentage_75",75).getInt(75); + GT_Values.oreveinAttempts = tMainConfig.get(aTextGeneral, "oreveinAttempts_64",64).getInt(64); GregTech_API.TICKS_FOR_LAG_AVERAGING = tMainConfig.get(aTextGeneral, "TicksForLagAveragingWithScanner", 25).getInt(25); GregTech_API.MILLISECOND_THRESHOLD_UNTIL_LAG_WARNING = tMainConfig.get(aTextGeneral, "MillisecondsPassedInGTTileEntityUntilLagWarning", 100).getInt(100); diff --git a/src/main/java/gregtech/api/enums/GT_Values.java b/src/main/java/gregtech/api/enums/GT_Values.java index 8f98e2ceef..71e22bb1d7 100644 --- a/src/main/java/gregtech/api/enums/GT_Values.java +++ b/src/main/java/gregtech/api/enums/GT_Values.java @@ -117,24 +117,32 @@ public class GT_Values { * For Internal Usage (Network) */ public static IGT_NetworkHandler NW; - /** + /** + * Control percentage of filled 3x3 chunks. Lower number means less oreveins spawn + */ + public static int oreveinPercentage; + /** + * Control number of attempts to find a valid orevein. Lower numbers is slightly faster chunkgen, but more empty chunks with thin stone height. + */ + public static int oreveinAttempts; + /** * Not really Constants, but they set using the Config and therefore should be constant (those are for the Debug Mode) */ public static boolean D1 = false, D2 = false; /** * Debug parameter for cleanroom testing. - */ + */ public static boolean debugCleanroom = false; /** * Debug parameter for world generation. Tracks chunks added/removed from run queue. */ public static boolean debugWorldGen = false; + /** + * Debug parameter for orevein generation. + */ + public static boolean debugOrevein = false; /** * If you have to give something a World Parameter but there is no World... (Dummy World) */ public static World DW; - /** - * Control percentage of filled 3x3 chunks. Lower number means less oreveins spawn - */ - public static int oreveinPercentage; }
\ No newline at end of file diff --git a/src/main/java/gregtech/common/GT_Worldgen_GT_Ore_Layer.java b/src/main/java/gregtech/common/GT_Worldgen_GT_Ore_Layer.java index 8008510b2b..7c89ea443f 100644 --- a/src/main/java/gregtech/common/GT_Worldgen_GT_Ore_Layer.java +++ b/src/main/java/gregtech/common/GT_Worldgen_GT_Ore_Layer.java @@ -15,7 +15,7 @@ import net.minecraft.world.chunk.IChunkProvider; import java.util.ArrayList;
import java.util.Random;
-import static gregtech.api.enums.GT_Values.D1;
+import static gregtech.api.enums.GT_Values.debugOrevein;
public class GT_Worldgen_GT_Ore_Layer
extends GT_Worldgen {
@@ -123,7 +123,8 @@ public class GT_Worldgen_GT_Ore_Layer }
}
}
- if (D1) {
+ if (debugOrevein) {
+ String tDimensionName = aWorld.provider.getDimensionName();
GT_Log.out.println(
"Generated Orevein:" + this.mWorldGenName +
" chunkX="+aChunkX+
@@ -132,7 +133,8 @@ public class GT_Worldgen_GT_Ore_Layer " Secondary="+placeCount[1]+" "+new ItemStack(GregTech_API.sBlockOres1,1,mSecondaryMeta).getDisplayName()+
" Between="+placeCount[2]+" "+new ItemStack(GregTech_API.sBlockOres1,1,mBetweenMeta).getDisplayName()+
" Primary="+placeCount[0]+" "+new ItemStack(GregTech_API.sBlockOres1,1,mPrimaryMeta).getDisplayName()+
- " Sporadic="+placeCount[3]+" "+new ItemStack(GregTech_API.sBlockOres1,1,mSporadicMeta).getDisplayName()
+ " Sporadic="+placeCount[3]+" "+new ItemStack(GregTech_API.sBlockOres1,1,mSporadicMeta).getDisplayName() +
+ " Dimension=" + tDimensionName
);
}
// Didn't place anything, return false
diff --git a/src/main/java/gregtech/common/GT_Worldgenerator.java b/src/main/java/gregtech/common/GT_Worldgenerator.java index a99da09916..47990cae64 100644 --- a/src/main/java/gregtech/common/GT_Worldgenerator.java +++ b/src/main/java/gregtech/common/GT_Worldgenerator.java @@ -18,6 +18,8 @@ import net.minecraft.world.gen.ChunkProviderHell; import static gregtech.api.enums.GT_Values.D1;
import static gregtech.api.enums.GT_Values.oreveinPercentage;
import static gregtech.api.enums.GT_Values.debugWorldGen;
+import static gregtech.api.enums.GT_Values.debugOrevein;
+import static gregtech.api.enums.GT_Values.oreveinAttempts;
import java.util.ArrayList;
import java.util.List;
@@ -120,7 +122,7 @@ public class GT_Worldgenerator int tRandomWeight;
int i;
- for (i = 0; (i < 256) && (temp); i++) {
+ for (i = 0; (i < oreveinAttempts) && (temp); i++) {
tRandomWeight = this.mRandom.nextInt(GT_Worldgen_GT_Ore_Layer.sWeight);
for (GT_Worldgen tWorldGen : GT_Worldgen_GT_Ore_Layer.sList) {
tRandomWeight -= ((GT_Worldgen_GT_Ore_Layer) tWorldGen).mWeight;
@@ -136,15 +138,15 @@ public class GT_Worldgenerator }
}
}
- if (D1 & temp) {
+ if (debugOrevein & temp) {
GT_Log.out.println(
"No orevein selected!" +
- " @ dim="+ this.mDimensionType+
" chunkX="+ this.mX +
" chunkZ="+ this.mZ +
+ " oreveinAttemps=" + oreveinAttempts +
" dimensionName=" + tDimensionName
);
- } else if (D1)
+ } else if (debugOrevein)
{
GT_Log.out.println(
"Orevein took " + i +
@@ -155,11 +157,10 @@ public class GT_Worldgenerator }else
{
- if((oreveinRNG >= oreveinPercentage) && (D1))
+ if((oreveinRNG >= oreveinPercentage) && (debugOrevein))
{
GT_Log.out.println(
"Skipped orevein in this 3x3 chunk!" +
- " @ dim="+ this.mDimensionType+
" chunkX="+ this.mX +
" chunkZ="+ this.mZ +
" RNG=" + oreveinRNG +
@@ -191,7 +192,7 @@ public class GT_Worldgenerator }
else
{
- if (D1) {
+ if (debugOrevein) {
GT_Log.out.println(
"Skipped chunk, not 3x3 center" +
" @ dim="+this.mDimensionType+
@@ -214,7 +215,7 @@ public class GT_Worldgenerator if ((GT_Worldgen_GT_Ore_Layer.sWeight > 0) && (GT_Worldgen_GT_Ore_Layer.sList.size() > 0)) {
boolean temp = true;
int tRandomWeight;
- for (int i = 0; (i < 256) && (temp); i++) {
+ for (int i = 0; (i < oreveinAttempts) && (temp); i++) {
tRandomWeight = aRandom.nextInt(GT_Worldgen_GT_Ore_Layer.sWeight);
for (GT_Worldgen_GT_Ore_Layer tWorldGen : GT_Worldgen_GT_Ore_Layer.sList) {
tRandomWeight -= ((GT_Worldgen_GT_Ore_Layer) tWorldGen).mWeight;
|