mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-02-16 02:20:57 +00:00
Fix biome gen
This commit is contained in:
@@ -5,6 +5,7 @@ import com.dfsek.terra.biome.grid.master.TerraBiomeGrid;
|
||||
import com.dfsek.terra.fabric.TerraFabricPlugin;
|
||||
import com.mojang.serialization.Codec;
|
||||
import com.mojang.serialization.codecs.RecordCodecBuilder;
|
||||
import net.minecraft.util.registry.BuiltinRegistries;
|
||||
import net.minecraft.util.registry.Registry;
|
||||
import net.minecraft.util.registry.RegistryLookupCodec;
|
||||
import net.minecraft.world.biome.Biome;
|
||||
@@ -43,9 +44,10 @@ public class TerraBiomeSource extends BiomeSource {
|
||||
@Override
|
||||
public Biome getBiomeForNoiseGen(int biomeX, int biomeY, int biomeZ) {
|
||||
FabricBiome biome = ((FabricBiome) grid.getBiome(biomeX * 4, biomeZ * 4, GenerationPhase.BASE).getVanillaBiome());
|
||||
return biome.getHandle();
|
||||
return biomeRegistry.get(BuiltinRegistries.BIOME.getRawId(biome.getHandle()));
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean hasStructureFeature(StructureFeature<?> feature) {
|
||||
return false;
|
||||
|
||||
@@ -3,7 +3,6 @@ package com.dfsek.terra.fabric.world.generator;
|
||||
import com.dfsek.terra.api.gaea.math.MathUtil;
|
||||
import com.dfsek.terra.api.gaea.util.FastRandom;
|
||||
import com.dfsek.terra.api.generic.Handle;
|
||||
import com.dfsek.terra.api.generic.generator.TerraBlockPopulator;
|
||||
import com.dfsek.terra.fabric.TerraFabricPlugin;
|
||||
import com.dfsek.terra.fabric.world.TerraBiomeSource;
|
||||
import com.dfsek.terra.fabric.world.handles.chunk.FabricChunkRegionChunk;
|
||||
@@ -11,6 +10,7 @@ import com.dfsek.terra.fabric.world.handles.world.FabricSeededWorldAccess;
|
||||
import com.dfsek.terra.fabric.world.handles.world.FabricWorldChunkRegion;
|
||||
import com.dfsek.terra.generation.TerraChunkGenerator;
|
||||
import com.dfsek.terra.population.CavePopulator;
|
||||
import com.dfsek.terra.population.FloraPopulator;
|
||||
import com.mojang.serialization.Codec;
|
||||
import com.mojang.serialization.codecs.RecordCodecBuilder;
|
||||
import net.minecraft.block.BlockState;
|
||||
@@ -39,6 +39,7 @@ public class FabricChunkGeneratorWrapper extends ChunkGenerator implements Handl
|
||||
Codec.LONG.fieldOf("seed").stable().forGetter(generator -> generator.seed))
|
||||
.apply(instance, instance.stable(FabricChunkGeneratorWrapper::new)));
|
||||
private final CavePopulator cavePopulator = new CavePopulator(TerraFabricPlugin.getInstance());
|
||||
private final FloraPopulator floraPopulator = new FloraPopulator(TerraFabricPlugin.getInstance());
|
||||
public FabricChunkGeneratorWrapper(TerraBiomeSource biomeSource, long seed) {
|
||||
super(biomeSource, new StructuresConfig(false));
|
||||
|
||||
@@ -82,10 +83,11 @@ public class FabricChunkGeneratorWrapper extends ChunkGenerator implements Handl
|
||||
|
||||
@Override
|
||||
public void generateFeatures(ChunkRegion region, StructureAccessor accessor) {
|
||||
for(TerraBlockPopulator populator : delegate.getPopulators()) {
|
||||
FastRandom pop = new FastRandom(MathUtil.getCarverChunkSeed(region.getCenterChunkX(), region.getCenterChunkZ(), seed));
|
||||
cavePopulator.populate(new FabricWorldChunkRegion(region, this), pop, new FabricChunkRegionChunk(region));
|
||||
}
|
||||
FastRandom pop = new FastRandom(MathUtil.getCarverChunkSeed(region.getCenterChunkX(), region.getCenterChunkZ(), seed));
|
||||
FabricWorldChunkRegion chunkRegion = new FabricWorldChunkRegion(region, this);
|
||||
FabricChunkRegionChunk regionChunk = new FabricChunkRegionChunk(region);
|
||||
cavePopulator.populate(chunkRegion, pop, regionChunk);
|
||||
floraPopulator.populate(chunkRegion, pop, regionChunk);
|
||||
// Nope
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user