This commit is contained in:
Boblet 2025-05-14 16:34:31 +02:00
parent a2e3a2540d
commit 972b1140a8
4 changed files with 25 additions and 9 deletions

View File

@ -45,6 +45,7 @@ import com.hbm.tileentity.bomb.TileEntityNukeCustom;
import com.hbm.tileentity.machine.rbmk.RBMKDials;
import com.hbm.util.*;
import com.hbm.world.biome.BiomeGenCraterBase;
import com.hbm.world.biome.BiomeGenNoMansLand;
import com.hbm.world.feature.BedrockOre;
import com.hbm.world.feature.OreCave;
import com.hbm.world.feature.OreLayer3D;
@ -299,7 +300,7 @@ public class MainRegistry {
OreDictManager.registerOres();
if(WorldConfig.enableCraterBiomes) BiomeGenCraterBase.initDictionary();
//BiomeGenNoMansLand.initDictionary();
BiomeGenNoMansLand.initDictionary();
aMatSchrab.customCraftingMaterial = ModItems.ingot_schrabidium;
aMatHaz.customCraftingMaterial = ModItems.hazmat_cloth;

View File

@ -20,17 +20,22 @@ public class BiomeDecoratorNoMansLand extends BiomeDecorator {
public WorldGenerator sellafiteGen;
public WorldGenerator gravelGen;
public WorldGenerator dirtGen;
public int sellafitePerChunk;
public int gravelPerChunk;
public int dirtPerChunk;
public BiomeDecoratorNoMansLand() {
super();
//TODO: instead of multiple localized shitty generators, make one that covers everything
this.sellafiteGen = new WorldGenSurfaceSpot(ModBlocks.sellafield_slaked, 6, 0.15F);
this.gravelGen = new WorldGenSurfaceSpot(ModBlocks.sellafield_slaked, 6, 0.15F);
this.sellafitePerChunk = 2;
this.gravelPerChunk = 2;
this.sellafiteGen = new WorldGenSurfaceSpot(ModBlocks.sellafield_slaked, 8, 0.25F);
this.gravelGen = new WorldGenSurfaceSpot(Blocks.gravel, 8, 0.15F);
this.dirtGen = new WorldGenSurfaceSpot(ModBlocks.ground, 8, 0.15F);
this.sellafitePerChunk = 4;
this.gravelPerChunk = 0;
this.dirtPerChunk = 4;
this.generateLakes = false;
}
protected void genDecorations(BiomeGenBase biome) {
@ -70,6 +75,13 @@ public class BiomeDecoratorNoMansLand extends BiomeDecorator {
z = this.chunk_Z + this.randomGenerator.nextInt(16) + 8;
this.gravelGen.generate(this.currentWorld, this.randomGenerator, x, this.currentWorld.getTopSolidOrLiquidBlock(x, z), z);
}
/// DIRT ///
for(int i = 0; i < this.dirtPerChunk; ++i) {
x = this.chunk_X + this.randomGenerator.nextInt(16) + 8;
z = this.chunk_Z + this.randomGenerator.nextInt(16) + 8;
this.dirtGen.generate(this.currentWorld, this.randomGenerator, x, this.currentWorld.getTopSolidOrLiquidBlock(x, z), z);
}
int trees = this.treesPerChunk;

View File

@ -25,7 +25,8 @@ public class BiomeGenNoMansLand extends BiomeGenBase {
public static void initDictionary() {
BiomeDictionary.registerBiomeType(noMansLand, DEAD, PLAINS, WASTELAND);
BiomeManager.addBiome(BiomeType.WARM, new BiomeEntry(noMansLand, 5));
BiomeManager.addBiome(BiomeType.WARM, new BiomeEntry(noMansLand, 500));
BiomeManager.addBiome(BiomeType.COOL, new BiomeEntry(noMansLand, 500));
}
public BiomeGenNoMansLand(int id) {

View File

@ -9,6 +9,7 @@ import java.util.Random;
import com.hbm.blocks.ModBlocks;
import com.hbm.config.StructureConfig;
import com.hbm.main.StructureManager;
import com.hbm.world.biome.BiomeGenNoMansLand;
import com.hbm.world.gen.NBTStructure.JigsawPiece;
import com.hbm.world.gen.NBTStructure.JigsawPool;
import com.hbm.world.gen.NBTStructure.SpawnCondition;
@ -49,15 +50,16 @@ public class NTMWorldGenerator implements IWorldGenerator {
/// TRENCH ///
NBTStructure.registerStructure(0, new SpawnCondition() {{
canSpawn = biome -> biome == BiomeGenNoMansLand.noMansLand;
sizeLimit = 128;
startPool = "trench";
spawnWeight = 200;
pools = new HashMap<String, NBTStructure.JigsawPool>() {{
put("trench", new JigsawPool() {{
add(new JigsawPiece("trench", StructureManager.trench) {{ heightOffset = -4; conformToTerrain = true; }}, 100);
add(new JigsawPiece("trench_left", StructureManager.trench_left) {{ heightOffset = -4; conformToTerrain = true; }}, 10);
add(new JigsawPiece("trench_right", StructureManager.trench_right) {{ heightOffset = -4; conformToTerrain = true; }}, 10);
add(new JigsawPiece("trench_junction", StructureManager.trench_junction) {{ heightOffset = -4; conformToTerrain = true; }}, 25);
add(new JigsawPiece("trench_left", StructureManager.trench_left) {{ heightOffset = -4; conformToTerrain = true; }}, 25);
add(new JigsawPiece("trench_right", StructureManager.trench_right) {{ heightOffset = -4; conformToTerrain = true; }}, 25);
add(new JigsawPiece("trench_junction", StructureManager.trench_junction) {{ heightOffset = -4; conformToTerrain = true; }}, 35);
}});
}};
}});