generate vanilla structures

This commit is contained in:
dfsek
2021-12-05 10:16:04 -07:00
parent f46e285bc9
commit 95749bea5d
4 changed files with 13 additions and 16 deletions

View File

@@ -15,11 +15,11 @@ public class NoiseChunkGeneratorPackConfigTemplate implements ConfigTemplate {
@Value("carving.resolution.horizontal")
@Default
private @Meta int horizontalRes = 2;
private @Meta int horizontalRes = 4;
@Value("carving.resolution.vertical")
@Default
private @Meta int verticalRes = 4;
private @Meta int verticalRes = 2;
public int getElevationBlend() {
return elevationBlend;

View File

@@ -124,9 +124,11 @@ public class NoiseChunkGenerator3D implements ChunkGenerator {
Sampler3D sampler = samplerCache.get(x, z, world);
PaletteInfo paletteInfo = biome.getContext().get(PaletteInfo.class);
Palette palette = PaletteUtil.getPalette(x, y, z, sampler, paletteInfo);
int fdX = FastMath.floorMod(x, 16);
int fdZ = FastMath.floorMod(z, 16);
Palette palette = PaletteUtil.getPalette(fdX, y, fdZ, sampler, paletteInfo);
double noise = sampler.sample(fdX, y, fdZ);
if(noise > 0) {
int level = 0;

View File

@@ -17,9 +17,6 @@
package com.dfsek.terra.fabric.generation;
import com.dfsek.terra.api.world.ServerWorld;
import com.dfsek.terra.api.world.chunk.generation.ProtoWorld;
import com.mojang.serialization.Codec;
import com.mojang.serialization.codecs.RecordCodecBuilder;
import net.minecraft.block.BlockState;
@@ -59,8 +56,10 @@ import java.util.concurrent.CompletableFuture;
import java.util.concurrent.Executor;
import com.dfsek.terra.api.config.ConfigPack;
import com.dfsek.terra.api.world.chunk.generation.ProtoChunk;
import com.dfsek.terra.api.world.ServerWorld;
import com.dfsek.terra.api.world.chunk.generation.ChunkGenerator;
import com.dfsek.terra.api.world.chunk.generation.ProtoChunk;
import com.dfsek.terra.api.world.chunk.generation.ProtoWorld;
import com.dfsek.terra.api.world.chunk.generation.stage.Chunkified;
import com.dfsek.terra.api.world.chunk.generation.util.GeneratorWrapper;
import com.dfsek.terra.fabric.FabricEntryPoint;
@@ -101,7 +100,7 @@ public class FabricChunkGeneratorWrapper extends net.minecraft.world.gen.chunk.C
private net.minecraft.server.world.ServerWorld world;
public FabricChunkGeneratorWrapper(TerraBiomeSource biomeSource, long seed, ConfigPack configPack) {
super(biomeSource, new StructuresConfig(false));
super(biomeSource, new StructuresConfig(true));
this.pack = configPack;
this.delegate = pack.getGeneratorProvider().newInstance(pack);
@@ -194,9 +193,7 @@ public class FabricChunkGeneratorWrapper extends net.minecraft.world.gen.chunk.C
@Override
public void setStructureStarts(DynamicRegistryManager dynamicRegistryManager, StructureAccessor structureAccessor, Chunk chunk,
StructureManager structureManager, long worldSeed) {
if(pack.vanillaStructures()) {
super.setStructureStarts(dynamicRegistryManager, structureAccessor, chunk, structureManager, worldSeed);
}
super.setStructureStarts(dynamicRegistryManager, structureAccessor, chunk, structureManager, worldSeed);
}
@Override
@@ -248,8 +245,8 @@ public class FabricChunkGeneratorWrapper extends net.minecraft.world.gen.chunk.C
@Override
public VerticalBlockSample getColumnSample(int x, int z, HeightLimitView view) {
BlockState[] array = new BlockState[view.getHeight()];
for(int y = view.getBottomY() + view.getHeight() - 1; y >= view.getBottomY(); y--) {
array[y] = ((FabricBlockState) ((ServerWorld) world).getGenerator().getBlock((ServerWorld) world, x, y, z)).getHandle();
for(int y = view.getTopY() - 1; y >= view.getBottomY(); y--) {
array[y - view.getBottomY()] = ((FabricBlockState) ((ServerWorld) world).getGenerator().getBlock((ServerWorld) world, x, y, z)).getHandle();
}
return new VerticalBlockSample(view.getBottomY(), array);
}

View File

@@ -17,8 +17,6 @@
package com.dfsek.terra.fabric.util;
import com.dfsek.terra.api.world.biome.Biome;
import com.mojang.serialization.Lifecycle;
import net.minecraft.block.entity.LootableContainerBlockEntity;
import net.minecraft.block.entity.MobSpawnerBlockEntity;
@@ -35,7 +33,6 @@ import net.minecraft.world.biome.GenerationSettings;
import net.minecraft.world.gen.GenerationStep;
import net.minecraft.world.gen.carver.ConfiguredCarver;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
@@ -46,6 +43,7 @@ import com.dfsek.terra.api.block.entity.Container;
import com.dfsek.terra.api.block.entity.MobSpawner;
import com.dfsek.terra.api.block.entity.Sign;
import com.dfsek.terra.api.config.ConfigPack;
import com.dfsek.terra.api.world.biome.Biome;
import com.dfsek.terra.fabric.mixin.access.BiomeEffectsAccessor;