aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/gregtech/GT_Mod.java4
-rw-r--r--src/main/java/gregtech/api/enums/GT_Values.java20
-rw-r--r--src/main/java/gregtech/common/GT_Worldgen_GT_Ore_Layer.java8
-rw-r--r--src/main/java/gregtech/common/GT_Worldgenerator.java17
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;