mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-04-12 02:36:18 +00:00
Replace BLOCK layer palette with PALETTE
This commit is contained in:
@@ -14,7 +14,7 @@ import com.dfsek.terra.addons.chunkgenerator.config.pack.LayerPalettePackConfigT
|
||||
import com.dfsek.terra.addons.chunkgenerator.config.pack.LayerPredicatePackConfigTemplate;
|
||||
import com.dfsek.terra.addons.chunkgenerator.config.pack.LayerResolverPackConfigTemplate;
|
||||
import com.dfsek.terra.addons.chunkgenerator.config.pack.LayerSamplerPackConfigTemplate;
|
||||
import com.dfsek.terra.addons.chunkgenerator.config.palette.BlockLayerPaletteTemplate;
|
||||
import com.dfsek.terra.addons.chunkgenerator.config.palette.SimpleLayerPaletteTemplate;
|
||||
import com.dfsek.terra.addons.chunkgenerator.config.predicate.BelowLayerPredicateTemplate;
|
||||
import com.dfsek.terra.addons.chunkgenerator.config.predicate.RangeLayerPredicateTemplate;
|
||||
import com.dfsek.terra.addons.chunkgenerator.config.predicate.SamplerLayerPredicateTemplate;
|
||||
@@ -82,7 +82,7 @@ public class LayeredChunkGeneratorAddon implements AddonInitializer {
|
||||
})
|
||||
.then(event -> {
|
||||
CheckedRegistry<Supplier<ObjectTemplate<LayerPalette>>> paletteTypeRegistry = event.getPack().getOrCreateRegistry(LAYER_PALETTE_TYPE_TOKEN);
|
||||
paletteTypeRegistry.register(addon.key("BLOCK"), BlockLayerPaletteTemplate::new);
|
||||
paletteTypeRegistry.register(addon.key("PALETTE"), SimpleLayerPaletteTemplate::new);
|
||||
CheckedRegistry<InstanceWrapper<LayerPalette>> paletteRegistry = event.getPack().getOrCreateRegistry(LAYER_PALETTE_TOKEN);
|
||||
event.loadTemplate(new LayerPalettePackConfigTemplate()).getPalettes().forEach((key, palette) -> {
|
||||
paletteRegistry.register(addon.key(key), new InstanceWrapper<>(palette));
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
package com.dfsek.terra.addons.chunkgenerator.config.palette;
|
||||
|
||||
import com.dfsek.tectonic.api.config.template.annotations.Value;
|
||||
import com.dfsek.tectonic.api.config.template.object.ObjectTemplate;
|
||||
|
||||
import com.dfsek.terra.addons.chunkgenerator.layer.palette.BlockLayerPalette;
|
||||
import com.dfsek.terra.addons.chunkgenerator.api.LayerPalette;
|
||||
import com.dfsek.terra.api.block.state.BlockState;
|
||||
|
||||
|
||||
public class BlockLayerPaletteTemplate implements ObjectTemplate<LayerPalette> {
|
||||
|
||||
@Value("block")
|
||||
private BlockState block;
|
||||
|
||||
@Override
|
||||
public BlockLayerPalette get() {
|
||||
return new BlockLayerPalette(block);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.dfsek.terra.addons.chunkgenerator.config.palette;
|
||||
|
||||
import com.dfsek.tectonic.api.config.template.annotations.Value;
|
||||
import com.dfsek.tectonic.api.config.template.object.ObjectTemplate;
|
||||
|
||||
import com.dfsek.terra.addons.chunkgenerator.api.LayerPalette;
|
||||
import com.dfsek.terra.addons.chunkgenerator.layer.palette.SimpleLayerPalette;
|
||||
import com.dfsek.terra.api.world.chunk.generation.util.Palette;
|
||||
|
||||
|
||||
public class SimpleLayerPaletteTemplate implements ObjectTemplate<LayerPalette> {
|
||||
|
||||
@Value("palette")
|
||||
private Palette palette;
|
||||
|
||||
@Override
|
||||
public LayerPalette get() {
|
||||
return new SimpleLayerPalette(palette);
|
||||
}
|
||||
}
|
||||
@@ -1,28 +0,0 @@
|
||||
package com.dfsek.terra.addons.chunkgenerator.layer.palette;
|
||||
|
||||
import com.dfsek.terra.addons.chunkgenerator.api.LayerPalette;
|
||||
import com.dfsek.terra.api.block.state.BlockState;
|
||||
import com.dfsek.terra.api.world.biome.Biome;
|
||||
import com.dfsek.terra.api.world.chunk.generation.util.Palette;
|
||||
|
||||
|
||||
public class BlockLayerPalette implements LayerPalette {
|
||||
|
||||
private final Palette palette;
|
||||
|
||||
public BlockLayerPalette(BlockState block) {
|
||||
this.palette = new SingletonPalette(block);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Palette get(long seed, Biome biome, int x, int y, int z) {
|
||||
return palette;
|
||||
}
|
||||
|
||||
private record SingletonPalette(BlockState blockState) implements Palette {
|
||||
@Override
|
||||
public BlockState get(int layer, double x, double y, double z, long seed) {
|
||||
return blockState;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.dfsek.terra.addons.chunkgenerator.layer.palette;
|
||||
|
||||
import com.dfsek.terra.addons.chunkgenerator.api.LayerPalette;
|
||||
import com.dfsek.terra.api.world.biome.Biome;
|
||||
import com.dfsek.terra.api.world.chunk.generation.util.Palette;
|
||||
|
||||
|
||||
public class SimpleLayerPalette implements LayerPalette {
|
||||
|
||||
private final Palette palette;
|
||||
|
||||
public SimpleLayerPalette(Palette palette) {
|
||||
this.palette = palette;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Palette get(long seed, Biome biome, int x, int y, int z) {
|
||||
return palette;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user