package com.xfestudio.mydimension.world;
import com.mojang.serialization.Codec;
import com.mojang.serialization.codecs.RecordCodecBuilder;
import java.util.stream.Stream;
import net.minecraft.core.Holder;
import net.minecraft.core.HolderLookup;
import net.minecraft.world.level.biome.BiomeSource;
import net.minecraft.world.level.chunk.ChunkGenerator;
import net.minecraft.world.level.chunk.ChunkGeneratorStructureState;
import net.minecraft.world.level.levelgen.NoiseBasedChunkGenerator;
import net.minecraft.world.level.levelgen.NoiseGeneratorSettings;
import net.minecraft.world.level.levelgen.RandomState;
import net.minecraft.world.level.levelgen.structure.StructureSet;
public class NoStructureNoiseChunkGenerator extends NoiseBasedChunkGenerator {
public static final Codec<NoStructureNoiseChunkGenerator> CODEC = RecordCodecBuilder.create(instance -> instance.group(
BiomeSource.CODEC.fieldOf("biome_source").forGetter(generator -> generator.biomeSource),
NoiseGeneratorSettings.CODEC.fieldOf("settings").forGetter(NoStructureNoiseChunkGenerator::generatorSettings)
).apply(instance, instance.stable(NoStructureNoiseChunkGenerator::new)));
public NoStructureNoiseChunkGenerator(BiomeSource biomeSource, Holder<NoiseGeneratorSettings> settings) {
super(biomeSource, settings);
}
@Override
protected Codec<? extends ChunkGenerator> codec() {
return CODEC;
}
@Override
public ChunkGeneratorStructureState createState(HolderLookup<StructureSet> structureSets, RandomState randomState, long seed) {
return ChunkGeneratorStructureState.createForFlat(randomState, seed, this.biomeSource, Stream.empty());
}
}
package com.xfestudio.mydimension.world;
import com.mojang.serialization.Codec;
import com.mojang.serialization.codecs.RecordCodecBuilder;
import java.util.stream.Stream;
import net.minecraft.core.Holder;
import net.minecraft.core.HolderLookup;
import net.minecraft.world.level.biome.BiomeSource;
import net.minecraft.world.level.chunk.ChunkGenerator;
import net.minecraft.world.level.chunk.ChunkGeneratorStructureState;
import net.minecraft.world.level.levelgen.NoiseBasedChunkGenerator;
import net.minecraft.world.level.levelgen.NoiseGeneratorSettings;
import net.minecraft.world.level.levelgen.RandomState;
import net.minecraft.world.level.levelgen.structure.StructureSet;
public class NoStructureNoiseChunkGenerator extends NoiseBasedChunkGenerator {
public static final Codec<NoStructureNoiseChunkGenerator> CODEC = RecordCodecBuilder.create(instance -> instance.group(
BiomeSource.CODEC.fieldOf("biome_source").forGetter(generator -> generator.biomeSource),
NoiseGeneratorSettings.CODEC.fieldOf("settings").forGetter(NoStructureNoiseChunkGenerator::generatorSettings)
).apply(instance, instance.stable(NoStructureNoiseChunkGenerator::new)));
public NoStructureNoiseChunkGenerator(BiomeSource biomeSource, Holder<NoiseGeneratorSettings> settings) {
super(biomeSource, settings);
}
@Override
protected Codec<? extends ChunkGenerator> codec() {
return CODEC;
}
@Override
public ChunkGeneratorStructureState createState(HolderLookup<StructureSet> structureSets, RandomState randomState, long seed) {
return ChunkGeneratorStructureState.createForFlat(randomState, seed, this.biomeSource, Stream.empty());
}
}