mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-04-23 00:29:51 +00:00
Actually gets to world gen now B)
This commit is contained in:
@@ -26,7 +26,7 @@ public class BiomeZone {
|
||||
this.noise.setNoiseType(FastNoiseLite.NoiseType.OpenSimplex2);
|
||||
this.noise.setFractalType(FastNoiseLite.FractalType.FBm);
|
||||
this.noise.setFractalOctaves(4);
|
||||
this.noise.setFrequency(wc.getConfig().getTemplate().getZoneFreq());
|
||||
this.noise.setFrequency(1D / wc.getConfig().getTemplate().getZoneFreq());
|
||||
this.grids = grids;
|
||||
imageLoader = wc.imageLoader;
|
||||
useImage = wc.fromImage;
|
||||
|
||||
@@ -4,13 +4,16 @@ import com.dfsek.terra.WorldObject;
|
||||
import com.dfsek.terra.config.builder.GeneratorBuilder;
|
||||
import com.dfsek.terra.config.templates.BiomeTemplate;
|
||||
import com.dfsek.terra.generation.UserDefinedDecorator;
|
||||
import com.dfsek.terra.generation.config.WorldGenerator;
|
||||
import org.bukkit.World;
|
||||
import org.polydev.gaea.biome.Biome;
|
||||
import org.polydev.gaea.biome.Decorator;
|
||||
import org.polydev.gaea.biome.Generator;
|
||||
import org.polydev.gaea.structures.features.Feature;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Class representing a config-defined biome
|
||||
@@ -22,6 +25,7 @@ public class UserDefinedBiome implements Biome, WorldObject {
|
||||
private final String id;
|
||||
private final BiomeTemplate config;
|
||||
private final boolean erode;
|
||||
private final Map<World, WorldGenerator> gens = new HashMap<>();
|
||||
|
||||
|
||||
public UserDefinedBiome(org.bukkit.block.Biome vanilla, UserDefinedDecorator dec, GeneratorBuilder gen, boolean erode, BiomeTemplate config) {
|
||||
@@ -87,6 +91,6 @@ public class UserDefinedBiome implements Biome, WorldObject {
|
||||
|
||||
@Override
|
||||
public Generator getGenerator(World w) {
|
||||
return gen.build(w.getSeed());
|
||||
return gens.computeIfAbsent(w, world -> gen.build(world.getSeed()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.dfsek.terra.biome.palette;
|
||||
|
||||
import com.dfsek.terra.util.DataUtil;
|
||||
import net.jafama.FastMath;
|
||||
import org.bukkit.block.data.BlockData;
|
||||
import org.polydev.gaea.world.palette.Palette;
|
||||
|
||||
@@ -18,7 +19,7 @@ public class PaletteHolderBuilder {
|
||||
@SuppressWarnings("unchecked")
|
||||
public PaletteHolder build() {
|
||||
Palette<BlockData>[] palettes = new Palette[paletteMap.lastKey() + 1];
|
||||
for(int y = 0; y <= paletteMap.lastKey(); y++) {
|
||||
for(int y = 0; y <= FastMath.max(paletteMap.lastKey(), 255); y++) {
|
||||
Palette<BlockData> d = DataUtil.BLANK_PALETTE;
|
||||
for(Map.Entry<Integer, Palette<BlockData>> e : paletteMap.entrySet()) {
|
||||
if(e.getKey() >= y) {
|
||||
|
||||
@@ -1,17 +1,19 @@
|
||||
package com.dfsek.terra.biome.palette;
|
||||
|
||||
import org.bukkit.block.data.BlockData;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.polydev.gaea.math.ProbabilityCollection;
|
||||
|
||||
public class PaletteLayer {
|
||||
private final ProbabilityCollection<BlockData> layer;
|
||||
private final int size;
|
||||
|
||||
public PaletteLayer(ProbabilityCollection<BlockData> layer, int size) {
|
||||
public PaletteLayer(@NotNull ProbabilityCollection<BlockData> layer, int size) {
|
||||
this.layer = layer;
|
||||
this.size = size;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public ProbabilityCollection<BlockData> getLayer() {
|
||||
return layer;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.dfsek.terra.biome.palette;
|
||||
|
||||
import org.polydev.gaea.world.palette.Palette;
|
||||
|
||||
public class SinglePalette<E> extends Palette<E> {
|
||||
private final E item;
|
||||
|
||||
public SinglePalette(E item) {
|
||||
this.item = item;
|
||||
}
|
||||
|
||||
@Override
|
||||
public E get(int i, int i1, int i2) {
|
||||
return item;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user