mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-07-18 18:23:06 +00:00
Fix a bug causing issues with decorations
This commit is contained in:
parent
0755e8f618
commit
4a82def974
@ -1,6 +1,5 @@
|
||||
package com.volmit.iris.generator.noise;
|
||||
|
||||
import com.volmit.iris.Iris;
|
||||
import com.volmit.iris.scaffold.stream.ProceduralStream;
|
||||
import com.volmit.iris.scaffold.stream.arithmetic.FittedStream;
|
||||
import com.volmit.iris.scaffold.stream.sources.CNGStream;
|
||||
@ -289,8 +288,6 @@ public class CNG
|
||||
|
||||
catch(Throwable e)
|
||||
{
|
||||
Iris.error("Failed to sample noise into array " + v.size() + " nodes");
|
||||
Iris.error("Noise Source: " + generator.getClass().getSimpleName());
|
||||
|
||||
}
|
||||
|
||||
@ -406,4 +403,8 @@ public class CNG
|
||||
{
|
||||
return scale;
|
||||
}
|
||||
|
||||
public boolean isStatic() {
|
||||
return generator != null && generator.isStatic();
|
||||
}
|
||||
}
|
||||
|
@ -7,4 +7,9 @@ public interface NoiseGenerator
|
||||
public double noise(double x, double z);
|
||||
|
||||
public double noise(double x, double y, double z);
|
||||
|
||||
public default boolean isStatic()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
@ -11,6 +11,11 @@ public class WhiteNoise implements NoiseGenerator
|
||||
n = new FastNoise(new RNG(seed).imax());
|
||||
}
|
||||
|
||||
public boolean isStatic()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
private double f(double m)
|
||||
{
|
||||
return (m % 8192) * 1024;
|
||||
|
@ -4,15 +4,7 @@ import com.volmit.iris.Iris;
|
||||
import com.volmit.iris.scaffold.cache.AtomicCache;
|
||||
import com.volmit.iris.manager.IrisDataManager;
|
||||
import com.volmit.iris.generator.noise.CNG;
|
||||
import com.volmit.iris.util.ArrayType;
|
||||
import com.volmit.iris.util.DependsOn;
|
||||
import com.volmit.iris.util.Desc;
|
||||
import com.volmit.iris.util.DontObfuscate;
|
||||
import com.volmit.iris.util.KList;
|
||||
import com.volmit.iris.util.MaxNumber;
|
||||
import com.volmit.iris.util.MinNumber;
|
||||
import com.volmit.iris.util.RNG;
|
||||
import com.volmit.iris.util.Required;
|
||||
import com.volmit.iris.util.*;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
@ -127,7 +119,11 @@ public class IrisDecorator
|
||||
|
||||
public CNG getVarianceGenerator(RNG rng, IrisDataManager data)
|
||||
{
|
||||
return varianceGenerator.aquire(() -> variance.create(rng.nextParallelRNG((int) (getBlockData(data).size()))).scale(1D / varianceZoom));
|
||||
return varianceGenerator.aquire(() ->
|
||||
variance.create(
|
||||
rng.nextParallelRNG((int) (getBlockData(data).size())))
|
||||
|
||||
.scale(1D / varianceZoom));
|
||||
}
|
||||
|
||||
public KList<IrisBlockData> add(String b)
|
||||
@ -168,15 +164,21 @@ public class IrisDecorator
|
||||
return null;
|
||||
}
|
||||
|
||||
double xx = x / getZoom();
|
||||
double zz = z / getZoom();
|
||||
double xx = x;
|
||||
double zz = z;
|
||||
|
||||
if(!getVarianceGenerator(rng, data).isStatic())
|
||||
{
|
||||
xx = x / getZoom();
|
||||
zz = z / getZoom();
|
||||
}
|
||||
|
||||
if(getBlockData(data).size() == 1)
|
||||
{
|
||||
return getBlockData(data).get(0);
|
||||
}
|
||||
|
||||
return getVarianceGenerator(rng, data).fit(getBlockData(data), xx, zz);
|
||||
return getVarianceGenerator(rng, data).fit(getBlockData(data), xx, zz).clone();
|
||||
}
|
||||
|
||||
public BlockData getBlockDataForTop(IrisBiome b, RNG rng, double x, double z, IrisDataManager data)
|
||||
|
Loading…
x
Reference in New Issue
Block a user