mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-07-19 02:36:59 +00:00
Fix seed breaking on restarts
This commit is contained in:
parent
ff6f76e018
commit
01a9a13402
@ -92,16 +92,16 @@ public class IrisComplex implements DataProvider
|
|||||||
rngStream = ProceduralStream.of((x, z) -> new RNG(((x.longValue()) << 32) | (z.longValue() & 0xffffffffL))
|
rngStream = ProceduralStream.of((x, z) -> new RNG(((x.longValue()) << 32) | (z.longValue() & 0xffffffffL))
|
||||||
.nextParallelRNG(engine.getWorld().getSeed()), Interpolated.RNG);
|
.nextParallelRNG(engine.getWorld().getSeed()), Interpolated.RNG);
|
||||||
chunkRngStream = rngStream.blockToChunkCoords();
|
chunkRngStream = rngStream.blockToChunkCoords();
|
||||||
rockStream = engine.getDimension().getRockPalette().getLayerGenerator(rng.nextRNG(), data).stream()
|
rockStream = engine.getDimension().getRockPalette().getLayerGenerator(rng.nextParallelRNG(45), data).stream()
|
||||||
.select(engine.getDimension().getRockPalette().getBlockData(data));
|
.select(engine.getDimension().getRockPalette().getBlockData(data));
|
||||||
fluidStream = engine.getDimension().getFluidPalette().getLayerGenerator(rng.nextRNG(), data).stream()
|
fluidStream = engine.getDimension().getFluidPalette().getLayerGenerator(rng.nextParallelRNG(78), data).stream()
|
||||||
.select(engine.getDimension().getFluidPalette().getBlockData(data));
|
.select(engine.getDimension().getFluidPalette().getBlockData(data));
|
||||||
regionStream = engine.getDimension().getRegionStyle().create(rng.nextRNG()).stream()
|
regionStream = engine.getDimension().getRegionStyle().create(rng.nextParallelRNG(883)).stream()
|
||||||
.zoom(engine.getDimension().getRegionZoom())
|
.zoom(engine.getDimension().getRegionZoom())
|
||||||
.selectRarity(engine.getDimension().getRegions())
|
.selectRarity(engine.getDimension().getRegions())
|
||||||
.convertCached((s) -> data.getRegionLoader().load(s)).cache2D(cacheSize);
|
.convertCached((s) -> data.getRegionLoader().load(s)).cache2D(cacheSize);
|
||||||
caveBiomeStream = regionStream.convert((r)
|
caveBiomeStream = regionStream.convert((r)
|
||||||
-> engine.getDimension().getCaveBiomeStyle().create(rng.nextRNG()).stream()
|
-> engine.getDimension().getCaveBiomeStyle().create(rng.nextParallelRNG(1221)).stream()
|
||||||
.zoom(r.getCaveBiomeZoom())
|
.zoom(r.getCaveBiomeZoom())
|
||||||
.selectRarity(r.getCaveBiomes())
|
.selectRarity(r.getCaveBiomes())
|
||||||
.onNull("")
|
.onNull("")
|
||||||
@ -116,7 +116,7 @@ public class IrisComplex implements DataProvider
|
|||||||
})
|
})
|
||||||
).convertAware2D(ProceduralStream::get).cache2D(cacheSize);
|
).convertAware2D(ProceduralStream::get).cache2D(cacheSize);
|
||||||
landBiomeStream = regionStream.convert((r)
|
landBiomeStream = regionStream.convert((r)
|
||||||
-> engine.getDimension().getLandBiomeStyle().create(rng.nextRNG()).stream()
|
-> engine.getDimension().getLandBiomeStyle().create(rng.nextParallelRNG(234234234)).stream()
|
||||||
.zoom(r.getLandBiomeZoom())
|
.zoom(r.getLandBiomeZoom())
|
||||||
.selectRarity(r.getLandBiomes())
|
.selectRarity(r.getLandBiomes())
|
||||||
.convertCached((s) -> data.getBiomeLoader().load(s)
|
.convertCached((s) -> data.getBiomeLoader().load(s)
|
||||||
@ -124,7 +124,7 @@ public class IrisComplex implements DataProvider
|
|||||||
).convertAware2D(ProceduralStream::get)
|
).convertAware2D(ProceduralStream::get)
|
||||||
.cache2D(cacheSize);
|
.cache2D(cacheSize);
|
||||||
seaBiomeStream = regionStream.convert((r)
|
seaBiomeStream = regionStream.convert((r)
|
||||||
-> engine.getDimension().getSeaBiomeStyle().create(rng.nextRNG()).stream()
|
-> engine.getDimension().getSeaBiomeStyle().create(rng.nextParallelRNG(11232323)).stream()
|
||||||
.zoom(r.getSeaBiomeZoom())
|
.zoom(r.getSeaBiomeZoom())
|
||||||
.selectRarity(r.getSeaBiomes())
|
.selectRarity(r.getSeaBiomes())
|
||||||
.convertCached((s) -> data.getBiomeLoader().load(s)
|
.convertCached((s) -> data.getBiomeLoader().load(s)
|
||||||
@ -132,13 +132,13 @@ public class IrisComplex implements DataProvider
|
|||||||
).convertAware2D(ProceduralStream::get)
|
).convertAware2D(ProceduralStream::get)
|
||||||
.cache2D(cacheSize);
|
.cache2D(cacheSize);
|
||||||
shoreBiomeStream = regionStream.convert((r)
|
shoreBiomeStream = regionStream.convert((r)
|
||||||
-> engine.getDimension().getShoreBiomeStyle().create(rng.nextRNG()).stream()
|
-> engine.getDimension().getShoreBiomeStyle().create(rng.nextParallelRNG(7787845)).stream()
|
||||||
.zoom(r.getShoreBiomeZoom())
|
.zoom(r.getShoreBiomeZoom())
|
||||||
.selectRarity(r.getShoreBiomes())
|
.selectRarity(r.getShoreBiomes())
|
||||||
.convertCached((s) -> data.getBiomeLoader().load(s)
|
.convertCached((s) -> data.getBiomeLoader().load(s)
|
||||||
.setInferredType(InferredType.SHORE))
|
.setInferredType(InferredType.SHORE))
|
||||||
).convertAware2D(ProceduralStream::get).cache2D(cacheSize);
|
).convertAware2D(ProceduralStream::get).cache2D(cacheSize);
|
||||||
bridgeStream = engine.getDimension().getContinentalStyle().create(rng.nextRNG()).bake().scale(1D / engine.getDimension().getContinentZoom()).bake().stream()
|
bridgeStream = engine.getDimension().getContinentalStyle().create(rng.nextParallelRNG(234234565)).bake().scale(1D / engine.getDimension().getContinentZoom()).bake().stream()
|
||||||
.convert((v) -> v >= engine.getDimension().getLandChance() ? InferredType.SEA : InferredType.LAND);
|
.convert((v) -> v >= engine.getDimension().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))
|
||||||
|
@ -1,18 +1,14 @@
|
|||||||
package com.volmit.iris.generator.noise;
|
package com.volmit.iris.generator.noise;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import com.volmit.iris.Iris;
|
import com.volmit.iris.Iris;
|
||||||
import com.volmit.iris.scaffold.stream.ProceduralStream;
|
import com.volmit.iris.scaffold.stream.ProceduralStream;
|
||||||
import com.volmit.iris.scaffold.stream.sources.CNGStream;
|
|
||||||
import com.volmit.iris.scaffold.stream.arithmetic.FittedStream;
|
import com.volmit.iris.scaffold.stream.arithmetic.FittedStream;
|
||||||
import com.volmit.iris.util.IRare;
|
import com.volmit.iris.scaffold.stream.sources.CNGStream;
|
||||||
import com.volmit.iris.util.IrisInterpolation;
|
import com.volmit.iris.util.*;
|
||||||
import com.volmit.iris.util.KList;
|
|
||||||
import com.volmit.iris.util.NoiseInjector;
|
|
||||||
import com.volmit.iris.util.RNG;
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class CNG
|
public class CNG
|
||||||
{
|
{
|
||||||
@ -163,12 +159,6 @@ public class CNG
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
public RNG nextRNG()
|
|
||||||
{
|
|
||||||
return getRNG().nextRNG();
|
|
||||||
}
|
|
||||||
|
|
||||||
public RNG getRNG()
|
public RNG getRNG()
|
||||||
{
|
{
|
||||||
return rng;
|
return rng;
|
||||||
|
@ -44,11 +44,6 @@ public class RNG extends Random
|
|||||||
return new RNG(sx + signature);
|
return new RNG(sx + signature);
|
||||||
}
|
}
|
||||||
|
|
||||||
public RNG nextRNG()
|
|
||||||
{
|
|
||||||
return new RNG(nextLong());
|
|
||||||
}
|
|
||||||
|
|
||||||
public String s(int length)
|
public String s(int length)
|
||||||
{
|
{
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user