mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-07-19 02:36:59 +00:00
.
This commit is contained in:
parent
ed40dc34cf
commit
27694036a5
@ -31,6 +31,7 @@ import com.volmit.iris.gen.scaffold.Provisioned;
|
|||||||
import com.volmit.iris.gen.scaffold.TerrainChunk;
|
import com.volmit.iris.gen.scaffold.TerrainChunk;
|
||||||
import com.volmit.iris.gen.scaffold.TerrainProvider;
|
import com.volmit.iris.gen.scaffold.TerrainProvider;
|
||||||
import com.volmit.iris.gen.scaffold.TerrainTarget;
|
import com.volmit.iris.gen.scaffold.TerrainTarget;
|
||||||
|
import com.volmit.iris.gen.v2.DataProvider;
|
||||||
import com.volmit.iris.manager.IrisDataManager;
|
import com.volmit.iris.manager.IrisDataManager;
|
||||||
import com.volmit.iris.noise.CNG;
|
import com.volmit.iris.noise.CNG;
|
||||||
import com.volmit.iris.object.IrisBiome;
|
import com.volmit.iris.object.IrisBiome;
|
||||||
@ -54,7 +55,7 @@ import lombok.EqualsAndHashCode;
|
|||||||
|
|
||||||
@Data
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = false)
|
@EqualsAndHashCode(callSuper = false)
|
||||||
public abstract class ContextualTerrainProvider implements TerrainProvider, Listener
|
public abstract class ContextualTerrainProvider implements TerrainProvider, Listener, DataProvider
|
||||||
{
|
{
|
||||||
private Provisioned provisioner;
|
private Provisioned provisioner;
|
||||||
private KList<BlockPosition> noLoot;
|
private KList<BlockPosition> noLoot;
|
||||||
|
8
src/main/java/com/volmit/iris/gen/v2/DataProvider.java
Normal file
8
src/main/java/com/volmit/iris/gen/v2/DataProvider.java
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
package com.volmit.iris.gen.v2;
|
||||||
|
|
||||||
|
import com.volmit.iris.manager.IrisDataManager;
|
||||||
|
|
||||||
|
public interface DataProvider
|
||||||
|
{
|
||||||
|
public IrisDataManager getData();
|
||||||
|
}
|
@ -1,25 +1,31 @@
|
|||||||
package com.volmit.iris.gen.v2;
|
package com.volmit.iris.gen.v2;
|
||||||
|
|
||||||
|
import com.volmit.iris.Iris;
|
||||||
import com.volmit.iris.gen.v2.scaffold.layer.ProceduralStream;
|
import com.volmit.iris.gen.v2.scaffold.layer.ProceduralStream;
|
||||||
import com.volmit.iris.manager.IrisDataManager;
|
import com.volmit.iris.manager.IrisDataManager;
|
||||||
import com.volmit.iris.object.InferredType;
|
import com.volmit.iris.object.InferredType;
|
||||||
import com.volmit.iris.object.IrisBiome;
|
import com.volmit.iris.object.IrisBiome;
|
||||||
|
import com.volmit.iris.object.IrisBiomeGeneratorLink;
|
||||||
import com.volmit.iris.object.IrisDimension;
|
import com.volmit.iris.object.IrisDimension;
|
||||||
import com.volmit.iris.object.IrisRegion;
|
import com.volmit.iris.object.IrisRegion;
|
||||||
import com.volmit.iris.object.NoiseStyle;
|
import com.volmit.iris.object.NoiseStyle;
|
||||||
|
import com.volmit.iris.util.M;
|
||||||
import com.volmit.iris.util.RNG;
|
import com.volmit.iris.util.RNG;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class IrisComplex
|
public class IrisComplex implements DataProvider
|
||||||
{
|
{
|
||||||
|
private IrisDataManager data;
|
||||||
private ProceduralStream<IrisRegion> regionStream;
|
private ProceduralStream<IrisRegion> regionStream;
|
||||||
private ProceduralStream<InferredType> bridgeStream;
|
private ProceduralStream<InferredType> bridgeStream;
|
||||||
private ProceduralStream<IrisBiome> landBiomeStream;
|
private ProceduralStream<IrisBiome> landBiomeStream;
|
||||||
private ProceduralStream<IrisBiome> seaBiomeStream;
|
private ProceduralStream<IrisBiome> seaBiomeStream;
|
||||||
private ProceduralStream<IrisBiome> shoreBiomeStream;
|
private ProceduralStream<IrisBiome> shoreBiomeStream;
|
||||||
private ProceduralStream<IrisBiome> baseBiomeStream;
|
private ProceduralStream<IrisBiome> baseBiomeStream;
|
||||||
|
private ProceduralStream<Double> heightStream;
|
||||||
|
private ProceduralStream<Double> heightMinStream;
|
||||||
|
|
||||||
public IrisComplex()
|
public IrisComplex()
|
||||||
{
|
{
|
||||||
@ -53,6 +59,7 @@ public class IrisComplex
|
|||||||
|
|
||||||
public void flash(long seed, IrisDimension dimension, IrisDataManager data)
|
public void flash(long seed, IrisDimension dimension, IrisDataManager data)
|
||||||
{
|
{
|
||||||
|
this.data = data;
|
||||||
RNG rng = new RNG(seed);
|
RNG rng = new RNG(seed);
|
||||||
//@builder
|
//@builder
|
||||||
regionStream = NoiseStyle.CELLULAR.stream(rng.nextRNG())
|
regionStream = NoiseStyle.CELLULAR.stream(rng.nextRNG())
|
||||||
@ -81,6 +88,25 @@ public class IrisComplex
|
|||||||
.convert((v) -> v >= dimension.getLandChance() ? InferredType.SEA : InferredType.LAND);
|
.convert((v) -> v >= dimension.getLandChance() ? InferredType.SEA : InferredType.LAND);
|
||||||
baseBiomeStream = bridgeStream.convertAware2D((t, x, z) -> t.equals(InferredType.SEA)
|
baseBiomeStream = bridgeStream.convertAware2D((t, x, z) -> t.equals(InferredType.SEA)
|
||||||
? seaBiomeStream.get(x, z) : landBiomeStream.get(x, z));
|
? seaBiomeStream.get(x, z) : landBiomeStream.get(x, z));
|
||||||
|
heightStream = baseBiomeStream.convertAware2D((b, x, z) -> {
|
||||||
|
double h = 0;
|
||||||
|
for(IrisBiomeGeneratorLink i : b.getGenerators())
|
||||||
|
{
|
||||||
|
// TODO Use gen interp ..... or
|
||||||
|
// try trilerp again....
|
||||||
|
try
|
||||||
|
{
|
||||||
|
h += i.getHeight(this, x, z, seed);
|
||||||
|
}
|
||||||
|
|
||||||
|
catch(Throwable e)
|
||||||
|
{
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return h+63;
|
||||||
|
}).forceDouble().interpolate().starcast9(12).into().bihermite(4, 0.01, 0);
|
||||||
//@done
|
//@done
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,34 +0,0 @@
|
|||||||
package com.volmit.iris.gen.v2;
|
|
||||||
|
|
||||||
import org.bukkit.block.Biome;
|
|
||||||
import org.bukkit.block.data.BlockData;
|
|
||||||
|
|
||||||
import com.volmit.iris.gen.v2.scaffold.Hunk;
|
|
||||||
import com.volmit.iris.manager.IrisDataManager;
|
|
||||||
import com.volmit.iris.object.IrisDimension;
|
|
||||||
import com.volmit.iris.util.RNG;
|
|
||||||
|
|
||||||
public class IrisGenerator
|
|
||||||
{
|
|
||||||
private long seed;
|
|
||||||
private IrisDataManager data;
|
|
||||||
private IrisDimension dimension;
|
|
||||||
private IrisComplex complex;
|
|
||||||
|
|
||||||
public IrisGenerator(long seed, IrisDimension dimension, IrisDataManager data)
|
|
||||||
{
|
|
||||||
this.seed = seed;
|
|
||||||
flash();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void flash()
|
|
||||||
{
|
|
||||||
complex.flash(seed, dimension, data);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void generate(int x, int z, Hunk<BlockData> blocks, Hunk<Biome> biomes)
|
|
||||||
{
|
|
||||||
RNG rng = new RNG((((long) x) << 32) | (z & 0xffffffffL));
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
@ -0,0 +1,51 @@
|
|||||||
|
package com.volmit.iris.gen.v2;
|
||||||
|
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.block.Biome;
|
||||||
|
import org.bukkit.block.data.BlockData;
|
||||||
|
|
||||||
|
import com.volmit.iris.gen.v2.scaffold.Hunk;
|
||||||
|
import com.volmit.iris.gen.v2.scaffold.layer.ProceduralStream;
|
||||||
|
import com.volmit.iris.manager.IrisDataManager;
|
||||||
|
import com.volmit.iris.object.IrisDimension;
|
||||||
|
import com.volmit.iris.object.NoiseStyle;
|
||||||
|
import com.volmit.iris.util.RNG;
|
||||||
|
|
||||||
|
public class IrisTerrainGenerator
|
||||||
|
{
|
||||||
|
private long seed;
|
||||||
|
private IrisDataManager data;
|
||||||
|
private IrisDimension dimension;
|
||||||
|
private IrisComplex complex;
|
||||||
|
|
||||||
|
public IrisTerrainGenerator(long seed, IrisDimension dimension, IrisDataManager data)
|
||||||
|
{
|
||||||
|
this.seed = seed;
|
||||||
|
complex = new IrisComplex();
|
||||||
|
this.data = data;
|
||||||
|
this.dimension = dimension;
|
||||||
|
flash();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void flash()
|
||||||
|
{
|
||||||
|
complex.flash(seed, dimension, data);
|
||||||
|
}
|
||||||
|
|
||||||
|
public ProceduralStream<Double> height = NoiseStyle.CELLULAR
|
||||||
|
.stream(69)
|
||||||
|
.fit(1, 69)
|
||||||
|
.interpolate().starcast9(4).into().bilinear(4)
|
||||||
|
;
|
||||||
|
|
||||||
|
public ProceduralStream<BlockData> rock = NoiseStyle.STATIC
|
||||||
|
.stream(88)
|
||||||
|
.select(Material.STONE, Material.ANDESITE)
|
||||||
|
.convertCached((mat) -> mat.createBlockData());
|
||||||
|
|
||||||
|
public void generate(int x, int z, Hunk<BlockData> blocks, Hunk<Biome> biomes)
|
||||||
|
{
|
||||||
|
RNG rng = new RNG((((long) x) << 32) | (z & 0xffffffffL));
|
||||||
|
complex.getHeightStream().fill2D(blocks, x * 16, z * 16, Material.STONE.createBlockData());
|
||||||
|
}
|
||||||
|
}
|
@ -12,6 +12,7 @@ import org.bukkit.block.data.BlockData;
|
|||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.generator.ChunkGenerator;
|
import org.bukkit.generator.ChunkGenerator;
|
||||||
|
|
||||||
|
import com.volmit.iris.Iris;
|
||||||
import com.volmit.iris.gen.v2.scaffold.Hunk;
|
import com.volmit.iris.gen.v2.scaffold.Hunk;
|
||||||
import com.volmit.iris.gen.v2.scaffold.layer.ProceduralStream;
|
import com.volmit.iris.gen.v2.scaffold.layer.ProceduralStream;
|
||||||
import com.volmit.iris.object.NoiseStyle;
|
import com.volmit.iris.object.NoiseStyle;
|
||||||
@ -22,27 +23,13 @@ public class TestGen
|
|||||||
{
|
{
|
||||||
p.teleport(new WorldCreator("t/" + UUID.randomUUID().toString()).generator(new ChunkGenerator()
|
p.teleport(new WorldCreator("t/" + UUID.randomUUID().toString()).generator(new ChunkGenerator()
|
||||||
{
|
{
|
||||||
//@builder
|
IrisTerrainGenerator tg = new IrisTerrainGenerator(1337, Iris.globaldata.getDimensionLoader().load("overworld"), Iris.globaldata);
|
||||||
ProceduralStream<BlockData> rock = NoiseStyle.STATIC.stream(1337)
|
|
||||||
.select(new Material[] {
|
|
||||||
Material.STONE,
|
|
||||||
Material.ANDESITE
|
|
||||||
}).convertCached((m) -> m.createBlockData());
|
|
||||||
ProceduralStream<Double> terrain = NoiseStyle.CELLULAR.stream(1337)
|
|
||||||
.fit(1, 32)
|
|
||||||
.zoom(1.75)
|
|
||||||
.interpolate().bilinear(4)
|
|
||||||
.into().starcast(4, 9);
|
|
||||||
|
|
||||||
//@done
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ChunkData generateChunkData(World world, Random random, int x, int z, BiomeGrid biome)
|
public ChunkData generateChunkData(World world, Random random, int x, int z, BiomeGrid biome)
|
||||||
{
|
{
|
||||||
ChunkData c = createChunkData(world);
|
ChunkData c = createChunkData(world);
|
||||||
Hunk<BlockData> data = Hunk.view(c);
|
tg.generate(x, z, Hunk.view(c), null);
|
||||||
terrain.fill2D(data, x * 16, z * 16, rock);
|
|
||||||
|
|
||||||
return c;
|
return c;
|
||||||
}
|
}
|
||||||
}).createWorld().getSpawnLocation());
|
}).createWorld().getSpawnLocation());
|
||||||
|
@ -11,6 +11,7 @@ import com.volmit.iris.gen.v2.scaffold.stream.CachedStream2D;
|
|||||||
import com.volmit.iris.gen.v2.scaffold.stream.ClampedStream;
|
import com.volmit.iris.gen.v2.scaffold.stream.ClampedStream;
|
||||||
import com.volmit.iris.gen.v2.scaffold.stream.ConversionStream;
|
import com.volmit.iris.gen.v2.scaffold.stream.ConversionStream;
|
||||||
import com.volmit.iris.gen.v2.scaffold.stream.FittedStream;
|
import com.volmit.iris.gen.v2.scaffold.stream.FittedStream;
|
||||||
|
import com.volmit.iris.gen.v2.scaffold.stream.ForceDoubleStream;
|
||||||
import com.volmit.iris.gen.v2.scaffold.stream.Interpolated;
|
import com.volmit.iris.gen.v2.scaffold.stream.Interpolated;
|
||||||
import com.volmit.iris.gen.v2.scaffold.stream.OffsetStream;
|
import com.volmit.iris.gen.v2.scaffold.stream.OffsetStream;
|
||||||
import com.volmit.iris.gen.v2.scaffold.stream.RoundingStream;
|
import com.volmit.iris.gen.v2.scaffold.stream.RoundingStream;
|
||||||
@ -26,6 +27,11 @@ public interface ProceduralStream<T> extends ProceduralLayer, Interpolated<T>
|
|||||||
return new RoundingStream(this);
|
return new RoundingStream(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
default ProceduralStream<T> forceDouble()
|
||||||
|
{
|
||||||
|
return new ForceDoubleStream<T>(this);
|
||||||
|
}
|
||||||
|
|
||||||
default ProceduralStream<T> cache2D(int maxSize)
|
default ProceduralStream<T> cache2D(int maxSize)
|
||||||
{
|
{
|
||||||
return new CachedStream2D<T>(this, maxSize);
|
return new CachedStream2D<T>(this, maxSize);
|
||||||
@ -115,7 +121,7 @@ public interface ProceduralStream<T> extends ProceduralLayer, Interpolated<T>
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
default <V> void fillUp2D(Hunk<V> h, double x, double z, V v)
|
default <V> void fill2D(Hunk<V> h, double x, double z, V v)
|
||||||
{
|
{
|
||||||
for(int i = 0; i < h.getWidth(); i++)
|
for(int i = 0; i < h.getWidth(); i++)
|
||||||
{
|
{
|
||||||
@ -131,7 +137,7 @@ public interface ProceduralStream<T> extends ProceduralLayer, Interpolated<T>
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
default <V> void fillUp3D(Hunk<V> h, double x, int y, double z, V v)
|
default <V> void fill3D(Hunk<V> h, double x, int y, double z, V v)
|
||||||
{
|
{
|
||||||
for(int i = 0; i < h.getWidth(); i++)
|
for(int i = 0; i < h.getWidth(); i++)
|
||||||
{
|
{
|
||||||
|
@ -19,6 +19,11 @@ public class AwareConversionStream2D<T, V> extends BasicLayer implements Procedu
|
|||||||
@Override
|
@Override
|
||||||
public double toDouble(V t)
|
public double toDouble(V t)
|
||||||
{
|
{
|
||||||
|
if(t instanceof Double)
|
||||||
|
{
|
||||||
|
return (double) t;
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -19,6 +19,11 @@ public class AwareConversionStream3D<T, V> extends BasicLayer implements Procedu
|
|||||||
@Override
|
@Override
|
||||||
public double toDouble(V t)
|
public double toDouble(V t)
|
||||||
{
|
{
|
||||||
|
if(t instanceof Double)
|
||||||
|
{
|
||||||
|
return (double) t;
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -20,6 +20,11 @@ public class ConversionStream<T, V> extends BasicLayer implements ProceduralStre
|
|||||||
@Override
|
@Override
|
||||||
public double toDouble(V t)
|
public double toDouble(V t)
|
||||||
{
|
{
|
||||||
|
if(t instanceof Double)
|
||||||
|
{
|
||||||
|
return (double) t;
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -0,0 +1,41 @@
|
|||||||
|
package com.volmit.iris.gen.v2.scaffold.stream;
|
||||||
|
|
||||||
|
import com.volmit.iris.gen.v2.scaffold.layer.BasicLayer;
|
||||||
|
import com.volmit.iris.gen.v2.scaffold.layer.ProceduralStream;
|
||||||
|
|
||||||
|
public class ForceDoubleStream<T> extends BasicLayer implements ProceduralStream<T>
|
||||||
|
{
|
||||||
|
private final ProceduralStream<T> stream;
|
||||||
|
|
||||||
|
public ForceDoubleStream(ProceduralStream<T> stream)
|
||||||
|
{
|
||||||
|
super();
|
||||||
|
this.stream = stream;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public double toDouble(T t)
|
||||||
|
{
|
||||||
|
return (double) t;
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
@Override
|
||||||
|
public T fromDouble(double d)
|
||||||
|
{
|
||||||
|
return (T) Double.valueOf(d);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public T get(double x, double z)
|
||||||
|
{
|
||||||
|
return stream.get(x, z);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public T get(double x, double y, double z)
|
||||||
|
{
|
||||||
|
return stream.get(x, y, z);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -1,8 +1,8 @@
|
|||||||
package com.volmit.iris.object;
|
package com.volmit.iris.object;
|
||||||
|
|
||||||
import com.volmit.iris.Iris;
|
import com.volmit.iris.Iris;
|
||||||
import com.volmit.iris.gen.ContextualTerrainProvider;
|
|
||||||
import com.volmit.iris.gen.atomics.AtomicCache;
|
import com.volmit.iris.gen.atomics.AtomicCache;
|
||||||
|
import com.volmit.iris.gen.v2.DataProvider;
|
||||||
import com.volmit.iris.util.DependsOn;
|
import com.volmit.iris.util.DependsOn;
|
||||||
import com.volmit.iris.util.Desc;
|
import com.volmit.iris.util.Desc;
|
||||||
import com.volmit.iris.util.DontObfuscate;
|
import com.volmit.iris.util.DontObfuscate;
|
||||||
@ -48,11 +48,11 @@ public class IrisBiomeGeneratorLink
|
|||||||
|
|
||||||
private final transient AtomicCache<IrisGenerator> gen = new AtomicCache<>();
|
private final transient AtomicCache<IrisGenerator> gen = new AtomicCache<>();
|
||||||
|
|
||||||
public IrisGenerator getCachedGenerator(ContextualTerrainProvider g)
|
public IrisGenerator getCachedGenerator(DataProvider g)
|
||||||
{
|
{
|
||||||
return gen.aquire(() ->
|
return gen.aquire(() ->
|
||||||
{
|
{
|
||||||
IrisGenerator gen = g != null ? g.loadGenerator(getGenerator()) : Iris.globaldata.getGeneratorLoader().load(getGenerator());
|
IrisGenerator gen = g != null ? g.getData().getGeneratorLoader().load(getGenerator()) : Iris.globaldata.getGeneratorLoader().load(getGenerator());
|
||||||
|
|
||||||
if(gen == null)
|
if(gen == null)
|
||||||
{
|
{
|
||||||
@ -63,7 +63,7 @@ public class IrisBiomeGeneratorLink
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public double getHeight(ContextualTerrainProvider xg, double x, double z, long seed)
|
public double getHeight(DataProvider xg, double x, double z, long seed)
|
||||||
{
|
{
|
||||||
double g = getCachedGenerator(xg).getHeight(x, z, seed);
|
double g = getCachedGenerator(xg).getHeight(x, z, seed);
|
||||||
g = g < 0 ? 0 : g;
|
g = g < 0 ? 0 : g;
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
package com.volmit.iris.object;
|
package com.volmit.iris.object;
|
||||||
|
|
||||||
import com.volmit.iris.Iris;
|
import com.volmit.iris.Iris;
|
||||||
import com.volmit.iris.gen.ContextualTerrainProvider;
|
|
||||||
import com.volmit.iris.gen.atomics.AtomicCache;
|
import com.volmit.iris.gen.atomics.AtomicCache;
|
||||||
|
import com.volmit.iris.gen.v2.DataProvider;
|
||||||
import com.volmit.iris.noise.CNG;
|
import com.volmit.iris.noise.CNG;
|
||||||
import com.volmit.iris.util.ArrayType;
|
import com.volmit.iris.util.ArrayType;
|
||||||
import com.volmit.iris.util.Desc;
|
import com.volmit.iris.util.Desc;
|
||||||
@ -382,7 +382,7 @@ public class IrisRegion extends IrisRegistrant implements IRare
|
|||||||
return getShoreHeightGenerator().fitDouble(shoreHeightMin, shoreHeightMax, x / shoreHeightZoom, z / shoreHeightZoom);
|
return getShoreHeightGenerator().fitDouble(shoreHeightMin, shoreHeightMax, x / shoreHeightZoom, z / shoreHeightZoom);
|
||||||
}
|
}
|
||||||
|
|
||||||
public KList<IrisBiome> getAllBiomes(ContextualTerrainProvider g)
|
public KList<IrisBiome> getAllBiomes(DataProvider g)
|
||||||
{
|
{
|
||||||
KMap<String, IrisBiome> b = new KMap<>();
|
KMap<String, IrisBiome> b = new KMap<>();
|
||||||
KSet<String> names = new KSet<>();
|
KSet<String> names = new KSet<>();
|
||||||
@ -422,7 +422,7 @@ public class IrisRegion extends IrisRegistrant implements IRare
|
|||||||
return b.v();
|
return b.v();
|
||||||
}
|
}
|
||||||
|
|
||||||
public KList<IrisBiome> getBiomes(ContextualTerrainProvider g, InferredType type)
|
public KList<IrisBiome> getBiomes(DataProvider g, InferredType type)
|
||||||
{
|
{
|
||||||
if(type.equals(InferredType.LAND))
|
if(type.equals(InferredType.LAND))
|
||||||
{
|
{
|
||||||
@ -457,7 +457,7 @@ public class IrisRegion extends IrisRegistrant implements IRare
|
|||||||
return new KList<>();
|
return new KList<>();
|
||||||
}
|
}
|
||||||
|
|
||||||
public KList<IrisBiome> getRealCaveBiomes(ContextualTerrainProvider g)
|
public KList<IrisBiome> getRealCaveBiomes(DataProvider g)
|
||||||
{
|
{
|
||||||
return realCaveBiomes.aquire(() ->
|
return realCaveBiomes.aquire(() ->
|
||||||
{
|
{
|
||||||
@ -472,7 +472,7 @@ public class IrisRegion extends IrisRegistrant implements IRare
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public KList<IrisBiome> getRealLakeBiomes(ContextualTerrainProvider g)
|
public KList<IrisBiome> getRealLakeBiomes(DataProvider g)
|
||||||
{
|
{
|
||||||
return realLakeBiomes.aquire(() ->
|
return realLakeBiomes.aquire(() ->
|
||||||
{
|
{
|
||||||
@ -487,7 +487,7 @@ public class IrisRegion extends IrisRegistrant implements IRare
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public KList<IrisBiome> getRealRiverBiomes(ContextualTerrainProvider g)
|
public KList<IrisBiome> getRealRiverBiomes(DataProvider g)
|
||||||
{
|
{
|
||||||
return realRiverBiomes.aquire(() ->
|
return realRiverBiomes.aquire(() ->
|
||||||
{
|
{
|
||||||
@ -502,7 +502,7 @@ public class IrisRegion extends IrisRegistrant implements IRare
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public KList<IrisBiome> getRealShoreBiomes(ContextualTerrainProvider g)
|
public KList<IrisBiome> getRealShoreBiomes(DataProvider g)
|
||||||
{
|
{
|
||||||
return realShoreBiomes.aquire(() ->
|
return realShoreBiomes.aquire(() ->
|
||||||
{
|
{
|
||||||
@ -517,7 +517,7 @@ public class IrisRegion extends IrisRegistrant implements IRare
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public KList<IrisBiome> getRealSeaBiomes(ContextualTerrainProvider g)
|
public KList<IrisBiome> getRealSeaBiomes(DataProvider g)
|
||||||
{
|
{
|
||||||
return realSeaBiomes.aquire(() ->
|
return realSeaBiomes.aquire(() ->
|
||||||
{
|
{
|
||||||
@ -532,7 +532,7 @@ public class IrisRegion extends IrisRegistrant implements IRare
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public KList<IrisBiome> getRealLandBiomes(ContextualTerrainProvider g)
|
public KList<IrisBiome> getRealLandBiomes(DataProvider g)
|
||||||
{
|
{
|
||||||
return realLandBiomes.aquire(() ->
|
return realLandBiomes.aquire(() ->
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user