aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/bloodasp
diff options
context:
space:
mode:
authorboubou19 <miisterunknown@gmail.com>2024-08-27 20:50:30 +0200
committerGitHub <noreply@github.com>2024-08-27 18:50:30 +0000
commit4908d5967c3dfeff5616c65144e701859b9e30a2 (patch)
tree3e58a4b8ebd8b70745e81c4c71c765980e4ec4f4 /src/main/java/bloodasp
parent3c574facfb224029c0b69865e281023da6170ce0 (diff)
downloadGT5-Unofficial-4908d5967c3dfeff5616c65144e701859b9e30a2.tar.gz
GT5-Unofficial-4908d5967c3dfeff5616c65144e701859b9e30a2.tar.bz2
GT5-Unofficial-4908d5967c3dfeff5616c65144e701859b9e30a2.zip
Config/gregtech.cfg (#2939)
* first pass on config migration * second pass on config migration * removing bad configs * rename config classes and register them * move debug options to its own debug category * migrate pollution * finish migrating general config * removing useless config * finish GregTech.cfg port to GTNHLib * don't accidentally force panic mode in dev env * typo * defaults are now handled by the confg handler * remove dead config * force config save after defaults are being written * stop messing with the GregTech.cfg externally * removing comments * new underground fluid builder and porting default underground fluids to code * move config handlers of gregtech.cfg in their own package * process MachineStats.cfg * yeeted MaterialProperties.cfg * remove unused compat in GTNH * process OverpoweredStuff.cfg * process Other.cfg * ungregify some config variables * remove unused variables * fix Ids.cfg not being populated * delete duplicate printing of MTE IDs in GT5U clients * bump hodgepodge version to get mod phase timers * process Client.cfg * fix bad category naming * registering all the config handlers in gui * bump GTNHLib version * actually only registering client configs * use proper double arrays now * move GT ore mixes to patternbuilders * dead code * fix multifiles config not being handled properly * import class from NHCore * removing reflection * use enums for registration * yeet config for Asteroid dimensions * remove unused since 2015 enum entry * todo * rework oremix enums * imported dimension data in enums * convert old dirty predicate into proper one * hook gagreg onto the OreMixes enum * finally nuke worldgen.ore.mix config category! * hook gagreg small ores onto the SmallOres enum * imported dim values in enum * fix dirty work around in vm predicate * yeet unused classes * hook GT stones to GTStones enum * yeet all the remaining booleans in the worldgen category * port endasteroids category * port general category * deprecated * yeet unused bw compat * finish worldgen config migration * hardcode config into code * remove not generated config entry * remove Unification.cfg * fix build * migrate oreveins away from config * migrate small ores away from config * delete config parser * forgotten * fix EoH recipe crash in dev * fix GT NEI Ore Plugin config and csv paths * shade opencsv * rewrite csv generator * spotless apply
Diffstat (limited to 'src/main/java/bloodasp')
-rw-r--r--src/main/java/bloodasp/galacticgreg/GT_Worldgen_GT_Ore_Layer_Space.java135
-rw-r--r--src/main/java/bloodasp/galacticgreg/GT_Worldgen_GT_Ore_SmallPieces_Space.java73
-rw-r--r--src/main/java/bloodasp/galacticgreg/GT_Worldgenerator_Space.java61
-rw-r--r--src/main/java/bloodasp/galacticgreg/GalacticGreg.java22
-rw-r--r--src/main/java/bloodasp/galacticgreg/ModRegisterer.java283
-rw-r--r--src/main/java/bloodasp/galacticgreg/SpaceDimRegisterer.java179
-rw-r--r--src/main/java/bloodasp/galacticgreg/WorldGenGaGT.java75
-rw-r--r--src/main/java/bloodasp/galacticgreg/api/Enums.java6
-rw-r--r--src/main/java/bloodasp/galacticgreg/api/enums/DimensionBlockMetaDefinitionList.java57
-rw-r--r--src/main/java/bloodasp/galacticgreg/api/enums/DimensionDef.java228
-rw-r--r--src/main/java/bloodasp/galacticgreg/api/enums/ModContainers.java19
-rw-r--r--src/main/java/bloodasp/galacticgreg/api/enums/properties/AsteroidPropertyBuilder.java105
-rw-r--r--src/main/java/bloodasp/galacticgreg/api/enums/properties/Asteroids.java78
-rw-r--r--src/main/java/bloodasp/galacticgreg/bartworks/BW_Worldgen_Ore_Layer_Space.java253
-rw-r--r--src/main/java/bloodasp/galacticgreg/bartworks/BW_Worldgen_Ore_SmallOre_Space.java165
-rw-r--r--src/main/java/bloodasp/galacticgreg/dynconfig/DynamicDimensionConfig.java130
-rw-r--r--src/main/java/bloodasp/galacticgreg/dynconfig/DynamicOreMixWorldConfig.java93
-rw-r--r--src/main/java/bloodasp/galacticgreg/registry/GalacticGregRegistry.java16
18 files changed, 836 insertions, 1142 deletions
diff --git a/src/main/java/bloodasp/galacticgreg/GT_Worldgen_GT_Ore_Layer_Space.java b/src/main/java/bloodasp/galacticgreg/GT_Worldgen_GT_Ore_Layer_Space.java
index fa994b939d..9dc8d2c070 100644
--- a/src/main/java/bloodasp/galacticgreg/GT_Worldgen_GT_Ore_Layer_Space.java
+++ b/src/main/java/bloodasp/galacticgreg/GT_Worldgen_GT_Ore_Layer_Space.java
@@ -13,15 +13,13 @@ import net.minecraft.util.MathHelper;
import net.minecraft.world.World;
import net.minecraft.world.chunk.IChunkProvider;
+import bloodasp.galacticgreg.api.ModContainer;
import bloodasp.galacticgreg.api.ModDimensionDef;
import bloodasp.galacticgreg.auxiliary.GTOreGroup;
-import bloodasp.galacticgreg.bartworks.BW_Worldgen_Ore_Layer_Space;
-import bloodasp.galacticgreg.dynconfig.DynamicOreMixWorldConfig;
import bloodasp.galacticgreg.registry.GalacticGregRegistry;
-import gregtech.api.GregTech_API;
-import gregtech.api.enums.Materials;
import gregtech.api.util.GT_Log;
import gregtech.api.world.GT_Worldgen;
+import gregtech.common.OreMixBuilder;
public class GT_Worldgen_GT_Ore_Layer_Space extends GT_Worldgen {
@@ -38,61 +36,40 @@ public class GT_Worldgen_GT_Ore_Layer_Space extends GT_Worldgen {
private long mProfilingStart;
private long mProfilingEnd;
+ private Map<String, Boolean> allowedDims;
+
+ public GT_Worldgen_GT_Ore_Layer_Space(OreMixBuilder mix) {
+ super(mix.oreMixName, GalacticGreg.oreVeinWorldgenList, mix.enabledByDefault);
+
+ mMinY = (short) mix.minY;
+ mMaxY = (short) Math.max(this.mMinY + 5, mix.maxY);
+ mWeight = (short) mix.weight;
+ mDensity = (short) mix.density;
+ mSize = (short) Math.max(1, mix.size);
+ mPrimaryMeta = (short) mix.primary.mMetaItemSubID;
+ mSecondaryMeta = (short) mix.secondary.mMetaItemSubID;
+ mBetweenMeta = (short) mix.between.mMetaItemSubID;
+ mSporadicMeta = (short) mix.sporadic.mMetaItemSubID;
+
+ allowedDims = new HashMap<>();
+
+ for (ModContainer mc : GalacticGregRegistry.getModContainers()) {
+ if (!mc.getEnabled()) continue;
+
+ for (ModDimensionDef mdd : mc.getDimensionList()) {
+ String tDimIdentifier = mdd.getDimIdentifier();
+ if (allowedDims.containsKey(tDimIdentifier)) GalacticGreg.Logger.error(
+ "Found 2 Dimensions with the same Identifier: %s Dimension will not generate Ores",
+ tDimIdentifier);
+ else {
+ boolean tFlag = mix.dimsEnabled.getOrDefault(mdd.getDimensionName(), false);
+ allowedDims.put(tDimIdentifier, tFlag);
+ }
+ }
+ }
- private DynamicOreMixWorldConfig _mDynWorldConfig;
-
- public GT_Worldgen_GT_Ore_Layer_Space(String pName, boolean pDefault, int pMinY, int pMaxY, int pWeight,
- int pDensity, int pSize, Materials pPrimary, Materials pSecondary, Materials pBetween, Materials pSporadic) {
- super(pName, GalacticGreg.oreVeinWorldgenList, pDefault);
- mMinY = ((short) GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "MinHeight", pMinY));
- mMaxY = ((short) Math
- .max(this.mMinY + 5, GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "MaxHeight", pMaxY)));
- mWeight = ((short) GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "RandomWeight", pWeight));
- mDensity = ((short) GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "Density", pDensity));
- mSize = ((short) Math.max(1, GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "Size", pSize)));
- mPrimaryMeta = ((short) GregTech_API.sWorldgenFile
- .get("worldgen." + this.mWorldGenName, "OrePrimaryLayer", pPrimary.mMetaItemSubID));
- mSecondaryMeta = ((short) GregTech_API.sWorldgenFile
- .get("worldgen." + this.mWorldGenName, "OreSecondaryLayer", pSecondary.mMetaItemSubID));
- mBetweenMeta = ((short) GregTech_API.sWorldgenFile
- .get("worldgen." + this.mWorldGenName, "OreSporadiclyInbetween", pBetween.mMetaItemSubID));
- mSporadicMeta = ((short) GregTech_API.sWorldgenFile
- .get("worldgen." + this.mWorldGenName, "OreSporaticlyAround", pSporadic.mMetaItemSubID));
-
- _mDynWorldConfig = new DynamicOreMixWorldConfig(mWorldGenName);
- _mDynWorldConfig.InitDynamicConfig();
-
- GalacticGreg.Logger.trace("Initialized new OreLayer: %s", pName);
-
- if (mEnabled) GT_Worldgen_GT_Ore_Layer_Space.sWeight += this.mWeight;
-
- }
-
- public GT_Worldgen_GT_Ore_Layer_Space(String pName, boolean pDefault, int pMinY, int pMaxY, int pWeight,
- int pDensity, int pSize, short pPrimary, short pSecondary, short pBetween, short pSporadic) {
- super(pName, GalacticGreg.oreVeinWorldgenList, pDefault);
- mMinY = ((short) GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "MinHeight", pMinY));
- mMaxY = ((short) Math
- .max(this.mMinY + 5, GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "MaxHeight", pMaxY)));
- mWeight = ((short) GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "RandomWeight", pWeight));
- mDensity = ((short) GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "Density", pDensity));
- mSize = ((short) Math.max(1, GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "Size", pSize)));
- mPrimaryMeta = ((short) GregTech_API.sWorldgenFile
- .get("worldgen." + this.mWorldGenName, "OrePrimaryLayer", pPrimary));
- mSecondaryMeta = ((short) GregTech_API.sWorldgenFile
- .get("worldgen." + this.mWorldGenName, "OreSecondaryLayer", pSecondary));
- mBetweenMeta = ((short) GregTech_API.sWorldgenFile
- .get("worldgen." + this.mWorldGenName, "OreSporadiclyInbetween", pBetween));
- mSporadicMeta = ((short) GregTech_API.sWorldgenFile
- .get("worldgen." + this.mWorldGenName, "OreSporaticlyAround", pSporadic));
-
- _mDynWorldConfig = new DynamicOreMixWorldConfig(mWorldGenName);
- _mDynWorldConfig.InitDynamicConfig();
-
- GalacticGreg.Logger.trace("Initialized new OreLayer: %s", pName);
-
+ GalacticGreg.Logger.trace("Initialized new OreLayer: %s", mix.oreMixName);
if (mEnabled) sWeight += this.mWeight;
-
}
/**
@@ -102,31 +79,7 @@ public class GT_Worldgen_GT_Ore_Layer_Space extends GT_Worldgen {
* @return
*/
public boolean isEnabledForDim(ModDimensionDef pDimensionDef) {
- return _mDynWorldConfig.isEnabledInDim(pDimensionDef);
- }
-
- private static Map<String, Integer> _mBufferedVeinCountList = new HashMap<>();
-
- /**
- * Get the number of enabled OreMixes for given Dimension. This query is buffered and will only consume calculation
- * time on the first run for each dimension
- *
- * @param pDimensionDef
- * @return
- */
- private static int getNumOremixedForDim(ModDimensionDef pDimensionDef) {
- int tVal = 0;
- if (_mBufferedVeinCountList.containsKey(pDimensionDef.getDimIdentifier()))
- tVal = _mBufferedVeinCountList.get(pDimensionDef.getDimIdentifier());
- else {
- for (GT_Worldgen tWorldGen : GalacticGreg.oreVeinWorldgenList)
- if (tWorldGen instanceof GT_Worldgen_GT_Ore_Layer_Space
- && ((GT_Worldgen_GT_Ore_Layer_Space) tWorldGen).isEnabledForDim(pDimensionDef)) tVal++;
-
- _mBufferedVeinCountList.put(pDimensionDef.getDimIdentifier(), tVal);
- }
-
- return tVal;
+ return allowedDims.getOrDefault(pDimensionDef.getDimIdentifier(), false);
}
private static Map<String, List<String>> _mBufferedVeinList = new HashMap<>();
@@ -148,9 +101,6 @@ public class GT_Worldgen_GT_Ore_Layer_Space extends GT_Worldgen {
if (tWorldGen instanceof GT_Worldgen_GT_Ore_Layer_Space
&& ((GT_Worldgen_GT_Ore_Layer_Space) tWorldGen).isEnabledForDim(pDimensionDef))
tReturn.add(tWorldGen.mWorldGenName);
- else if (tWorldGen instanceof BW_Worldgen_Ore_Layer_Space
- && ((BW_Worldgen_Ore_Layer_Space) tWorldGen).isEnabledForDim(pDimensionDef))
- tReturn.add(tWorldGen.mWorldGenName);
_mBufferedVeinList.put(pDimensionDef.getDimIdentifier(), tReturn);
}
@@ -158,17 +108,6 @@ public class GT_Worldgen_GT_Ore_Layer_Space extends GT_Worldgen {
return tReturn;
}
- private static short getMaxWeightForDim(ModDimensionDef pDimensionDef) {
- short tVal = 0;
- for (GT_Worldgen tWorldGen : GalacticGreg.oreVeinWorldgenList)
- if (tWorldGen instanceof GT_Worldgen_GT_Ore_Layer_Space
- && ((GT_Worldgen_GT_Ore_Layer_Space) tWorldGen).isEnabledForDim(pDimensionDef)
- && tVal < ((GT_Worldgen_GT_Ore_Layer_Space) tWorldGen).mWeight)
- tVal = ((GT_Worldgen_GT_Ore_Layer_Space) tWorldGen).mWeight;
-
- return tVal;
- }
-
/**
* Select a random ore-vein from the list
*
@@ -182,8 +121,6 @@ public class GT_Worldgen_GT_Ore_Layer_Space extends GT_Worldgen {
short betweenMeta = 0;
short sporadicMeta = 0;
- // int tRangeSplit = getMaxWeightForDim(pDimensionDef) / 2;
-
if (pIgnoreWeight) {
List<String> tEnabledVeins = getOreMixIDsForDim(pDimensionDef);
int tRnd = pRandom.nextInt(tEnabledVeins.size());
@@ -249,7 +186,7 @@ public class GT_Worldgen_GT_Ore_Layer_Space extends GT_Worldgen {
return false;
}
- if (!_mDynWorldConfig.isEnabledInDim(tMDD)) {
+ if (!isEnabledForDim(tMDD)) {
GalacticGreg.Logger
.trace("OreGen for %s is disallowed in dimension %s, skipping", mWorldGenName, tMDD.getDimensionName());
return false;
diff --git a/src/main/java/bloodasp/galacticgreg/GT_Worldgen_GT_Ore_SmallPieces_Space.java b/src/main/java/bloodasp/galacticgreg/GT_Worldgen_GT_Ore_SmallPieces_Space.java
index 11e264b4fb..f5def8e0fd 100644
--- a/src/main/java/bloodasp/galacticgreg/GT_Worldgen_GT_Ore_SmallPieces_Space.java
+++ b/src/main/java/bloodasp/galacticgreg/GT_Worldgen_GT_Ore_SmallPieces_Space.java
@@ -1,16 +1,17 @@
package bloodasp.galacticgreg;
+import java.util.HashMap;
+import java.util.Map;
import java.util.Random;
import net.minecraft.world.World;
import net.minecraft.world.chunk.IChunkProvider;
+import bloodasp.galacticgreg.api.ModContainer;
import bloodasp.galacticgreg.api.ModDimensionDef;
-import bloodasp.galacticgreg.dynconfig.DynamicOreMixWorldConfig;
import bloodasp.galacticgreg.registry.GalacticGregRegistry;
-import gregtech.api.GregTech_API;
-import gregtech.api.enums.Materials;
import gregtech.api.world.GT_Worldgen;
+import gregtech.common.SmallOreBuilder;
public class GT_Worldgen_GT_Ore_SmallPieces_Space extends GT_Worldgen {
@@ -21,51 +22,43 @@ public class GT_Worldgen_GT_Ore_SmallPieces_Space extends GT_Worldgen {
private long mProfilingStart;
private long mProfilingEnd;
- private DynamicOreMixWorldConfig _mDynWorldConfig;
-
- public GT_Worldgen_GT_Ore_SmallPieces_Space(String pName, boolean pDefault, int pMinY, int pMaxY, int pAmount,
- Materials pPrimary) {
- super(pName, GalacticGreg.smallOreWorldgenList, pDefault);
-
- mMinY = ((short) GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "MinHeight", pMinY));
- mMaxY = ((short) Math
- .max(this.mMinY + 1, GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "MaxHeight", pMaxY)));
- mAmount = ((short) Math
- .max(1, GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "Amount", pAmount)));
- mMeta = ((short) GregTech_API.sWorldgenFile
- .get("worldgen." + this.mWorldGenName, "Ore", pPrimary.mMetaItemSubID));
-
- _mDynWorldConfig = new DynamicOreMixWorldConfig(mWorldGenName);
- _mDynWorldConfig.InitDynamicConfig();
-
- GalacticGreg.Logger.trace("Initialized new OreLayer: %s", pName);
- }
-
- public GT_Worldgen_GT_Ore_SmallPieces_Space(String pName, boolean pDefault, int pMinY, int pMaxY, int pAmount,
- short pPrimary) {
- super(pName, GalacticGreg.smallOreWorldgenList, pDefault);
-
- mMinY = ((short) GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "MinHeight", pMinY));
- mMaxY = ((short) Math
- .max(this.mMinY + 1, GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "MaxHeight", pMaxY)));
- mAmount = ((short) Math
- .max(1, GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "Amount", pAmount)));
- mMeta = ((short) GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "Ore", pPrimary));
-
- _mDynWorldConfig = new DynamicOreMixWorldConfig(mWorldGenName);
- _mDynWorldConfig.InitDynamicConfig();
+ private Map<String, Boolean> allowedDims;
+
+ public GT_Worldgen_GT_Ore_SmallPieces_Space(SmallOreBuilder ore) {
+ super(ore.smallOreName, GalacticGreg.smallOreWorldgenList, ore.enabledByDefault);
+
+ mMinY = (short) ore.minY;
+ mMaxY = (short) Math.max(this.mMinY + 1, ore.maxY);
+ mAmount = (short) Math.max(1, ore.amount);
+ mMeta = (short) ore.ore.mMetaItemSubID;
+
+ allowedDims = new HashMap<>();
+ for (ModContainer mc : GalacticGregRegistry.getModContainers()) {
+ if (!mc.getEnabled()) continue;
+
+ for (ModDimensionDef mdd : mc.getDimensionList()) {
+ String tDimIdentifier = mdd.getDimIdentifier();
+ if (allowedDims.containsKey(tDimIdentifier)) GalacticGreg.Logger.error(
+ "Found 2 Dimensions with the same Identifier: %s Dimension will not generate Ores",
+ tDimIdentifier);
+ else {
+ boolean tFlag = ore.dimsEnabled.getOrDefault(mdd.getDimensionName(), false);
+ allowedDims.put(tDimIdentifier, tFlag);
+ }
+ }
+ }
- GalacticGreg.Logger.trace("Initialized new OreLayer: %s", pName);
+ GalacticGreg.Logger.trace("Initialized new OreLayer: %s", ore.smallOreName);
}
/**
* Check if *this* orelayer is enabled for pDimensionDef
- *
+ *
* @param pDimensionDef the ChunkProvider in question
* @return
*/
public boolean isEnabledForDim(ModDimensionDef pDimensionDef) {
- return _mDynWorldConfig.isEnabledInDim(pDimensionDef);
+ return allowedDims.getOrDefault(pDimensionDef.getDimIdentifier(), false);
}
@Override
@@ -79,7 +72,7 @@ public class GT_Worldgen_GT_Ore_SmallPieces_Space extends GT_Worldgen {
return false;
}
- if (!_mDynWorldConfig.isEnabledInDim(tMDD)) {
+ if (!isEnabledForDim(tMDD)) {
GalacticGreg.Logger
.trace("OreGen for %s is disallowed in dimension %s, skipping", mWorldGenName, tMDD.getDimensionName());
return false;
diff --git a/src/main/java/bloodasp/galacticgreg/GT_Worldgenerator_Space.java b/src/main/java/bloodasp/galacticgreg/GT_Worldgenerator_Space.java
index d2060ca71e..e76bc9bbcc 100644
--- a/src/main/java/bloodasp/galacticgreg/GT_Worldgenerator_Space.java
+++ b/src/main/java/bloodasp/galacticgreg/GT_Worldgenerator_Space.java
@@ -23,8 +23,6 @@ import bloodasp.galacticgreg.api.ModDimensionDef;
import bloodasp.galacticgreg.api.SpecialBlockComb;
import bloodasp.galacticgreg.api.StructureInformation;
import bloodasp.galacticgreg.auxiliary.GTOreGroup;
-import bloodasp.galacticgreg.bartworks.BW_Worldgen_Ore_Layer_Space;
-import bloodasp.galacticgreg.bartworks.BW_Worldgen_Ore_SmallOre_Space;
import bloodasp.galacticgreg.dynconfig.DynamicDimensionConfig;
import bloodasp.galacticgreg.dynconfig.DynamicDimensionConfig.AsteroidConfig;
import bloodasp.galacticgreg.registry.GalacticGregRegistry;
@@ -450,48 +448,38 @@ public class GT_Worldgenerator_Space implements IWorldGenerator {
int tRandomWeight;
boolean continueSearch = true;
int tFoundOreMeta = -1;
- BW_Worldgen_Ore_SmallOre_Space bwOreGen = null;
// First find a small ore...
for (int i = 0; (i < 256) && (continueSearch); i++) {
tRandomWeight = pRandom.nextInt(GT_Worldgen_GT_Ore_Layer_Space.sWeight);
for (GT_Worldgen tWorldGen : GalacticGreg.smallOreWorldgenList) {
- if (tWorldGen instanceof BW_Worldgen_Ore_SmallOre_Space) {
- tRandomWeight = ((BW_Worldgen_Ore_SmallOre_Space) tWorldGen).mDensity;
- if (tRandomWeight <= 0) {
- tFoundOreMeta = ((BW_Worldgen_Ore_SmallOre_Space) tWorldGen).mPrimaryMeta;
- continueSearch = false;
- bwOreGen = ((BW_Worldgen_Ore_SmallOre_Space) tWorldGen);
- }
- } else if (tWorldGen instanceof GT_Worldgen_GT_Ore_SmallPieces_Space) {
- // That is enabled for *this* dim...
- if (!((GT_Worldgen_GT_Ore_SmallPieces_Space) tWorldGen).isEnabledForDim(pDimDef)) continue;
-
- // And in the correct y-level, of ObeyLimits is true...
- if (pAConf.ObeyHeightLimits
- && !((GT_Worldgen_GT_Ore_SmallPieces_Space) tWorldGen).isAllowedForHeight(pY)) continue;
-
- // Care about weight
- tRandomWeight -= ((GT_Worldgen_GT_Ore_SmallPieces_Space) tWorldGen).mAmount;
- if (tRandomWeight <= 0) {
- // And return found ore meta
- tFoundOreMeta = ((GT_Worldgen_GT_Ore_SmallPieces_Space) tWorldGen).mMeta;
- continueSearch = false;
- }
+
+ if (!(tWorldGen instanceof GT_Worldgen_GT_Ore_SmallPieces_Space)) {
+ continue;
+ }
+ // That is enabled for *this* dim...
+ if (!((GT_Worldgen_GT_Ore_SmallPieces_Space) tWorldGen).isEnabledForDim(pDimDef)) continue;
+
+ // And in the correct y-level, of ObeyLimits is true...
+ if (pAConf.ObeyHeightLimits
+ && !((GT_Worldgen_GT_Ore_SmallPieces_Space) tWorldGen).isAllowedForHeight(pY)) continue;
+
+ // Care about weight
+ tRandomWeight -= ((GT_Worldgen_GT_Ore_SmallPieces_Space) tWorldGen).mAmount;
+ if (tRandomWeight <= 0) {
+ // And return found ore meta
+ tFoundOreMeta = ((GT_Worldgen_GT_Ore_SmallPieces_Space) tWorldGen).mMeta;
+ continueSearch = false;
}
}
}
if (tFoundOreMeta > -1) {
- if (bwOreGen == null) {
- // Make the oreID a small ore with correct type
- int tCustomOffset = (GTOreTypes.SmallOres.getOffset() + pTargetBlockOffset);
+ // Make the oreID a small ore with correct type
+ int tCustomOffset = (GTOreTypes.SmallOres.getOffset() + pTargetBlockOffset);
- // Set the smallOre block
- GT_TileEntity_Ores_Space
- .setOuterSpaceOreBlock(pDimDef, pWorld, pX, pY, pZ, tFoundOreMeta, true, tCustomOffset);
- tFlag = false;
- } else {
- bwOreGen.setOreBlock(pWorld, pX, pY, pZ, tFoundOreMeta, true);
- }
+ // Set the smallOre block
+ GT_TileEntity_Ores_Space
+ .setOuterSpaceOreBlock(pDimDef, pWorld, pX, pY, pZ, tFoundOreMeta, true, tCustomOffset);
+ tFlag = false;
}
}
}
@@ -524,8 +512,7 @@ public class GT_Worldgenerator_Space implements IWorldGenerator {
for (GT_Worldgen tWorldGen : GalacticGreg.oreVeinWorldgenList) {
if (tWorldGen instanceof GT_Worldgen_GT_Ore_Layer_Space)
tRandomWeight -= ((GT_Worldgen_GT_Ore_Layer_Space) tWorldGen).mWeight;
- else if (tWorldGen instanceof BW_Worldgen_Ore_Layer_Space)
- tRandomWeight -= ((BW_Worldgen_Ore_Layer_Space) tWorldGen).mWeight;
+
if (tRandomWeight <= 0) {
try {
if (tWorldGen.executeWorldgen(
diff --git a/src/main/java/bloodasp/galacticgreg/GalacticGreg.java b/src/main/java/bloodasp/galacticgreg/GalacticGreg.java
index 760564c741..2e566dca1d 100644
--- a/src/main/java/bloodasp/galacticgreg/GalacticGreg.java
+++ b/src/main/java/bloodasp/galacticgreg/GalacticGreg.java
@@ -9,8 +9,6 @@ import java.util.Random;
import bloodasp.galacticgreg.auxiliary.GalacticGregConfig;
import bloodasp.galacticgreg.auxiliary.LogHelper;
import bloodasp.galacticgreg.auxiliary.ProfilingStorage;
-import bloodasp.galacticgreg.bartworks.BW_Worldgen_Ore_Layer_Space;
-import bloodasp.galacticgreg.bartworks.BW_Worldgen_Ore_SmallOre_Space;
import bloodasp.galacticgreg.command.AEStorageCommand;
import bloodasp.galacticgreg.command.ProfilingCommand;
import bloodasp.galacticgreg.registry.GalacticGregRegistry;
@@ -21,7 +19,6 @@ import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.event.FMLServerStartingEvent;
import gregtech.GT_Version;
-import gregtech.api.GregTech_API;
import gregtech.api.world.GT_Worldgen;
@Mod(
@@ -84,25 +81,6 @@ public class GalacticGreg {
if (!GalacticGregRegistry.InitRegistry()) throw new RuntimeException(
"GalacticGreg registry has been finalized from a 3rd-party mod, this is forbidden!");
- // new WorldGenGaGT().run(); DO NOT UNCOMMENT, was moved to gregtech.loaders.postload.GT_Worldgenloader
-
- for (int f = 0,
- j = GregTech_API.sWorldgenFile.get("worldgen.GaGregBartworks", "AmountOfCustomLargeVeinSlots", 0); f
- < j; f++) {
- new BW_Worldgen_Ore_Layer_Space(
- "mix.custom." + (f < 10 ? "0" : "") + f,
- GregTech_API.sWorldgenFile
- .get("worldgen.GaGregBartworks." + "mix.custom." + (f < 10 ? "0" : "") + f, "Enabled", false));
- }
-
- for (int f = 0, j = GregTech_API.sWorldgenFile.get("worldgen.GaGregBartworks", "AmountOfCustomSmallSlots", 0); f
- < j; f++) {
- new BW_Worldgen_Ore_SmallOre_Space(
- "small.custom." + (f < 10 ? "0" : "") + f,
- GregTech_API.sWorldgenFile
- .get("worldgen.GaGregBartworks." + "small.custom." + (f < 10 ? "0" : "") + f, "Enabled", false));
- }
-
for (Runnable r : ADDITIONALVEINREGISTER) {
try {
r.run();
diff --git a/src/main/java/bloodasp/galacticgreg/ModRegisterer.java b/src/main/java/bloodasp/galacticgreg/ModRegisterer.java
deleted file mode 100644
index 889cee0ca6..0000000000
--- a/src/main/java/bloodasp/galacticgreg/ModRegisterer.java
+++ /dev/null
@@ -1,283 +0,0 @@
-package bloodasp.galacticgreg;
-
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.List;
-
-import net.minecraft.init.Blocks;
-import net.minecraft.world.gen.ChunkProviderEnd;
-
-import bloodasp.galacticgreg.api.AsteroidBlockComb;
-import bloodasp.galacticgreg.api.Enums;
-import bloodasp.galacticgreg.api.Enums.AllowedBlockPosition;
-import bloodasp.galacticgreg.api.Enums.DimensionType;
-import bloodasp.galacticgreg.api.GTOreTypes;
-import bloodasp.galacticgreg.api.ModContainer;
-import bloodasp.galacticgreg.api.ModDBMDef;
-import bloodasp.galacticgreg.api.ModDimensionDef;
-import bloodasp.galacticgreg.api.SpecialBlockComb;
-
-/**
- * In this class, you'll find everything you need in order to tell GGreg what to do and where. Everything is done in
- * here. If you're trying to use anything else, you're probably doing something wrong (Or I forgot to add it. In that
- * case, find me on github and create an issue please)
- */
-public class ModRegisterer {
-
- /**
- * Just a helper to convert a single element to a list
- *
- * @param pDef
- * @return
- */
- private static List<ModDBMDef> singleToList(ModDBMDef pDef) {
- List<ModDBMDef> tLst = new ArrayList<>();
- tLst.add(pDef);
- return tLst;
- }
-
- private static Method registerModContainer;
-
- /**
- * Use loose binding of the register-method. Should be enough to provide support for GGreg without the requirement
- * to have it in a modpack at all
- *
- * @param pModContainer
- */
- public static void registerModContainer(ModContainer pModContainer) {
- /*
- * try { registerModContainer.invoke(null, pModContainer); } catch (Exception e) { e.printStackTrace(); }
- */
- }
-
- /**
- * Try to get the instance of GalacticGregs registry in order to register stuff
- *
- * @return
- */
- public boolean Init() {
- return false;
- /*
- * try { Class gGregRegistry = Class.forName("bloodasp.galacticgreg.registry.GalacticGregRegistry");
- * registerModContainer = gGregRegistry.getMethod("registerModContainer", ModContainer.class); return true; }
- * catch (Exception e) { // GalacticGreg is not installed or something is wrong return false; }
- */
- }
-
- public void Register() {
- /*
- * if (GalacticGreg.GalacticConfig.RegisterVanillaDim) registerModContainer(Setup_Vanilla()); if
- * (GalacticGreg.GalacticConfig.RegisterGalacticCraftCore) registerModContainer(Setup_GalactiCraftCore()); if
- * (GalacticGreg.GalacticConfig.RegisterGalacticCraftPlanets) registerModContainer(Setup_GalactiCraftPlanets());
- * if (GalacticGreg.GalacticConfig.RegisterGalaxySpace) registerModContainer(Setup_GalaxySpace());
- */
- }
-
- /**
- * Vanilla MC (End Asteroids)
- */
- private ModContainer Setup_Vanilla() {
- // --- Mod Vanilla (Heh, "mod")
- ModContainer modMCVanilla = new ModContainer("Vanilla");
-
- // If you happen to have an asteroid dim, just skip the blocklist, and setDimensionType() to
- // DimensionType.Asteroid
- // also don't forget to add at least one asteroid type, or nothing will generate!
- ModDimensionDef dimEndAsteroids = new ModDimensionDef(
- "EndAsteroids",
- ChunkProviderEnd.class,
- DimensionType.Asteroid);
-
- dimEndAsteroids.addAsteroidMaterial(new AsteroidBlockComb(GTOreTypes.Netherrack));
- dimEndAsteroids.addAsteroidMaterial(new AsteroidBlockComb(GTOreTypes.RedGranite));
- dimEndAsteroids.addAsteroidMaterial(new AsteroidBlockComb(GTOreTypes.BlackGranite));
- dimEndAsteroids.addAsteroidMaterial(new AsteroidBlockComb(GTOreTypes.EndStone));
-
- // These Blocks will randomly be generated
- dimEndAsteroids.addSpecialAsteroidBlock(new SpecialBlockComb(Blocks.glowstone));
- dimEndAsteroids.addSpecialAsteroidBlock(new SpecialBlockComb(Blocks.lava, AllowedBlockPosition.AsteroidCore));
-
- modMCVanilla.addDimensionDef(dimEndAsteroids);
-
- return modMCVanilla;
- }
-
- /**
- * Mod GalactiCraft Just another setup based on existing classes, due the fact that we're working with GalactiCraft
- */
- public static ModContainer Setup_GalactiCraftCore() {
- ModContainer modGCraftCore = new ModContainer("GalacticraftCore");
- ModDBMDef DBMMoon = new ModDBMDef("tile.moonBlock", 4);
-
- ModDimensionDef tMoonDim = new ModDimensionDef(
- "Moon",
- "micdoodle8.mods.galacticraft.core.world.gen.ChunkProviderMoon",
- Enums.DimensionType.Planet,
- singleToList(DBMMoon));
- modGCraftCore.addDimensionDef(tMoonDim);
-
- return modGCraftCore;
- }
-
- /**
- * As GalactiCraftPlanets is an optional mod, don't hardlink it here
- *
- * @return
- */
- private ModContainer Setup_GalactiCraftPlanets() {
- ModContainer modGCraftPlanets = new ModContainer("GalacticraftMars");
- ModDBMDef DBMMars = new ModDBMDef("tile.mars", 9);
- ModDimensionDef dimMars = new ModDimensionDef(
- "Mars",
- "micdoodle8.mods.galacticraft.planets.mars.world.gen.ChunkProviderMars",
- DimensionType.Planet,
- singleToList(DBMMars));
-
- // Overwrite ore blocks on mars with red granite ones. This will default to regular stone if not set
- dimMars.setStoneType(GTOreTypes.RedGranite);
- modGCraftPlanets.addDimensionDef(dimMars);
-
- ModDimensionDef dimAsteroids = new ModDimensionDef(
- "Asteroids",
- "micdoodle8.mods.galacticraft.planets.asteroids.world.gen.ChunkProviderAsteroids",
- DimensionType.Asteroid);
- dimAsteroids.addAsteroidMaterial(new AsteroidBlockComb(GTOreTypes.BlackGranite));
- dimAsteroids.addAsteroidMaterial(new AsteroidBlockComb(GTOreTypes.RedGranite));
- dimAsteroids.addAsteroidMaterial(new AsteroidBlockComb(GTOreTypes.Netherrack));
- modGCraftPlanets.addDimensionDef(dimAsteroids);
-
- return modGCraftPlanets;
- }
-
- /**
- * Mod GalaxySpace by BlesseNtumble
- */
- private ModContainer Setup_GalaxySpace() {
- // First, we create a mod-container that will be populated with dimensions later.
- // The Name must match your modID, as it is checked if this mod is loaded, in order
- // to enable/disable the parsing/registering of dimensions
- ModContainer modCGalaxySpace = new ModContainer("GalaxySpace");
-
- // Now lets first define a block here for our dimension. You can add the modID, but you don't have to.
- // It will automatically add the mods name that is defined in the modcontainer.
- ModDBMDef DBMPhobos = new ModDBMDef("phobosstone");
- ModDBMDef DBMDeimos = new ModDBMDef("deimossubgrunt");
- ModDBMDef DBMCeres = new ModDBMDef("ceressubgrunt");
- ModDBMDef DBMIO = new ModDBMDef("iorock", 4); // This meta-4 is a copy&paste bug in GSpace and might not work in
- // further versions
- ModDBMDef DBMGanymede = new ModDBMDef("ganymedesubgrunt");
- ModDBMDef DBMCallisto = new ModDBMDef("callistosubice");
- ModDBMDef DBMVenus = new ModDBMDef("venussubgrunt");
- ModDBMDef DBMMercury = new ModDBMDef("mercurycore");
- ModDBMDef DBMEnceladus = new ModDBMDef("enceladusrock");
- ModDBMDef DBMTitan = new ModDBMDef("titanstone");
- ModDBMDef DBMOberon = new ModDBMDef("oberonstone");
- ModDBMDef DBMProteus = new ModDBMDef("proteusstone");
- ModDBMDef DBMTriton = new ModDBMDef("tritonstone");
- ModDBMDef DBMPluto = new ModDBMDef("plutostone");
-
- // Now define the available dimensions, and their chunkprovider.
- // Same as above, to not have any dependency in your code, you can just give it a string.
- // But it's better to use the actual ChunkProvider class. The Name is used for the GalacticGreg config file.
- // The resulting config setting will be: <ModID>_<Name you give here as arg0>_false = false
- // make sure to never change this name once you've generated your config files, as it will overwrite everything!
-
- // 25.10.2015 GSpace v2.5
- modCGalaxySpace.addDimensionDef(
- new ModDimensionDef(
- "Pluto",
- "blessentumble.planets.SolarSystem.pluto.dimension.ChunkProviderPluto",
- DimensionType.Planet,
- singleToList(DBMPluto)));
- modCGalaxySpace.addDimensionDef(
- new ModDimensionDef(
- "Triton",
- "blessentumble.moons.triton.dimension.ChunkProviderTriton",
- DimensionType.Planet,
- singleToList(DBMTriton)));
- modCGalaxySpace.addDimensionDef(
- new ModDimensionDef(
- "Proteus",
- "blessentumble.moons.proteus.dimension.ChunkProviderProteus",
- DimensionType.Planet,
- singleToList(DBMProteus)));
- modCGalaxySpace.addDimensionDef(
- new ModDimensionDef(
- "Oberon",
- "blessentumble.moons.oberon.dimension.ChunkProviderOberon",
- DimensionType.Planet,
- singleToList(DBMOberon)));
- modCGalaxySpace.addDimensionDef(
- new ModDimensionDef(
- "Titan",
- "blessentumble.moons.titan.dimension.ChunkProviderTitan",
- DimensionType.Planet,
- singleToList(DBMTitan)));
- modCGalaxySpace.addDimensionDef(
- new ModDimensionDef(
- "Callisto",
- "blessentumble.moons.SolarSystem.callisto.dimension.ChunkProviderCallisto",
- DimensionType.Planet,
- singleToList(DBMCallisto)));
- modCGalaxySpace.addDimensionDef(
- new ModDimensionDef(
- "Ganymede",
- "blessentumble.moons.ganymede.dimension.ChunkProviderGanymede",
- DimensionType.Planet,
- singleToList(DBMGanymede)));
- modCGalaxySpace.addDimensionDef(
- new ModDimensionDef(
- "Ceres",
- "blessentumble.planets.SolarSystem.ceres.dimension.ChunkProviderCeres",
- DimensionType.Planet,
- singleToList(DBMCeres)));
- modCGalaxySpace.addDimensionDef(
- new ModDimensionDef(
- "Deimos",
- "blessentumble.moons.SolarSystem.deimos.dimension.ChunkProviderDeimos",
- DimensionType.Planet,
- singleToList(DBMDeimos)));
- modCGalaxySpace.addDimensionDef(
- new ModDimensionDef(
- "Enceladus",
- "blessentumble.moons.SolarSystem.enceladus.dimension.ChunkProviderEnceladus",
- DimensionType.Planet,
- singleToList(DBMEnceladus)));
- modCGalaxySpace.addDimensionDef(
- new ModDimensionDef(
- "Io",
- "blessentumble.moons.io.dimension.ChunkProviderIo",
- DimensionType.Planet,
- singleToList(DBMIO)));
- modCGalaxySpace.addDimensionDef(
- new ModDimensionDef(
- "Phobos",
- "blessentumble.moons.phobos.dimension.ChunkProviderPhobos",
- DimensionType.Planet,
- singleToList(DBMPhobos)));
- modCGalaxySpace.addDimensionDef(
- new ModDimensionDef(
- "Venus",
- "blessentumble.planets.SolarSystem.venus.dimension.ChunkProviderVenus",
- DimensionType.Planet,
- singleToList(DBMVenus)));
- modCGalaxySpace.addDimensionDef(
- new ModDimensionDef(
- "Mercury",
- "blessentumble.planets.SolarSystem.mercury.dimension.ChunkProviderMercury",
- DimensionType.Planet,
- singleToList(DBMMercury)));
-
- // GSpace 2.2-Beta: Kupierbelt
- ModDimensionDef dimKupierBelt = new ModDimensionDef(
- "Kuiperbelt",
- "blessentumble.planets.SolarSystem.kuiperbelt.dimension.ChunkProviderKuiper",
- DimensionType.Asteroid);
- dimKupierBelt.setDimensionType(DimensionType.Asteroid);
- dimKupierBelt.addAsteroidMaterial(new AsteroidBlockComb(GTOreTypes.RedGranite));
- dimKupierBelt.addAsteroidMaterial(new AsteroidBlockComb(GTOreTypes.BlackGranite));
- modCGalaxySpace.addDimensionDef(dimKupierBelt);
-
- return modCGalaxySpace;
- }
-}
diff --git a/src/main/java/bloodasp/galacticgreg/SpaceDimRegisterer.java b/src/main/java/bloodasp/galacticgreg/SpaceDimRegisterer.java
new file mode 100644
index 0000000000..360d7f1bda
--- /dev/null
+++ b/src/main/java/bloodasp/galacticgreg/SpaceDimRegisterer.java
@@ -0,0 +1,179 @@
+package bloodasp.galacticgreg;
+
+import static bloodasp.galacticgreg.api.enums.DimensionDef.Anubis;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.Asteroids;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.BarnardC;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.BarnardE;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.BarnardF;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.Callisto;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.CentauriAlpha;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.Ceres;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.Deimos;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.Enceladus;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.EndAsteroids;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.Europa;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.Ganymede;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.Haumea;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.Horus;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.Io;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.KuiperBelt;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.Maahes;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.MakeMake;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.Mars;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.MehenBelt;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.Mercury;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.Miranda;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.Moon;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.Neper;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.Oberon;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.Phobos;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.Pluto;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.Proteus;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.Seth;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.TcetiE;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.Titan;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.Triton;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.VegaB;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.Venus;
+import static bloodasp.galacticgreg.api.enums.ModContainers.AmunRa;
+import static bloodasp.galacticgreg.api.enums.ModContainers.GalactiCraftCore;
+import static bloodasp.galacticgreg.api.enums.ModContainers.GalacticraftMars;
+import static bloodasp.galacticgreg.api.enums.ModContainers.GalaxySpace;
+import static bloodasp.galacticgreg.api.enums.ModContainers.Vanilla;
+
+import net.minecraft.init.Blocks;
+
+import bloodasp.galacticgreg.api.AsteroidBlockComb;
+import bloodasp.galacticgreg.api.Enums;
+import bloodasp.galacticgreg.api.GTOreTypes;
+import bloodasp.galacticgreg.api.ModContainer;
+import bloodasp.galacticgreg.api.SpecialBlockComb;
+import bloodasp.galacticgreg.registry.GalacticGregRegistry;
+
+/**
+ * In this class, you'll find everything you need in order to tell GGreg what to do and where. Everything is done in
+ * here. If you're trying to use anything else, you're probably doing something wrong (Or I forgot to add it. In that
+ * case, find me on github and create an issue please)
+ */
+public class SpaceDimRegisterer {
+
+ public static void register() {
+ GalacticGregRegistry.registerModContainer(setupVanilla());
+ GalacticGregRegistry.registerModContainer(setupGalactiCraftCore());
+ GalacticGregRegistry.registerModContainer(setupGalactiCraftPlanets());
+ GalacticGregRegistry.registerModContainer(setupGalaxySpace());
+ GalacticGregRegistry.registerModContainer(setupAmunRa());
+ }
+
+ /**
+ * Vanilla MC (End Asteroids)
+ */
+ private static ModContainer setupVanilla() {
+
+ // If you happen to have an asteroid dim, just skip the blocklist, and setDimensionType() to
+ // DimensionType.Asteroid
+ // also don't forget to add at least one asteroid type, or nothing will generate!
+ EndAsteroids.modDimensionDef.addAsteroidMaterial(new AsteroidBlockComb(GTOreTypes.Netherrack));
+ EndAsteroids.modDimensionDef.addAsteroidMaterial(new AsteroidBlockComb(GTOreTypes.RedGranite));
+ EndAsteroids.modDimensionDef.addAsteroidMaterial(new AsteroidBlockComb(GTOreTypes.BlackGranite));
+ EndAsteroids.modDimensionDef.addAsteroidMaterial(new AsteroidBlockComb(GTOreTypes.EndStone));
+
+ // These Blocks will randomly be generated
+ EndAsteroids.modDimensionDef.addSpecialAsteroidBlock(new SpecialBlockComb(Blocks.glowstone));
+ EndAsteroids.modDimensionDef
+ .addSpecialAsteroidBlock(new SpecialBlockComb(Blocks.lava, Enums.AllowedBlockPosition.AsteroidCore));
+
+ Vanilla.modContainer.addDimensionDef(EndAsteroids.modDimensionDef);
+
+ return Vanilla.modContainer;
+ }
+
+ /**
+ * Mod GalactiCraft
+ */
+ private static ModContainer setupGalactiCraftCore() {
+ GalactiCraftCore.modContainer.addDimensionDef(Moon.modDimensionDef);
+ return GalactiCraftCore.modContainer;
+ }
+
+ /**
+ * As GalactiCraftPlanets is an optional mod, don't hardlink it here
+ */
+ private static ModContainer setupGalactiCraftPlanets() {
+ // Overwrite ore blocks on mars with red granite ones. This will default to regular stone if not set
+ Mars.modDimensionDef.setStoneType(GTOreTypes.RedGranite);
+ GalacticraftMars.modContainer.addDimensionDef(Mars.modDimensionDef);
+
+ Asteroids.modDimensionDef.addAsteroidMaterial(new AsteroidBlockComb(GTOreTypes.BlackGranite));
+ Asteroids.modDimensionDef.addAsteroidMaterial(new AsteroidBlockComb(GTOreTypes.RedGranite));
+ Asteroids.modDimensionDef.addAsteroidMaterial(new AsteroidBlockComb(GTOreTypes.Netherrack));
+ GalacticraftMars.modContainer.addDimensionDef(Asteroids.modDimensionDef);
+
+ return GalacticraftMars.modContainer;
+ }
+
+ /**
+ * Mod GalaxySpace by BlesseNtumble
+ */
+ private static ModContainer setupGalaxySpace() {
+ // First, we create a mod-container that will be populated with dimensions later.
+ // The Name must match your ID, as it is checked if this mod is loaded, in order
+ // to enable/disable the parsing/registering of dimensions
+ // See enum ModContainers
+
+ // Now lets first define a block here for our dimension. You can add the ID, but you don't have to.
+ // It will automatically add the mods name that is defined in the modcontainer.
+ // See enum DimensionBlockMetaDefinitionList
+
+ // Now define the available dimensions, and their chunkprovider.
+ // Same as above, to not have any dependency in your code, you can just give it a string.
+ // But it's better to use the actual ChunkProvider class. The Name is used for the GalacticGreg config file.
+ // The resulting config setting will be: <ModID>_<Name you give here as arg0>_false = false
+ // make sure to never change this name once you've generated your config files, as it will overwrite everything!
+
+ // 30.11.2016 GSpace v1.1.3 Stable
+ GalaxySpace.modContainer.addDimensionDef(Pluto.modDimensionDef);
+ GalaxySpace.modContainer.addDimensionDef(Triton.modDimensionDef);
+ GalaxySpace.modContainer.addDimensionDef(Proteus.modDimensionDef);
+ GalaxySpace.modContainer.addDimensionDef(Oberon.modDimensionDef);
+ GalaxySpace.modContainer.addDimensionDef(Titan.modDimensionDef);
+ GalaxySpace.modContainer.addDimensionDef(Callisto.modDimensionDef);
+ GalaxySpace.modContainer.addDimensionDef(Ganymede.modDimensionDef);
+ GalaxySpace.modContainer.addDimensionDef(Ceres.modDimensionDef);
+ GalaxySpace.modContainer.addDimensionDef(Deimos.modDimensionDef);
+ GalaxySpace.modContainer.addDimensionDef(Enceladus.modDimensionDef);
+ GalaxySpace.modContainer.addDimensionDef(Io.modDimensionDef);
+ GalaxySpace.modContainer.addDimensionDef(Europa.modDimensionDef);
+ GalaxySpace.modContainer.addDimensionDef(Phobos.modDimensionDef);
+ GalaxySpace.modContainer.addDimensionDef(Venus.modDimensionDef);
+ GalaxySpace.modContainer.addDimensionDef(Mercury.modDimensionDef);
+ GalaxySpace.modContainer.addDimensionDef(MakeMake.modDimensionDef);
+ GalaxySpace.modContainer.addDimensionDef(Haumea.modDimensionDef);
+ GalaxySpace.modContainer.addDimensionDef(CentauriAlpha.modDimensionDef);
+ GalaxySpace.modContainer.addDimensionDef(VegaB.modDimensionDef);
+ GalaxySpace.modContainer.addDimensionDef(BarnardC.modDimensionDef);
+ GalaxySpace.modContainer.addDimensionDef(BarnardE.modDimensionDef);
+ GalaxySpace.modContainer.addDimensionDef(BarnardF.modDimensionDef);
+ GalaxySpace.modContainer.addDimensionDef(TcetiE.modDimensionDef);
+ GalaxySpace.modContainer.addDimensionDef(Miranda.modDimensionDef);
+ KuiperBelt.modDimensionDef.setDimensionType(Enums.DimensionType.Asteroid);
+ KuiperBelt.modDimensionDef.addAsteroidMaterial(new AsteroidBlockComb(GTOreTypes.RedGranite));
+ KuiperBelt.modDimensionDef.addAsteroidMaterial(new AsteroidBlockComb(GTOreTypes.BlackGranite));
+ GalaxySpace.modContainer.addDimensionDef(KuiperBelt.modDimensionDef);
+ return GalaxySpace.modContainer;
+ }
+
+ /**
+ * Mod Amun-Ra
+ */
+ private static ModContainer setupAmunRa() {
+ AmunRa.modContainer.addDimensionDef(Neper.modDimensionDef);
+ AmunRa.modContainer.addDimensionDef(Maahes.modDimensionDef);
+ AmunRa.modContainer.addDimensionDef(Anubis.modDimensionDef);
+ AmunRa.modContainer.addDimensionDef(Horus.modDimensionDef);
+ AmunRa.modContainer.addDimensionDef(Seth.modDimensionDef);
+ MehenBelt.modDimensionDef.addAsteroidMaterial(GTOreTypes.BlackGranite);
+ AmunRa.modContainer.addDimensionDef(MehenBelt.modDimensionDef);
+ return AmunRa.modContainer;
+ }
+}
diff --git a/src/main/java/bloodasp/galacticgreg/WorldGenGaGT.java b/src/main/java/bloodasp/galacticgreg/WorldGenGaGT.java
index 90f51ec7e1..f5577c9295 100644
--- a/src/main/java/bloodasp/galacticgreg/WorldGenGaGT.java
+++ b/src/main/java/bloodasp/galacticgreg/WorldGenGaGT.java
@@ -1,7 +1,7 @@
package bloodasp.galacticgreg;
-import gregtech.common.GT_Worldgen_GT_Ore_Layer;
-import gregtech.common.GT_Worldgen_GT_Ore_SmallPieces;
+import gregtech.api.enums.OreMixes;
+import gregtech.api.enums.SmallOres;
public class WorldGenGaGT implements Runnable {
@@ -10,80 +10,19 @@ public class WorldGenGaGT implements Runnable {
new GT_Worldgenerator_Space();
/*
- * new GT_Worldgen_GT_Ore_SmallPieces_Space("ore.small.copper", true, 60, 120, 32, Materials.Copper); new
- * GT_Worldgen_GT_Ore_SmallPieces_Space("ore.small.tin", true, 60, 120, 32, Materials.Tin); new
- * GT_Worldgen_GT_Ore_SmallPieces_Space("ore.small.bismuth", true, 80, 120, 8, Materials.Bismuth); new
- * GT_Worldgen_GT_Ore_SmallPieces_Space("ore.small.coal", true, 60, 100, 24, Materials.Coal); new
- * GT_Worldgen_GT_Ore_SmallPieces_Space("ore.small.iron", true, 40, 80, 16, Materials.Iron); new
- * GT_Worldgen_GT_Ore_SmallPieces_Space("ore.small.lead", true, 40, 80, 16, Materials.Lead); new
- * GT_Worldgen_GT_Ore_SmallPieces_Space("ore.small.zinc", true, 30, 60, 12, Materials.Zinc); new
- * GT_Worldgen_GT_Ore_SmallPieces_Space("ore.small.gold", true, 20, 40, 8, Materials.Gold); new
- * GT_Worldgen_GT_Ore_SmallPieces_Space("ore.small.silver", true, 20, 40, 8, Materials.Silver); new
- * GT_Worldgen_GT_Ore_SmallPieces_Space("ore.small.nickel", true, 20, 40, 8, Materials.Nickel); new
- * GT_Worldgen_GT_Ore_SmallPieces_Space("ore.small.lapis", true, 20, 40, 4, Materials.Lapis); new
- * GT_Worldgen_GT_Ore_SmallPieces_Space("ore.small.diamond", true, 5, 10, 2, Materials.Diamond); new
- * GT_Worldgen_GT_Ore_SmallPieces_Space("ore.small.redstone", true, 5, 20, 8, Materials.Redstone); new
- * GT_Worldgen_GT_Ore_SmallPieces_Space("ore.small.platinum", true, 20, 40, 8, Materials.Platinum); new
- * GT_Worldgen_GT_Ore_SmallPieces_Space("ore.small.iridium", true, 20, 40, 8, Materials.Iridium); new
- * GT_Worldgen_GT_Ore_SmallPieces_Space("ore.small.netherquartz", true, 30, 120, 64, Materials.NetherQuartz);
- * new GT_Worldgen_GT_Ore_SmallPieces_Space("ore.small.saltpeter", true, 10, 60, 8, Materials.Saltpeter); new
- * GT_Worldgen_GT_Ore_SmallPieces_Space("ore.small.sulfur_n", true, 10, 60, 32, Materials.Sulfur); new
- * GT_Worldgen_GT_Ore_SmallPieces_Space("ore.small.sulfur_o", true, 5, 15, 8, Materials.Sulfur); new
- * GT_Worldgen_GT_Ore_SmallPieces_Space("ore.small.emerald", true, 5, 250, 1, Materials.Emerald); new
- * GT_Worldgen_GT_Ore_SmallPieces_Space("ore.small.ruby", true, 5, 250, 1, Materials.Ruby); new
- * GT_Worldgen_GT_Ore_SmallPieces_Space("ore.small.sapphire", true, 5, 250, 1, Materials.Sapphire); new
- * GT_Worldgen_GT_Ore_SmallPieces_Space("ore.small.greensapphire", true, 5, 250, 1, Materials.GreenSapphire);
- * new GT_Worldgen_GT_Ore_SmallPieces_Space("ore.small.olivine", true, 5, 250, 1, Materials.Olivine); new
- * GT_Worldgen_GT_Ore_SmallPieces_Space("ore.small.topaz", true, 5, 250, 1, Materials.Topaz); new
- * GT_Worldgen_GT_Ore_SmallPieces_Space("ore.small.tanzanite", true, 5, 250, 1, Materials.Tanzanite); new
- * GT_Worldgen_GT_Ore_SmallPieces_Space("ore.small.amethyst", true, 5, 250, 1, Materials.Amethyst); new
- * GT_Worldgen_GT_Ore_SmallPieces_Space("ore.small.opal", true, 5, 250, 1, Materials.Opal); new
- * GT_Worldgen_GT_Ore_SmallPieces_Space("ore.small.jasper", true, 5, 250, 1, Materials.Jasper); new
- * GT_Worldgen_GT_Ore_SmallPieces_Space("ore.small.bluetopaz", true, 5, 250, 1, Materials.BlueTopaz); new
- * GT_Worldgen_GT_Ore_SmallPieces_Space("ore.small.amber", true, 5, 250, 1, Materials.Amber); new
- * GT_Worldgen_GT_Ore_SmallPieces_Space("ore.small.foolsruby", true, 5, 250, 1, Materials.FoolsRuby); new
- * GT_Worldgen_GT_Ore_SmallPieces_Space("ore.small.garnetred", true, 5, 250, 1, Materials.GarnetRed); new
- * GT_Worldgen_GT_Ore_SmallPieces_Space("ore.small.garnetyellow", true, 5, 250, 1, Materials.GarnetYellow);
- */
- /*
* This part here enables every GT Small Ore for Space Dims.
*/
- for (int k = 0; k < GT_Worldgen_GT_Ore_SmallPieces.sList.size(); ++k) {
- new GT_Worldgen_GT_Ore_SmallPieces_Space(
- GT_Worldgen_GT_Ore_SmallPieces.sList.get(k).mWorldGenName,
- GT_Worldgen_GT_Ore_SmallPieces.sList.get(k).mEnabled,
- GT_Worldgen_GT_Ore_SmallPieces.sList.get(k).mMinY,
- GT_Worldgen_GT_Ore_SmallPieces.sList.get(k).mMaxY,
- GT_Worldgen_GT_Ore_SmallPieces.sList.get(k).mAmount,
- GT_Worldgen_GT_Ore_SmallPieces.sList.get(k).mMeta);
+ for (SmallOres ore : SmallOres.values()) {
+ ore.addGaGregSmallOre();
}
/*
* This part here enables every GT Ore for Space Dims.
*/
- for (int k = 0; k < GT_Worldgen_GT_Ore_Layer.sList.size(); ++k) {
- new GT_Worldgen_GT_Ore_Layer_Space(
- GT_Worldgen_GT_Ore_Layer.sList.get(k).mWorldGenName,
- GT_Worldgen_GT_Ore_Layer.sList.get(k).mEnabled,
- GT_Worldgen_GT_Ore_Layer.sList.get(k).mMinY,
- GT_Worldgen_GT_Ore_Layer.sList.get(k).mMaxY,
- GT_Worldgen_GT_Ore_Layer.sList.get(k).mWeight,
- GT_Worldgen_GT_Ore_Layer.sList.get(k).mDensity,
- GT_Worldgen_GT_Ore_Layer.sList.get(k).mSize,
- GT_Worldgen_GT_Ore_Layer.sList.get(k).mPrimaryMeta,
- GT_Worldgen_GT_Ore_Layer.sList.get(k).mSecondaryMeta,
- GT_Worldgen_GT_Ore_Layer.sList.get(k).mBetweenMeta,
- GT_Worldgen_GT_Ore_Layer.sList.get(k).mSporadicMeta);
- }
- /*
- * int f = 0; for (int j = GregTech_API.sWorldgenFile.get("worldgen", "AmountOfCustomSmallOreSlots", 16); f < j;
- * f++) { new GT_Worldgen_GT_Ore_SmallPieces_Space("ore.small.custom." + (f < 10 ? "0" : "") + f, false, 0, 0,
- * 0, Materials._NULL); } int i = 0; for (int j = GregTech_API.sWorldgenFile.get("worldgen",
- * "AmountOfCustomLargeVeinSlots", 16); i < j; i++) { new GT_Worldgen_GT_Ore_Layer_Space("ore.mix.custom." + (i
- * < 10 ? "0" : "") + i, false, 0, 0, 0, 0, 0, Materials._NULL, Materials._NULL, Materials._NULL,
- * Materials._NULL); }
- */
+ for (OreMixes mix : OreMixes.values()) {
+ mix.addGaGregOreLayer();
+ }
}
}
diff --git a/src/main/java/bloodasp/galacticgreg/api/Enums.java b/src/main/java/bloodasp/galacticgreg/api/Enums.java
index 0c8afaf243..0d864e54c9 100644
--- a/src/main/java/bloodasp/galacticgreg/api/Enums.java
+++ b/src/main/java/bloodasp/galacticgreg/api/Enums.java
@@ -46,12 +46,6 @@ public class Enums {
* The Dimension is a planet, and only ores shall be generated in the ground
*/
Planet,
-
- /**
- * The Dimension is a special dim where Asteroids *and* ores shall spawn. Additional config values will be
- * generated in worldconfig
- */
- AsteroidAndPlanet
}
}
diff --git a/src/main/java/bloodasp/galacticgreg/api/enums/DimensionBlockMetaDefinitionList.java b/src/main/java/bloodasp/galacticgreg/api/enums/DimensionBlockMetaDefinitionList.java
new file mode 100644
index 0000000000..279360d2d9
--- /dev/null
+++ b/src/main/java/bloodasp/galacticgreg/api/enums/DimensionBlockMetaDefinitionList.java
@@ -0,0 +1,57 @@
+package bloodasp.galacticgreg.api.enums;
+
+import java.util.Arrays;
+import java.util.List;
+
+import net.minecraft.init.Blocks;
+
+import bloodasp.galacticgreg.api.ModDBMDef;
+
+public enum DimensionBlockMetaDefinitionList {
+
+ Moon(new ModDBMDef("tile.moonBlock", 4)),
+ Mars(new ModDBMDef("tile.mars", 9)),
+ Phobos(new ModDBMDef("phobosblocks", 2)),
+ Deimos(new ModDBMDef("deimosblocks", 1)),
+ Ceres(new ModDBMDef("ceresblocks", 1)),
+ Io(new ModDBMDef("ioblocks", 2)),
+ Ganymede(new ModDBMDef("ganymedeblocks", 1)),
+ Callisto(new ModDBMDef("callistoblocks", 1)),
+ Venus(new ModDBMDef("venusblocks", 1)),
+ Mercury(new ModDBMDef("mercuryblocks", 2)),
+ Enceladus(new ModDBMDef("enceladusblocks", 1)),
+ Titan(new ModDBMDef("titanblocks", 2)),
+ Oberon(new ModDBMDef("oberonblocks", 2)),
+ Proteus(new ModDBMDef("proteusblocks", 2)),
+ Triton(new ModDBMDef("tritonblocks", 2)),
+ Pluto(new ModDBMDef("plutoblocks", 5)),
+ MakeMake(new ModDBMDef("makemakegrunt", 1)),
+ Haumea(new ModDBMDef("haumeablocks")),
+ CentauriAlpha(new ModDBMDef("acentauribbsubgrunt")),
+ VegaB(new ModDBMDef("vegabsubgrunt")),
+ BarnardaC(new ModDBMDef("barnardaCdirt"), new ModDBMDef(Blocks.stone)),
+ BarnardaE(new ModDBMDef("barnardaEsubgrunt")),
+ BarnardaF(new ModDBMDef("barnardaFsubgrunt")),
+ TcetiE(new ModDBMDef("tcetieblocks", 2)),
+ Miranda(new ModDBMDef("mirandablocks", 2)),
+ Europa(
+ // Europa top layer turned off bc ores are too easy to spot
+ new ModDBMDef("europagrunt", 1), // Europa Ice Layer ~55-65 without top layer
+ new ModDBMDef(Blocks.water), new ModDBMDef(Blocks.flowing_water), new ModDBMDef(Blocks.ice), // Generates
+ // directly over
+ // bedrock
+ new ModDBMDef(Blocks.packed_ice), // Generates directly over bedrock
+ new ModDBMDef("europaunderwatergeyser") // Generates directly over bedrock
+ ),
+ Neper(new ModDBMDef(Blocks.stone), new ModDBMDef("tile.baseBlockRock", 10)),
+ Maahes(new ModDBMDef("tile.baseBlockRock", 1)),
+ Anubis(new ModDBMDef("tile.baseBlockRock", 1)),
+ Horus(new ModDBMDef(Blocks.obsidian)),
+ Seth(new ModDBMDef(Blocks.hardened_clay));
+
+ public final List<ModDBMDef> DBMDefList;
+
+ private DimensionBlockMetaDefinitionList(ModDBMDef... DBMDefArray) {
+ DBMDefList = Arrays.asList(DBMDefArray);
+ }
+}
diff --git a/src/main/java/bloodasp/galacticgreg/api/enums/DimensionDef.java b/src/main/java/bloodasp/galacticgreg/api/enums/DimensionDef.java
new file mode 100644
index 0000000000..d5e766b9f7
--- /dev/null
+++ b/src/main/java/bloodasp/galacticgreg/api/enums/DimensionDef.java
@@ -0,0 +1,228 @@
+package bloodasp.galacticgreg.api.enums;
+
+import net.minecraft.world.gen.ChunkProviderEnd;
+
+import bloodasp.galacticgreg.api.Enums;
+import bloodasp.galacticgreg.api.ModDimensionDef;
+
+public enum DimensionDef {
+
+ EndAsteroids(new ModDimensionDef(DimNames.ENDASTEROIDS, ChunkProviderEnd.class, Enums.DimensionType.Asteroid)),
+ Moon(new ModDimensionDef(
+ DimNames.MOON,
+ "micdoodle8.mods.galacticraft.core.world.gen.ChunkProviderMoon",
+ Enums.DimensionType.Planet,
+ DimensionBlockMetaDefinitionList.Moon.DBMDefList)),
+ Mars(new ModDimensionDef(
+ DimNames.MARS,
+ "micdoodle8.mods.galacticraft.planets.mars.world.gen.ChunkProviderMars",
+ Enums.DimensionType.Planet,
+ DimensionBlockMetaDefinitionList.Mars.DBMDefList)),
+ Asteroids(new ModDimensionDef(
+ DimNames.ASTEROIDS,
+ "micdoodle8.mods.galacticraft.planets.asteroids.world.gen.ChunkProviderAsteroids",
+ Enums.DimensionType.Asteroid)),
+ Pluto(new ModDimensionDef(
+ DimNames.PLUTO,
+ "galaxyspace.SolarSystem.planets.pluto.dimension.ChunkProviderPluto",
+ Enums.DimensionType.Planet,
+ DimensionBlockMetaDefinitionList.Pluto.DBMDefList)),
+ Triton(new ModDimensionDef(
+ DimNames.TRITON,
+ "galaxyspace.SolarSystem.moons.triton.dimension.ChunkProviderTriton",
+ Enums.DimensionType.Planet,
+ DimensionBlockMetaDefinitionList.Triton.DBMDefList)),
+ Proteus(new ModDimensionDef(
+ DimNames.PROTEUS,
+ "galaxyspace.SolarSystem.moons.proteus.dimension.ChunkProviderProteus",
+ Enums.DimensionType.Planet,
+ DimensionBlockMetaDefinitionList.Proteus.DBMDefList)),
+ Oberon(new ModDimensionDef(
+ DimNames.OBERON,
+ "galaxyspace.SolarSystem.moons.oberon.dimension.ChunkProviderOberon",
+ Enums.DimensionType.Planet,
+ DimensionBlockMetaDefinitionList.Oberon.DBMDefList)),
+ Titan(new ModDimensionDef(
+ DimNames.TITAN,
+ "galaxyspace.SolarSystem.moons.titan.dimension.ChunkProviderTitan",
+ Enums.DimensionType.Planet,
+ DimensionBlockMetaDefinitionList.Titan.DBMDefList)),
+ Callisto(new ModDimensionDef(
+ DimNames.CALLISTO,
+ "galaxyspace.SolarSystem.moons.callisto.dimension.ChunkProviderCallisto",
+ Enums.DimensionType.Planet,
+ DimensionBlockMetaDefinitionList.Callisto.DBMDefList)),
+ Ganymede(new ModDimensionDef(
+ DimNames.GANYMEDE,
+ "galaxyspace.SolarSystem.moons.ganymede.dimension.ChunkProviderGanymede",
+ Enums.DimensionType.Planet,
+ DimensionBlockMetaDefinitionList.Ganymede.DBMDefList)),
+ Ceres(new ModDimensionDef(
+ DimNames.CERES,
+ "galaxyspace.SolarSystem.planets.ceres.dimension.ChunkProviderCeres",
+ Enums.DimensionType.Planet,
+ DimensionBlockMetaDefinitionList.Ceres.DBMDefList)),
+ Deimos(new ModDimensionDef(
+ DimNames.DEIMOS,
+ "galaxyspace.SolarSystem.moons.deimos.dimension.ChunkProviderDeimos",
+ Enums.DimensionType.Planet,
+ DimensionBlockMetaDefinitionList.Deimos.DBMDefList)),
+ Enceladus(new ModDimensionDef(
+ DimNames.ENCELADUS,
+ "galaxyspace.SolarSystem.moons.enceladus.dimension.ChunkProviderEnceladus",
+ Enums.DimensionType.Planet,
+ DimensionBlockMetaDefinitionList.Enceladus.DBMDefList)),
+ Io(new ModDimensionDef(
+ DimNames.IO,
+ "galaxyspace.SolarSystem.moons.io.dimension.ChunkProviderIo",
+ Enums.DimensionType.Planet,
+ DimensionBlockMetaDefinitionList.Io.DBMDefList)),
+ Europa(new ModDimensionDef(
+ DimNames.EUROPA,
+ "galaxyspace.SolarSystem.moons.europa.dimension.ChunkProviderEuropa",
+ Enums.DimensionType.Planet,
+ DimensionBlockMetaDefinitionList.Europa.DBMDefList)),
+ Phobos(new ModDimensionDef(
+ DimNames.PHOBOS,
+ "galaxyspace.SolarSystem.moons.phobos.dimension.ChunkProviderPhobos",
+ Enums.DimensionType.Planet,
+ DimensionBlockMetaDefinitionList.Phobos.DBMDefList)),
+ Venus(new ModDimensionDef(
+ DimNames.VENUS,
+ "galaxyspace.SolarSystem.planets.venus.dimension.ChunkProviderVenus",
+ Enums.DimensionType.Planet,
+ DimensionBlockMetaDefinitionList.Venus.DBMDefList)),
+ Mercury(new ModDimensionDef(
+ DimNames.MERCURY,
+ "galaxyspace.SolarSystem.planets.mercury.dimension.ChunkProviderMercury",
+ Enums.DimensionType.Planet,
+ DimensionBlockMetaDefinitionList.Mercury.DBMDefList)),
+ MakeMake(new ModDimensionDef(
+ DimNames.MAKEMAKE,
+ "galaxyspace.SolarSystem.planets.makemake.dimension.ChunkProviderMakemake",
+ Enums.DimensionType.Planet,
+ DimensionBlockMetaDefinitionList.MakeMake.DBMDefList)),
+ Haumea(new ModDimensionDef(
+ DimNames.HAUMEA,
+ "galaxyspace.SolarSystem.planets.haumea.dimension.ChunkProviderHaumea",
+ Enums.DimensionType.Planet,
+ DimensionBlockMetaDefinitionList.Haumea.DBMDefList)),
+ CentauriAlpha(new ModDimensionDef(
+ DimNames.CENTAURIA,
+ "galaxyspace.ACentauriSystem.planets.aCentauriBb.dimension.ChunkProviderACentauri",
+ Enums.DimensionType.Planet,
+ DimensionBlockMetaDefinitionList.CentauriAlpha.DBMDefList)),
+ VegaB(new ModDimensionDef(
+ DimNames.VEGAB,
+ "galaxyspace.VegaSystem.planets.vegaB.dimension.ChunkProviderVegaB",
+ Enums.DimensionType.Planet,
+ DimensionBlockMetaDefinitionList.VegaB.DBMDefList)),
+ BarnardC(new ModDimensionDef(
+ DimNames.BARNARDC,
+ "galaxyspace.BarnardsSystem.planets.barnardaC.dimension.ChunkProviderBarnardaC",
+ Enums.DimensionType.Planet,
+ DimensionBlockMetaDefinitionList.BarnardaC.DBMDefList)),
+ BarnardE(new ModDimensionDef(
+ DimNames.BARNARDE,
+ "galaxyspace.BarnardsSystem.planets.barnardaE.dimension.ChunkProviderBarnardaE",
+ Enums.DimensionType.Planet,
+ DimensionBlockMetaDefinitionList.BarnardaE.DBMDefList)),
+ BarnardF(new ModDimensionDef(
+ DimNames.BARNARDF,
+ "galaxyspace.BarnardsSystem.planets.barnardaF.dimension.ChunkProviderBarnardaF",
+ Enums.DimensionType.Planet,
+ DimensionBlockMetaDefinitionList.BarnardaF.DBMDefList)),
+ TcetiE(new ModDimensionDef(
+ DimNames.TCETIE,
+ "galaxyspace.TCetiSystem.planets.tcetiE.dimension.ChunkProviderTCetiE",
+ Enums.DimensionType.Planet,
+ DimensionBlockMetaDefinitionList.TcetiE.DBMDefList)),
+ Miranda(new ModDimensionDef(
+ DimNames.MIRANDA,
+ "galaxyspace.SolarSystem.moons.miranda.dimension.ChunkProviderMiranda",
+ Enums.DimensionType.Planet,
+ DimensionBlockMetaDefinitionList.Miranda.DBMDefList)),
+ KuiperBelt(new ModDimensionDef(
+ DimNames.KUIPERBELT,
+ "galaxyspace.SolarSystem.planets.kuiperbelt.dimension.ChunkProviderKuiper",
+ Enums.DimensionType.Asteroid)),
+
+ Neper(new ModDimensionDef(
+ DimNames.NEPER,
+ "de.katzenpapst.amunra.world.neper.NeperChunkProvider",
+ Enums.DimensionType.Planet,
+ DimensionBlockMetaDefinitionList.Neper.DBMDefList)),
+ Maahes(new ModDimensionDef(
+ DimNames.MAAHES,
+ "de.katzenpapst.amunra.world.maahes.MaahesChunkProvider",
+ Enums.DimensionType.Planet,
+ DimensionBlockMetaDefinitionList.Maahes.DBMDefList)),
+ Anubis(new ModDimensionDef(
+ DimNames.ANUBIS,
+ "de.katzenpapst.amunra.world.anubis.AnubisChunkProvider",
+ Enums.DimensionType.Planet,
+ DimensionBlockMetaDefinitionList.Anubis.DBMDefList)),
+ Horus(new ModDimensionDef(
+ DimNames.HORUS,
+ "de.katzenpapst.amunra.world.horus.HorusChunkProvider",
+ Enums.DimensionType.Planet,
+ DimensionBlockMetaDefinitionList.Horus.DBMDefList)),
+ Seth(new ModDimensionDef(
+ DimNames.SETH,
+ "de.katzenpapst.amunra.world.seth.SethChunkProvider",
+ Enums.DimensionType.Planet,
+ DimensionBlockMetaDefinitionList.Seth.DBMDefList)),
+ MehenBelt(new ModDimensionDef(
+ DimNames.MEHENBELT,
+ "de.katzenpapst.amunra.world.mehen.MehenChunkProvider",
+ Enums.DimensionType.Asteroid));
+
+ public static class DimNames {
+
+ public static final String ENDASTEROIDS = "EndAsteroids";
+ public static final String MOON = "Moon";
+ public static final String MARS = "Mars";
+ public static final String ASTEROIDS = "Asteroids";
+ public static final String PLUTO = "Pluto";
+ public static final String TRITON = "Triton";
+ public static final String PROTEUS = "Proteus";
+ public static final String OBERON = "Oberon";
+ public static final String TITAN = "Titan";
+ public static final String ROSS128B = "Ross128b";
+ public static final String ROSS128BA = "Ross128ba";
+ public static final String CALLISTO = "Callisto";
+ public static final String GANYMEDE = "Ganymede";
+ public static final String CERES = "Ceres";
+ public static final String DEIMOS = "Deimos";
+ public static final String ENCELADUS = "Enceladus";
+ public static final String IO = "Io";
+ public static final String EUROPA = "Europa";
+ public static final String PHOBOS = "Phobos";
+ public static final String VENUS = "Venus";
+ public static final String MERCURY = "Mercury";
+ public static final String MAKEMAKE = "MakeMake";
+ public static final String HAUMEA = "Haumea";
+ public static final String CENTAURIA = "CentauriA";
+ public static final String VEGAB = "VegaB";
+ public static final String BARNARDC = "BarnardC";
+ public static final String BARNARDE = "BarnardE";
+ public static final String BARNARDF = "BarnardF";
+ public static final String TCETIE = "TcetiE";
+ public static final String MIRANDA = "Miranda";
+ public static final String KUIPERBELT = "Kuiperbelt";
+ public static final String NEPER = "Neper";
+ public static final String MAAHES = "Maahes";
+ public static final String ANUBIS = "Anubis";
+ public static final String HORUS = "Horus";
+ public static final String SETH = "Seth";
+ public static final String MEHENBELT = "MehenBelt";
+ public static final String DEEPDARK = "Underdark";
+
+ }
+
+ public final ModDimensionDef modDimensionDef;
+
+ private DimensionDef(ModDimensionDef modDimDef) {
+ this.modDimensionDef = modDimDef;
+ }
+}
diff --git a/src/main/java/bloodasp/galacticgreg/api/enums/ModContainers.java b/src/main/java/bloodasp/galacticgreg/api/enums/ModContainers.java
new file mode 100644
index 0000000000..ed81f56f04
--- /dev/null
+++ b/src/main/java/bloodasp/galacticgreg/api/enums/ModContainers.java
@@ -0,0 +1,19 @@
+package bloodasp.galacticgreg.api.enums;
+
+import bloodasp.galacticgreg.api.ModContainer;
+import gregtech.api.enums.Mods;
+
+public enum ModContainers {
+
+ GalactiCraftCore(new ModContainer(Mods.GalacticraftCore.ID)),
+ GalacticraftMars(new ModContainer(Mods.GalacticraftMars.ID)),
+ GalaxySpace(new ModContainer(Mods.GalaxySpace.ID)),
+ AmunRa(new ModContainer("GalacticraftAmunRa")),
+ Vanilla(new ModContainer("Vanilla"));
+
+ public final ModContainer modContainer;
+
+ private ModContainers(ModContainer modContainer) {
+ this.modContainer = modContainer;
+ }
+}
diff --git a/src/main/java/bloodasp/galacticgreg/api/enums/properties/AsteroidPropertyBuilder.java b/src/main/java/bloodasp/galacticgreg/api/enums/properties/AsteroidPropertyBuilder.java
new file mode 100644
index 0000000000..82d8b99b41
--- /dev/null
+++ b/src/main/java/bloodasp/galacticgreg/api/enums/properties/AsteroidPropertyBuilder.java
@@ -0,0 +1,105 @@
+package bloodasp.galacticgreg.api.enums.properties;
+
+public class AsteroidPropertyBuilder {
+
+ public int probability;
+ public int sizeMin, sizeMax;
+ public int specialBlockChance;
+ public OreSpawnPropertyBuilder oreSpawn;
+ public LootPropertyBuilder loot;
+
+ public static class OreSpawnPropertyBuilder {
+
+ public int baseOreChance;
+ public boolean obeyHeighLimits;
+ public boolean oresOnlyInsideAsteroids;
+ public int primaryToRareOreOffset;
+ public int smallOreChance;
+
+ public OreSpawnPropertyBuilder baseOreChance(int baseOreChance) {
+ this.baseOreChance = baseOreChance;
+ return this;
+ }
+
+ public OreSpawnPropertyBuilder doesObeyingHeightLimits(boolean obeyHeighLimits) {
+ this.obeyHeighLimits = obeyHeighLimits;
+ return this;
+ }
+
+ public OreSpawnPropertyBuilder AreOresOnlyInsideAsteroids(boolean oresOnlyInsideAsteroids) {
+ this.oresOnlyInsideAsteroids = oresOnlyInsideAsteroids;
+ return this;
+ }
+
+ public OreSpawnPropertyBuilder primaryToRareOreOffset(int primaryToRareOreOffset) {
+ this.primaryToRareOreOffset = primaryToRareOreOffset;
+ return this;
+ }
+
+ public OreSpawnPropertyBuilder smallOreChance(int smallOreChance) {
+ this.smallOreChance = smallOreChance;
+ return this;
+ }
+
+ }
+
+ public static class LootPropertyBuilder {
+
+ public int lootChestChance;
+ public int lootChestItemCount;
+ public int lootChestTable;
+ public boolean randomizeLootItemCount;
+
+ public LootPropertyBuilder lootChestChance(int lootChestChance) {
+ this.lootChestChance = lootChestChance;
+ return this;
+ }
+
+ public LootPropertyBuilder lootChestItemCount(int lootChestItemCount) {
+ this.lootChestItemCount = lootChestItemCount;
+ return this;
+ }
+
+ public LootPropertyBuilder lootChestTable(int lootChestTable) {
+ this.lootChestTable = lootChestTable;
+ return this;
+ }
+
+ public LootPropertyBuilder isLootItemCountRandomized(boolean randomizeLootItemCount) {
+ this.randomizeLootItemCount = randomizeLootItemCount;
+ return this;
+ }
+
+ }
+
+ public AsteroidPropertyBuilder() {
+ oreSpawn = new OreSpawnPropertyBuilder();
+ loot = new LootPropertyBuilder();
+ }
+
+ public AsteroidPropertyBuilder probability(int probability) {
+ this.probability = probability;
+ return this;
+ }
+
+ public AsteroidPropertyBuilder sizeRange(int sizeMin, int sizeMax) {
+ this.sizeMin = sizeMin;
+ this.sizeMax = sizeMax;
+ return this;
+ }
+
+ public AsteroidPropertyBuilder specialBlockChance(int specialBlockChance) {
+ this.specialBlockChance = specialBlockChance;
+ return this;
+ }
+
+ public AsteroidPropertyBuilder oreSpawn(OreSpawnPropertyBuilder oreSpawnPropertyBuilder) {
+ this.oreSpawn = oreSpawnPropertyBuilder;
+ return this;
+ }
+
+ public AsteroidPropertyBuilder loot(LootPropertyBuilder lootPropertyBuilder) {
+ this.loot = lootPropertyBuilder;
+ return this;
+ }
+}
diff --git a/src/main/java/bloodasp/galacticgreg/api/enums/properties/Asteroids.java b/src/main/java/bloodasp/galacticgreg/api/enums/properties/Asteroids.java
new file mode 100644
index 0000000000..6a305407cd
--- /dev/null
+++ b/src/main/java/bloodasp/galacticgreg/api/enums/properties/Asteroids.java
@@ -0,0 +1,78 @@
+package bloodasp.galacticgreg.api.enums.properties;
+
+import bloodasp.galacticgreg.api.enums.DimensionDef;
+import bloodasp.galacticgreg.api.enums.ModContainers;
+
+public enum Asteroids {
+
+ // spotless : off
+ EndAsteroids(ModContainers.Vanilla, DimensionDef.EndAsteroids, new AsteroidPropertyBuilder().probability(200)
+ .sizeRange(5, 15)
+ .specialBlockChance(5)
+ .oreSpawn(
+ new AsteroidPropertyBuilder.OreSpawnPropertyBuilder().baseOreChance(5)
+ .doesObeyingHeightLimits(false)
+ .AreOresOnlyInsideAsteroids(false)
+ .primaryToRareOreOffset(5)
+ .smallOreChance(10))
+ .loot(
+ new AsteroidPropertyBuilder.LootPropertyBuilder().lootChestChance(1)
+ .lootChestItemCount(10)
+ .lootChestTable(3)
+ .isLootItemCountRandomized(true))),
+ KuiperBelt(ModContainers.GalaxySpace, DimensionDef.KuiperBelt, new AsteroidPropertyBuilder().probability(200)
+ .sizeRange(5, 15)
+ .specialBlockChance(5)
+ .oreSpawn(
+ new AsteroidPropertyBuilder.OreSpawnPropertyBuilder().baseOreChance(5)
+ .doesObeyingHeightLimits(false)
+ .AreOresOnlyInsideAsteroids(false)
+ .primaryToRareOreOffset(5)
+ .smallOreChance(10))
+ .loot(
+ new AsteroidPropertyBuilder.LootPropertyBuilder().lootChestChance(1)
+ .lootChestItemCount(10)
+ .lootChestTable(3)
+ .isLootItemCountRandomized(true))),
+ MehenBelt(ModContainers.AmunRa, DimensionDef.MehenBelt, new AsteroidPropertyBuilder().probability(200)
+ .sizeRange(5, 15)
+ .specialBlockChance(5)
+ .oreSpawn(
+ new AsteroidPropertyBuilder.OreSpawnPropertyBuilder().baseOreChance(5)
+ .doesObeyingHeightLimits(false)
+ .AreOresOnlyInsideAsteroids(false)
+ .primaryToRareOreOffset(5)
+ .smallOreChance(10))
+ .loot(
+ new AsteroidPropertyBuilder.LootPropertyBuilder().lootChestChance(1)
+ .lootChestItemCount(10)
+ .lootChestTable(3)
+ .isLootItemCountRandomized(true))),
+ Asteroids(ModContainers.GalacticraftMars, DimensionDef.Asteroids, new AsteroidPropertyBuilder().probability(200)
+ .sizeRange(5, 15)
+ .specialBlockChance(5)
+ .oreSpawn(
+ new AsteroidPropertyBuilder.OreSpawnPropertyBuilder().baseOreChance(5)
+ .doesObeyingHeightLimits(false)
+ .AreOresOnlyInsideAsteroids(false)
+ .primaryToRareOreOffset(5)
+ .smallOreChance(10))
+ .loot(
+ new AsteroidPropertyBuilder.LootPropertyBuilder().lootChestChance(1)
+ .lootChestItemCount(10)
+ .lootChestTable(3)
+ .isLootItemCountRandomized(true))),;
+
+ // spotless : on
+
+ public ModContainers modContainers;
+ public DimensionDef dimensionDef;
+ public AsteroidPropertyBuilder asteroidPropertyBuilder;
+
+ private Asteroids(ModContainers modContainers, DimensionDef dimensionDef,
+ AsteroidPropertyBuilder asteroidPropertyBuilder) {
+ this.modContainers = modContainers;
+ this.dimensionDef = dimensionDef;
+ this.asteroidPropertyBuilder = asteroidPropertyBuilder;
+ }
+}
diff --git a/src/main/java/bloodasp/galacticgreg/bartworks/BW_Worldgen_Ore_Layer_Space.java b/src/main/java/bloodasp/galacticgreg/bartworks/BW_Worldgen_Ore_Layer_Space.java
deleted file mode 100644
index 822c9dfa59..0000000000
--- a/src/main/java/bloodasp/galacticgreg/bartworks/BW_Worldgen_Ore_Layer_Space.java
+++ /dev/null
@@ -1,253 +0,0 @@
-package bloodasp.galacticgreg.bartworks;
-
-import static bloodasp.galacticgreg.GalacticGreg.oreVeinWorldgenList;
-
-import java.util.Map;
-import java.util.Random;
-import java.util.stream.Collectors;
-
-import net.minecraft.block.Block;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.world.World;
-import net.minecraft.world.chunk.IChunkProvider;
-
-import com.github.bartimaeusnek.bartworks.system.material.BW_MetaGeneratedOreTE;
-import com.github.bartimaeusnek.bartworks.system.material.BW_MetaGenerated_Ores;
-import com.github.bartimaeusnek.bartworks.system.material.BW_MetaGenerated_SmallOres;
-import com.github.bartimaeusnek.bartworks.system.material.Werkstoff;
-import com.github.bartimaeusnek.bartworks.system.oregen.BW_OreLayer;
-
-import bloodasp.galacticgreg.GT_TileEntity_Ores_Space;
-import bloodasp.galacticgreg.api.Enums;
-import bloodasp.galacticgreg.api.ModDBMDef;
-import bloodasp.galacticgreg.api.ModDimensionDef;
-import bloodasp.galacticgreg.dynconfig.DynamicOreMixWorldConfig;
-import bloodasp.galacticgreg.registry.GalacticGregRegistry;
-import gregtech.api.GregTech_API;
-import gregtech.api.enums.Materials;
-import gregtech.api.interfaces.ISubTagContainer;
-import gregtech.common.blocks.GT_TileEntity_Ores;
-
-public class BW_Worldgen_Ore_Layer_Space extends BW_OreLayer {
-
- private ModDimensionDef pDimensionDef;
- private String name;
- private DynamicOreMixWorldConfig _mDynWorldConfig;
-
- /**
- * Code-only Constructor Will work with NEI
- *
- * @param aName veinname, should start with mix.
- * @param pDefault enabled?
- * @param pMinY
- * @param pMaxY
- * @param pWeight
- * @param pDensity
- * @param pSize 5-32 at max
- * @param primaryBW either a werkstoff or a materials
- * @param secondaryBW either a werkstoff or a materials
- * @param betweenBW either a werkstoff or a materials
- * @param sporadicBW either a werkstoff or a materials
- */
- public BW_Worldgen_Ore_Layer_Space(String aName, boolean pDefault, int pMinY, int pMaxY, int pWeight, int pDensity,
- int pSize, ISubTagContainer primaryBW, ISubTagContainer secondaryBW, ISubTagContainer betweenBW,
- ISubTagContainer sporadicBW) {
- super(aName, pDefault, 0, 0, 0, 0, 0, primaryBW, secondaryBW, betweenBW, sporadicBW);
- mMinY = ((short) GregTech_API.sWorldgenFile
- .get("worldgen.GaGregBartworks." + this.mWorldGenName, "MinHeight", pMinY));
- mMaxY = ((short) Math.max(
- this.mMinY + 5,
- GregTech_API.sWorldgenFile.get("worldgen.GaGregBartworks." + this.mWorldGenName, "MaxHeight", pMaxY)));
- mWeight = ((short) GregTech_API.sWorldgenFile
- .get("worldgen.GaGregBartworks." + this.mWorldGenName, "RandomWeight", pWeight));
- mDensity = ((short) GregTech_API.sWorldgenFile
- .get("worldgen.GaGregBartworks." + this.mWorldGenName, "Density", pDensity));
- mSize = ((short) Math
- .max(1, GregTech_API.sWorldgenFile.get("worldgen.GaGregBartworks." + this.mWorldGenName, "Size", pSize)));
- if (mEnabled) {
- sWeight += this.mWeight;
- oreVeinWorldgenList.add(this);
- }
- _mDynWorldConfig = new DynamicOreMixWorldConfig(mWorldGenName, true);
- _mDynWorldConfig.InitDynamicConfig();
-
- StringBuilder ret = new StringBuilder();
- for (Map.Entry<String, Boolean> key : _mDynWorldConfig.get_mDynWorldConfigMap()
- .entrySet()
- .stream()
- .filter(Map.Entry::getValue)
- .collect(Collectors.toSet()))
- ret.append(
- key.getKey()
- .split("_")[1])
- .append("; ");
- name = ret.substring(0, ret.length() - 1);
- }
-
- /**
- * Script Friendly Constructor, WONT WORK WITH NEI
- *
- * @param aName
- * @param pDefault
- * @param pMinY
- * @param pMaxY
- * @param pWeight
- * @param pDensity
- * @param pSize
- * @param pPrimary
- * @param pSecondary
- * @param pBetween
- * @param pSporadic
- * @param primaryBW
- * @param secondaryBW
- * @param betweenBW
- * @param sporadicBW
- */
- public BW_Worldgen_Ore_Layer_Space(String aName, boolean pDefault, int pMinY, int pMaxY, int pWeight, int pDensity,
- int pSize, int pPrimary, int pSecondary, int pBetween, int pSporadic, boolean primaryBW, boolean secondaryBW,
- boolean betweenBW, boolean sporadicBW) {
- super(
- aName,
- pDefault,
- 0,
- 0,
- 0,
- 0,
- 0,
- primaryBW ? Werkstoff.default_null_Werkstoff : Materials._NULL,
- secondaryBW ? Werkstoff.default_null_Werkstoff : Materials._NULL,
- betweenBW ? Werkstoff.default_null_Werkstoff : Materials._NULL,
- sporadicBW ? Werkstoff.default_null_Werkstoff : Materials._NULL);
- mMinY = ((short) GregTech_API.sWorldgenFile
- .get("worldgen.GaGregBartworks." + this.mWorldGenName, "MinHeight", pMinY));
- mMaxY = ((short) Math.max(
- this.mMinY + 5,
- GregTech_API.sWorldgenFile.get("worldgen.GaGregBartworks." + this.mWorldGenName, "MaxHeight", pMaxY)));
- mWeight = ((short) GregTech_API.sWorldgenFile
- .get("worldgen.GaGregBartworks." + this.mWorldGenName, "RandomWeight", pWeight));
- mDensity = ((short) GregTech_API.sWorldgenFile
- .get("worldgen.GaGregBartworks." + this.mWorldGenName, "Density", pDensity));
- mSize = ((short) Math
- .max(1, GregTech_API.sWorldgenFile.get("worldgen.GaGregBartworks." + this.mWorldGenName, "Size", pSize)));
- mPrimaryMeta = ((short) GregTech_API.sWorldgenFile
- .get("worldgen.GaGregBartworks." + this.mWorldGenName, "OrePrimaryLayer", pPrimary));
- mSecondaryMeta = ((short) GregTech_API.sWorldgenFile
- .get("worldgen.GaGregBartworks." + this.mWorldGenName, "OreSecondaryLayer", pSecondary));
- mBetweenMeta = ((short) GregTech_API.sWorldgenFile
- .get("worldgen.GaGregBartworks." + this.mWorldGenName, "OreSporadiclyInbetween", pBetween));
- mSporadicMeta = ((short) GregTech_API.sWorldgenFile
- .get("worldgen.GaGregBartworks." + this.mWorldGenName, "OreSporaticlyAround", pSporadic));
- bwOres = ((byte) GregTech_API.sWorldgenFile
- .get("worldgen.GaGregBartworks." + this.mWorldGenName, "BWGTlogic", bwOres));
- _mDynWorldConfig = new DynamicOreMixWorldConfig(mWorldGenName, true);
- _mDynWorldConfig.InitDynamicConfig();
- StringBuilder ret = new StringBuilder();
- for (Map.Entry<String, Boolean> key : _mDynWorldConfig.get_mDynWorldConfigMap()
- .entrySet()
- .stream()
- .filter(Map.Entry::getValue)
- .collect(Collectors.toSet()))
- ret.append(
- key.getKey()
- .split("_")[1])
- .append("; ");
- name = ret.length() == 0 ? "" : ret.substring(0, ret.length() - 1);
- if (mEnabled) {
- sWeight += this.mWeight;
- oreVeinWorldgenList.add(this);
- }
- }
-
- /**
- * Script Friendly Constructor, WONT WORK WITH NEI
- *
- * @param aName
- * @param enabled
- */
- public BW_Worldgen_Ore_Layer_Space(String aName, boolean enabled) {
- this(aName, enabled, 0, 0, 0, 0, 0, 0, 0, 0, 0, true, true, true, true);
- }
-
- public boolean isEnabledForDim(ModDimensionDef pDimensionDef) {
- return _mDynWorldConfig.isEnabledInDim(pDimensionDef);
- }
-
- @Override
- public boolean executeWorldgen(World aWorld, Random aRandom, String aBiome, int aDimensionType, int aChunkX,
- int aChunkZ, IChunkProvider aChunkGenerator, IChunkProvider aChunkProvider) {
- ModDimensionDef tMDD = GalacticGregRegistry.getDimensionTypeByChunkGenerator(aChunkGenerator);
- if (tMDD == null) return false;
- pDimensionDef = tMDD;
- return super.executeWorldgen(
- aWorld,
- aRandom,
- aBiome,
- aDimensionType,
- aChunkX,
- aChunkZ,
- aChunkGenerator,
- aChunkProvider);
- }
-
- public boolean setOreBlock(World aWorld, int aX, int aY, int aZ, int aMetaData, boolean isSmallOre) {
- TileEntity te = aWorld.getTileEntity(aX, aY, aZ);
- if (!(te instanceof BW_MetaGeneratedOreTE) && !(te instanceof GT_TileEntity_Ores)) {
- if (aMetaData == this.mSporadicMeta && (this.bwOres & 1) != 0
- || aMetaData == this.mBetweenMeta && (this.bwOres & 2) != 0
- || aMetaData == this.mPrimaryMeta && (this.bwOres & 8) != 0
- || aMetaData == this.mSecondaryMeta && (this.bwOres & 4) != 0) {
- boolean wasSet;
- for (ModDBMDef e : pDimensionDef.getReplaceableBlocks()) {
- wasSet = isSmallOre
- ? BW_MetaGenerated_SmallOres.setOreBlock(
- aWorld,
- aX,
- aY,
- aZ,
- aMetaData,
- pDimensionDef.getAirSetting() == Enums.AirReplaceRule.AllowReplaceAir,
- (Block) Block.blockRegistry.getObject(e.getBlockName()),
- new int[] { e.getMeta() })
- : BW_MetaGenerated_Ores.setOreBlock(
- aWorld,
- aX,
- aY,
- aZ,
- aMetaData,
- pDimensionDef.getAirSetting() == Enums.AirReplaceRule.AllowReplaceAir,
- (Block) Block.blockRegistry.getObject(e.getBlockName()),
- new int[] { e.getMeta() });
- if (wasSet) return true;
- }
- return false;
- } else {
- return GT_TileEntity_Ores_Space.setOuterSpaceOreBlock(
- pDimensionDef,
- aWorld,
- aX,
- aY,
- aZ,
- aMetaData,
- pDimensionDef.getAirSetting() == Enums.AirReplaceRule.AllowReplaceAir);
- }
- } else {
- return true;
- }
- }
-
- @Override
- public Block getDefaultBlockToReplace() {
- return null;
- }
-
- @Override
- public int[] getDefaultDamageToReplace() {
- return null;
- }
-
- @Override
- public String getDimName() {
- return name;
- }
-
-}
diff --git a/src/main/java/bloodasp/galacticgreg/bartworks/BW_Worldgen_Ore_SmallOre_Space.java b/src/main/java/bloodasp/galacticgreg/bartworks/BW_Worldgen_Ore_SmallOre_Space.java
deleted file mode 100644
index 78f169e054..0000000000
--- a/src/main/java/bloodasp/galacticgreg/bartworks/BW_Worldgen_Ore_SmallOre_Space.java
+++ /dev/null
@@ -1,165 +0,0 @@
-package bloodasp.galacticgreg.bartworks;
-
-import static bloodasp.galacticgreg.GalacticGreg.smallOreWorldgenList;
-
-import java.util.Map;
-import java.util.Random;
-import java.util.stream.Collectors;
-
-import net.minecraft.block.Block;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.world.World;
-import net.minecraft.world.chunk.IChunkProvider;
-
-import com.github.bartimaeusnek.bartworks.system.material.BW_MetaGeneratedOreTE;
-import com.github.bartimaeusnek.bartworks.system.material.BW_MetaGenerated_Ores;
-import com.github.bartimaeusnek.bartworks.system.material.BW_MetaGenerated_SmallOres;
-import com.github.bartimaeusnek.bartworks.system.material.Werkstoff;
-import com.github.bartimaeusnek.bartworks.system.oregen.BW_OreLayer;
-
-import bloodasp.galacticgreg.GT_TileEntity_Ores_Space;
-import bloodasp.galacticgreg.api.Enums;
-import bloodasp.galacticgreg.api.ModDBMDef;
-import bloodasp.galacticgreg.api.ModDimensionDef;
-import bloodasp.galacticgreg.dynconfig.DynamicOreMixWorldConfig;
-import bloodasp.galacticgreg.registry.GalacticGregRegistry;
-import gregtech.api.GregTech_API;
-import gregtech.api.enums.Materials;
-import gregtech.api.interfaces.ISubTagContainer;
-import gregtech.common.blocks.GT_TileEntity_Ores;
-
-public class BW_Worldgen_Ore_SmallOre_Space extends BW_OreLayer {
-
- private ModDimensionDef pDimensionDef;
- private DynamicOreMixWorldConfig _mDynWorldConfig;
- private String name;
-
- public BW_Worldgen_Ore_SmallOre_Space(String aName, boolean pDefault, int pMinY, int pMaxY, int pDensity,
- int pPrimary, ISubTagContainer primaryBW) {
- super(aName, pDefault, 0, 0, 0, 0, 0, primaryBW, Materials._NULL, Materials._NULL, Materials._NULL);
- mMinY = ((short) GregTech_API.sWorldgenFile
- .get("worldgen.GaGregBartworks." + this.mWorldGenName, "MinHeight", pMinY));
- mMaxY = ((short) Math.max(
- this.mMinY + 1,
- GregTech_API.sWorldgenFile.get("worldgen.GaGregBartworks." + this.mWorldGenName, "MaxHeight", pMaxY)));
- mDensity = ((short) Math.max(
- 1,
- GregTech_API.sWorldgenFile.get("worldgen.GaGregBartworks." + this.mWorldGenName, "Amount", pDensity)));
- mPrimaryMeta = ((short) GregTech_API.sWorldgenFile
- .get("worldgen.GaGregBartworks." + this.mWorldGenName, "Meta", pPrimary));
- bwOres = ((byte) GregTech_API.sWorldgenFile
- .get("worldgen.GaGregBartworks." + this.mWorldGenName, "BWGTlogic", bwOres));
- _mDynWorldConfig = new DynamicOreMixWorldConfig(mWorldGenName, true);
- _mDynWorldConfig.InitDynamicConfig();
- StringBuilder ret = new StringBuilder();
- for (Map.Entry<String, Boolean> key : _mDynWorldConfig.get_mDynWorldConfigMap()
- .entrySet()
- .stream()
- .filter(Map.Entry::getValue)
- .collect(Collectors.toSet()))
- ret.append(
- key.getKey()
- .split("_")[1])
- .append("; ");
- name = ret.length() == 0 ? "" : ret.substring(0, ret.length() - 1);
- if (mEnabled) {
- smallOreWorldgenList.add(this);
- }
-
- }
-
- /**
- * Script Friendly Constructor, WONT WORK WITH NEI
- *
- * @param aName
- * @param enabled
- */
- public BW_Worldgen_Ore_SmallOre_Space(String aName, boolean enabled) {
- this(aName, enabled, 0, 0, 0, 0, enabled ? Werkstoff.default_null_Werkstoff : Materials._NULL);
- }
-
- public boolean isEnabledForDim(ModDimensionDef pDimensionDef) {
- return _mDynWorldConfig.isEnabledInDim(pDimensionDef);
- }
-
- @Override
- public boolean executeWorldgen(World aWorld, Random aRandom, String aBiome, int aDimensionType, int aChunkX,
- int aChunkZ, IChunkProvider aChunkGenerator, IChunkProvider aChunkProvider) {
- ModDimensionDef tMDD = GalacticGregRegistry.getDimensionTypeByChunkGenerator(aChunkGenerator);
- if (tMDD == null) return false;
- pDimensionDef = tMDD;
- if (this.mPrimaryMeta > 0)
- for (int i = 0, j = Math.max(1, this.mDensity / 2 + aRandom.nextInt(this.mDensity) / 2); i < j; i++) {
- this.setOreBlock(
- aWorld,
- aChunkX + aRandom.nextInt(16),
- this.mMinY + aRandom.nextInt(Math.max(1, this.mMaxY - this.mMinY)),
- aChunkZ + aRandom.nextInt(16),
- this.mPrimaryMeta,
- true);
- }
- return true;
- }
-
- @Override
- public boolean setOreBlock(World aWorld, int aX, int aY, int aZ, int aMetaData, boolean isSmallOre) {
- TileEntity te = aWorld.getTileEntity(aX, aY, aZ);
- if (!(te instanceof BW_MetaGeneratedOreTE) && !(te instanceof GT_TileEntity_Ores)) {
- if (aMetaData == this.mSporadicMeta && (this.bwOres & 1) != 0
- || aMetaData == this.mBetweenMeta && (this.bwOres & 2) != 0
- || aMetaData == this.mPrimaryMeta && (this.bwOres & 8) != 0
- || aMetaData == this.mSecondaryMeta && (this.bwOres & 4) != 0) {
- boolean wasSet;
- for (ModDBMDef e : pDimensionDef.getReplaceableBlocks()) {
- wasSet = isSmallOre
- ? BW_MetaGenerated_SmallOres.setOreBlock(
- aWorld,
- aX,
- aY,
- aZ,
- aMetaData,
- pDimensionDef.getAirSetting() == Enums.AirReplaceRule.AllowReplaceAir,
- (Block) Block.blockRegistry.getObject(e.getBlockName()),
- new int[] { e.getMeta() })
- : BW_MetaGenerated_Ores.setOreBlock(
- aWorld,
- aX,
- aY,
- aZ,
- aMetaData,
- pDimensionDef.getAirSetting() == Enums.AirReplaceRule.AllowReplaceAir,
- (Block) Block.blockRegistry.getObject(e.getBlockName()),
- new int[] { e.getMeta() });
- if (wasSet) return true;
- }
- return false;
- } else {
- return GT_TileEntity_Ores_Space.setOuterSpaceOreBlock(
- pDimensionDef,
- aWorld,
- aX,
- aY,
- aZ,
- aMetaData,
- pDimensionDef.getAirSetting() == Enums.AirReplaceRule.AllowReplaceAir);
- }
- } else {
- return true;
- }
- }
-
- @Override
- public Block getDefaultBlockToReplace() {
- return null;
- }
-
- @Override
- public int[] getDefaultDamageToReplace() {
- return null;
- }
-
- @Override
- public String getDimName() {
- return name;
- }
-}
diff --git a/src/main/java/bloodasp/galacticgreg/dynconfig/DynamicDimensionConfig.java b/src/main/java/bloodasp/galacticgreg/dynconfig/DynamicDimensionConfig.java
index 5c419c7c13..0c57c961af 100644
--- a/src/main/java/bloodasp/galacticgreg/dynconfig/DynamicDimensionConfig.java
+++ b/src/main/java/bloodasp/galacticgreg/dynconfig/DynamicDimensionConfig.java
@@ -9,14 +9,9 @@ import bloodasp.galacticgreg.GalacticGreg;
import bloodasp.galacticgreg.api.Enums.DimensionType;
import bloodasp.galacticgreg.api.ModContainer;
import bloodasp.galacticgreg.api.ModDimensionDef;
+import bloodasp.galacticgreg.api.enums.properties.Asteroids;
import bloodasp.galacticgreg.registry.GalacticGregRegistry;
-import gregtech.api.GregTech_API;
-/**
- * This dynamic config is different to the OreMix one. This is used/bound to the ModDimensionDef, and the
- * OreMixWorldConfig is bound to the veins. Don't get confused!
- *
- */
public class DynamicDimensionConfig {
public static class AsteroidConfig {
@@ -29,8 +24,6 @@ public class DynamicDimensionConfig {
public int SpecialBlockChance;
public int SmallOreChance;
public boolean ObeyHeightLimits;
- public int OreGenMaxY;
- public int FloatingAsteroidMinY;
public boolean HiddenOres;
public int LootChestChance;
public int LootChestTable;
@@ -40,14 +33,6 @@ public class DynamicDimensionConfig {
private static Map<String, AsteroidConfig> _mDynamicAsteroidMap = new HashMap<>();
- private static String getConfigKeyName(ModContainer pMC, ModDimensionDef pMDD) {
- return String.format("galacticgreg.asteroids.%s.%s", pMC.getModName(), pMDD.getDimensionName());
- }
-
- private static String getConfigKeyName(ModContainer pMC, ModDimensionDef pMDD, String pSubCat) {
- return String.format("%s.%s", getConfigKeyName(pMC, pMDD), pSubCat);
- }
-
public static AsteroidConfig getAsteroidConfig(ModDimensionDef pDimDef) {
return _mDynamicAsteroidMap.getOrDefault(pDimDef.getDimIdentifier(), null);
}
@@ -59,62 +44,69 @@ public class DynamicDimensionConfig {
for (ModDimensionDef mdd : mc.getDimensionList()) {
DimensionType dt = mdd.getDimensionType();
- if (dt == DimensionType.Asteroid || dt == DimensionType.AsteroidAndPlanet) {
- String tDimIdentifier = mdd.getDimIdentifier();
- if (_mDynamicAsteroidMap.containsKey(tDimIdentifier)) GalacticGreg.Logger.warn(
+ if (dt != DimensionType.Asteroid) {
+ continue;
+ }
+ String tDimIdentifier = mdd.getDimIdentifier();
+ if (_mDynamicAsteroidMap.containsKey(tDimIdentifier)) {
+ GalacticGreg.Logger.warn(
"Found 2 Dimensions with the same Identifier! This should never happen, and you should report this to me. Identifier in question: %s",
tDimIdentifier);
- else {
- AsteroidConfig aConf = new AsteroidConfig();
- aConf.MinSize = GregTech_API.sWorldgenFile.get(getConfigKeyName(mc, mdd), "SizeMin", 5);
- aConf.MaxSize = GregTech_API.sWorldgenFile.get(getConfigKeyName(mc, mdd), "SizeMax", 15);
- aConf.Probability = GregTech_API.sWorldgenFile
- .get(getConfigKeyName(mc, mdd), "Probability", 200);
- aConf.SpecialBlockChance = GregTech_API.sWorldgenFile
- .get(getConfigKeyName(mc, mdd), "SpecialBlockChance", 5);
-
- aConf.OreChance = GregTech_API.sWorldgenFile
- .get(getConfigKeyName(mc, mdd, "orespawn"), "BaseOreChance", 5);
- aConf.OrePrimaryOffset = GregTech_API.sWorldgenFile
- .get(getConfigKeyName(mc, mdd, "orespawn"), "PrimaryToRareOreOffset", 5);
- aConf.SmallOreChance = GregTech_API.sWorldgenFile
- .get(getConfigKeyName(mc, mdd, "orespawn"), "SmallOreChance", 10);
- aConf.ObeyHeightLimits = GregTech_API.sWorldgenFile
- .get(getConfigKeyName(mc, mdd, "orespawn"), "ObeyHeightLimits", false);
- aConf.HiddenOres = GregTech_API.sWorldgenFile
- .get(getConfigKeyName(mc, mdd, "orespawn"), "OresOnlyInsideAsteroids", false);
-
- if (GalacticGreg.GalacticConfig.LootChestsEnabled) {
- aConf.LootChestChance = GregTech_API.sWorldgenFile
- .get(getConfigKeyName(mc, mdd, "loot"), "LootChestChance", 1);
- aConf.LootChestTable = GregTech_API.sWorldgenFile
- .get(getConfigKeyName(mc, mdd, "loot"), "LootChestTable", 3);
- aConf.NumLootItems = GregTech_API.sWorldgenFile
- .get(getConfigKeyName(mc, mdd, "loot"), "LootChestItemCount", 10);
- aConf.RandomizeNumLootItems = GregTech_API.sWorldgenFile
- .get(getConfigKeyName(mc, mdd, "loot"), "RandomizeLootItemCount", true);
- } else {
- aConf.LootChestChance = 0;
- aConf.LootChestTable = 1;
- aConf.NumLootItems = 0;
- aConf.RandomizeNumLootItems = false;
- }
-
- if (dt == DimensionType.AsteroidAndPlanet) {
- int tDefaultMaxY = mdd.getPreConfiguratedGroundOreMaxY();
- int tDefaultMinY = mdd.getPreConfiguratedFloatingAsteroidMinY();
- aConf.OreGenMaxY = GregTech_API.sWorldgenFile
- .get(getConfigKeyName(mc, mdd, "floating"), "OreGenMaxY", tDefaultMaxY);
- aConf.FloatingAsteroidMinY = GregTech_API.sWorldgenFile
- .get(getConfigKeyName(mc, mdd, "floating"), "FloatingAsteroidMinY", tDefaultMinY);
- }
-
- if (aConf.MaxSize > 50) GalacticGreg.Logger.warn(
- "Asteroid-MaxSize for dimID [%s] is larger than 50. This might cause memory-problems, as the maximum asteroid size will be larger than 50*50*50 blocks",
- tDimIdentifier);
- _mDynamicAsteroidMap.put(tDimIdentifier, aConf);
+ continue;
+ }
+
+ Asteroids AsteroidProperties = null;
+ for (Asteroids asteroidsConfig : Asteroids.values()) {
+ if (!asteroidsConfig.modContainers.modContainer.getModName()
+ .equals(mc.getModName())) {
+ continue;
}
+ if (!asteroidsConfig.dimensionDef.modDimensionDef.getDimensionName()
+ .equals(mdd.getDimensionName())) {
+ continue;
+ }
+ AsteroidProperties = asteroidsConfig;
+ break;
+ }
+ if (AsteroidProperties == null) {
+ GalacticGreg.Logger.error(
+ "Something went wrong! no properties are existing for Asteroid dim: "
+ + mdd.getDimensionName()
+ + " from mod container "
+ + mc.getModName());
+ continue;
+ }
+
+ AsteroidConfig aConf = new AsteroidConfig();
+
+ aConf.MinSize = AsteroidProperties.asteroidPropertyBuilder.sizeMin;
+ aConf.MaxSize = AsteroidProperties.asteroidPropertyBuilder.sizeMax;
+ aConf.Probability = AsteroidProperties.asteroidPropertyBuilder.probability;
+ aConf.SpecialBlockChance = AsteroidProperties.asteroidPropertyBuilder.specialBlockChance;
+
+ aConf.OreChance = AsteroidProperties.asteroidPropertyBuilder.oreSpawn.baseOreChance;
+ aConf.OrePrimaryOffset = AsteroidProperties.asteroidPropertyBuilder.oreSpawn.primaryToRareOreOffset;
+ aConf.SmallOreChance = AsteroidProperties.asteroidPropertyBuilder.oreSpawn.smallOreChance;
+ aConf.ObeyHeightLimits = AsteroidProperties.asteroidPropertyBuilder.oreSpawn.obeyHeighLimits;
+ aConf.HiddenOres = AsteroidProperties.asteroidPropertyBuilder.oreSpawn.oresOnlyInsideAsteroids;
+
+ if (GalacticGreg.GalacticConfig.LootChestsEnabled) {
+ aConf.LootChestChance = AsteroidProperties.asteroidPropertyBuilder.loot.lootChestChance;
+ aConf.LootChestTable = AsteroidProperties.asteroidPropertyBuilder.loot.lootChestTable;
+ aConf.NumLootItems = AsteroidProperties.asteroidPropertyBuilder.loot.lootChestItemCount;
+ aConf.RandomizeNumLootItems = AsteroidProperties.asteroidPropertyBuilder.loot.randomizeLootItemCount;
+ } else {
+ aConf.LootChestChance = 0;
+ aConf.LootChestTable = 1;
+ aConf.NumLootItems = 0;
+ aConf.RandomizeNumLootItems = false;
}
+
+ if (aConf.MaxSize > 50) GalacticGreg.Logger.warn(
+ "Asteroid-MaxSize for dimID [%s] is larger than 50. This might cause memory-problems, as the maximum asteroid size will be larger than 50*50*50 blocks",
+ tDimIdentifier);
+ _mDynamicAsteroidMap.put(tDimIdentifier, aConf);
+
}
}
return true;
@@ -126,7 +118,7 @@ public class DynamicDimensionConfig {
/**
* Convert numbers to actual loot-table entries
- *
+ *
* @param pACfg
* @return
*/
diff --git a/src/main/java/bloodasp/galacticgreg/dynconfig/DynamicOreMixWorldConfig.java b/src/main/java/bloodasp/galacticgreg/dynconfig/DynamicOreMixWorldConfig.java
deleted file mode 100644
index 862bfd4e4e..0000000000
--- a/src/main/java/bloodasp/galacticgreg/dynconfig/DynamicOreMixWorldConfig.java
+++ /dev/null
@@ -1,93 +0,0 @@
-package bloodasp.galacticgreg.dynconfig;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import bloodasp.galacticgreg.GalacticGreg;
-import bloodasp.galacticgreg.api.ModContainer;
-import bloodasp.galacticgreg.api.ModDimensionDef;
-import bloodasp.galacticgreg.registry.GalacticGregRegistry;
-import gregtech.api.GregTech_API;
-
-/**
- * This is the dynamic config class for every ore-vein that will generate config values according to the dimension and
- * mod name
- */
-public class DynamicOreMixWorldConfig {
-
- private String _mWorldGenName;
-
- public Map<String, Boolean> get_mDynWorldConfigMap() {
- return new HashMap<>(_mDynWorldConfigMap != null ? _mDynWorldConfigMap : new HashMap<>());
- }
-
- private Map<String, Boolean> _mDynWorldConfigMap;
- private final String _mConfigName;
-
- private String getConfigKeyName(ModContainer pMC, ModDimensionDef pMDD) {
- return getConfigKeyName(pMC, pMDD, "");
- }
-
- private String getConfigKeyName(ModContainer pMC, ModDimensionDef pMDD, String pAdditionalName) {
- String tRet = String.format("%s_%s", pMC.getModName(), pMDD.getDimensionName());
- if (pAdditionalName.length() > 1) tRet = String.format("%s_%s", tRet, pAdditionalName);
-
- return tRet;
- }
-
- /**
- * Init a new dynamic config for a given world-generator
- *
- * @param pWorldGenName
- */
- public DynamicOreMixWorldConfig(String pWorldGenName) {
- _mWorldGenName = pWorldGenName;
- _mDynWorldConfigMap = new HashMap<>();
- _mConfigName = String.format("worldgen.%s", _mWorldGenName);
- }
-
- public DynamicOreMixWorldConfig(String pWorldGenName, boolean bw) {
- _mWorldGenName = pWorldGenName;
- _mDynWorldConfigMap = new HashMap<>();
- _mConfigName = String.format("worldgen.gagregbartworks.%s", _mWorldGenName);
- }
-
- /**
- * Check if this OreGen is enabled for a given Dimension, represented by pMDD
- *
- * @param pMDD The dimension in question
- * @return true or false if *this* oregen is enabled in the worldgen config
- */
- public boolean isEnabledInDim(ModDimensionDef pMDD) {
- String tDimIdentifier = pMDD.getDimIdentifier();
- return _mDynWorldConfigMap.getOrDefault(tDimIdentifier, false);
- }
-
- /**
- * Initializes the dynamic oregen config. This must be called *AFTER* InitModContainers() has done its work
- *
- * @return true or false if the config init was successfull
- */
- public boolean InitDynamicConfig() {
- try {
- for (ModContainer mc : GalacticGregRegistry.getModContainers()) {
- if (!mc.getEnabled()) continue;
-
- for (ModDimensionDef mdd : mc.getDimensionList()) {
- String tDimIdentifier = mdd.getDimIdentifier();
- if (_mDynWorldConfigMap.containsKey(tDimIdentifier)) GalacticGreg.Logger.error(
- "Found 2 Dimensions with the same Identifier: %s Dimension will not generate Ores",
- tDimIdentifier);
- else {
- boolean tFlag = GregTech_API.sWorldgenFile.get(_mConfigName, getConfigKeyName(mc, mdd), false);
- _mDynWorldConfigMap.put(tDimIdentifier, tFlag);
- }
- }
- }
- return true;
- } catch (Exception e) {
- e.printStackTrace();
- return false;
- }
- }
-}
diff --git a/src/main/java/bloodasp/galacticgreg/registry/GalacticGregRegistry.java b/src/main/java/bloodasp/galacticgreg/registry/GalacticGregRegistry.java
index b45353da6e..cc0a8146ab 100644
--- a/src/main/java/bloodasp/galacticgreg/registry/GalacticGregRegistry.java
+++ b/src/main/java/bloodasp/galacticgreg/registry/GalacticGregRegistry.java
@@ -1,5 +1,7 @@
package bloodasp.galacticgreg.registry;
+import static bloodasp.galacticgreg.api.enums.ModContainers.Vanilla;
+
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
@@ -27,7 +29,7 @@ public class GalacticGregRegistry {
/**
* Register new ModContainer in the registry. Call this after you've populated it with Dimensions and Blocks Must be
* called from your own PreInit or Init event
- *
+ *
* @param pModContainer
* @return
*/
@@ -55,7 +57,7 @@ public class GalacticGregRegistry {
/**
* Lookup the registered dimensions and try to find the DimensionDefinition that has the ChunkProvider that we have
* here
- *
+ *
* @param pChunkProvider
* @return
*/
@@ -86,7 +88,7 @@ public class GalacticGregRegistry {
/**
* Get all registered modcontainers. Can only be done after the initialization process is done
- *
+ *
* @return
*/
public static Collection<ModContainer> getModContainers() {
@@ -113,8 +115,9 @@ public class GalacticGregRegistry {
*/
private static void InitModContainers() {
for (ModContainer mc : _mModContainers.values()) {
+ // todo: rename Vanilla mod container name from "Vanilla" to "minecraft"
if (!Loader.isModLoaded(mc.getModName()) && !mc.getModName()
- .equalsIgnoreCase("vanilla")) {
+ .equals(Vanilla.modContainer.getModName())) {
GalacticGreg.Logger.warn(
"Ignoring ModRegistration for OreGen: [%s], because mod is not loaded. Did you misspell the name?",
mc.getModName());
@@ -134,8 +137,7 @@ public class GalacticGregRegistry {
.size());
// Register default generator if dimension is asteroid and no generator was added
- if (md.getDimensionType() == DimensionType.AsteroidAndPlanet
- || md.getDimensionType() == DimensionType.Asteroid) {
+ if (md.getDimensionType() == DimensionType.Asteroid) {
if (md.getSpaceObjectGenerators()
.size() == 0) {
GalacticGreg.Logger.debug("No generators found, adding build-in ellipsoid generator");
@@ -156,7 +158,7 @@ public class GalacticGregRegistry {
/**
* Returns ModContainer for given DimensionDefinition
- *
+ *
* @param pDimensionDefinition
* @return
*/