mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-06-18 14:50:56 +00:00
Replace BLOCK layer palette with PALETTE
This commit is contained in:
+2
-2
@@ -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.LayerPredicatePackConfigTemplate;
|
||||||
import com.dfsek.terra.addons.chunkgenerator.config.pack.LayerResolverPackConfigTemplate;
|
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.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.BelowLayerPredicateTemplate;
|
||||||
import com.dfsek.terra.addons.chunkgenerator.config.predicate.RangeLayerPredicateTemplate;
|
import com.dfsek.terra.addons.chunkgenerator.config.predicate.RangeLayerPredicateTemplate;
|
||||||
import com.dfsek.terra.addons.chunkgenerator.config.predicate.SamplerLayerPredicateTemplate;
|
import com.dfsek.terra.addons.chunkgenerator.config.predicate.SamplerLayerPredicateTemplate;
|
||||||
@@ -82,7 +82,7 @@ public class LayeredChunkGeneratorAddon implements AddonInitializer {
|
|||||||
})
|
})
|
||||||
.then(event -> {
|
.then(event -> {
|
||||||
CheckedRegistry<Supplier<ObjectTemplate<LayerPalette>>> paletteTypeRegistry = event.getPack().getOrCreateRegistry(LAYER_PALETTE_TYPE_TOKEN);
|
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);
|
CheckedRegistry<InstanceWrapper<LayerPalette>> paletteRegistry = event.getPack().getOrCreateRegistry(LAYER_PALETTE_TOKEN);
|
||||||
event.loadTemplate(new LayerPalettePackConfigTemplate()).getPalettes().forEach((key, palette) -> {
|
event.loadTemplate(new LayerPalettePackConfigTemplate()).getPalettes().forEach((key, palette) -> {
|
||||||
paletteRegistry.register(addon.key(key), new InstanceWrapper<>(palette));
|
paletteRegistry.register(addon.key(key), new InstanceWrapper<>(palette));
|
||||||
|
|||||||
-20
@@ -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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+20
@@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
-28
@@ -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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+20
@@ -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