Improvements

This commit is contained in:
cyberpwn 2021-09-12 08:02:41 -04:00
parent 91c24d5501
commit 5bc019d3d3
3 changed files with 18 additions and 11 deletions

View File

@ -85,7 +85,6 @@ public class IrisData implements ExclusionStrategy, TypeAdapterFactory {
private ResourceLoader<IrisExpression> expressionLoader; private ResourceLoader<IrisExpression> expressionLoader;
private ResourceLoader<IrisObject> objectLoader; private ResourceLoader<IrisObject> objectLoader;
private ResourceLoader<IrisScript> scriptLoader; private ResourceLoader<IrisScript> scriptLoader;
private ResourceLoader<IrisMatter> matterLoader;
private ResourceLoader<IrisCave> caveLoader; private ResourceLoader<IrisCave> caveLoader;
private ResourceLoader<IrisRavine> ravineLoader; private ResourceLoader<IrisRavine> ravineLoader;
private KMap<String, KList<String>> possibleSnippets; private KMap<String, KList<String>> possibleSnippets;
@ -169,10 +168,6 @@ public class IrisData implements ExclusionStrategy, TypeAdapterFactory {
return loadAny(key, (dm) -> dm.getScriptLoader().load(key, false)); return loadAny(key, (dm) -> dm.getScriptLoader().load(key, false));
} }
public static IrisMatter loadAnyMatter(String key) {
return loadAny(key, (dm) -> dm.getMatterLoader().load(key, false));
}
public static IrisRavine loadAnyRavine(String key) { public static IrisRavine loadAnyRavine(String key) {
return loadAny(key, (dm) -> dm.getRavineLoader().load(key, false)); return loadAny(key, (dm) -> dm.getRavineLoader().load(key, false));
} }
@ -333,7 +328,6 @@ public class IrisData implements ExclusionStrategy, TypeAdapterFactory {
this.blockLoader = registerLoader(IrisBlockData.class); this.blockLoader = registerLoader(IrisBlockData.class);
this.expressionLoader = registerLoader(IrisExpression.class); this.expressionLoader = registerLoader(IrisExpression.class);
this.objectLoader = registerLoader(IrisObject.class); this.objectLoader = registerLoader(IrisObject.class);
this.matterLoader = registerLoader(IrisMatter.class);
this.scriptLoader = registerLoader(IrisScript.class); this.scriptLoader = registerLoader(IrisScript.class);
gson = builder.create(); gson = builder.create();
} }

View File

@ -116,6 +116,7 @@ public class IrisComplex implements DataProvider {
.getAllBiomes(this).forEach((b) -> b .getAllBiomes(this).forEach((b) -> b
.getGenerators() .getGenerators()
.forEach((c) -> registerGenerator(c.getCachedGenerator(this))))); .forEach((c) -> registerGenerator(c.getCachedGenerator(this)))));
Iris.info("Interpolators: " + generators.size());
overlayStream = ProceduralStream.ofDouble((x, z) -> 0D); overlayStream = ProceduralStream.ofDouble((x, z) -> 0D);
engine.getDimension().getOverlayNoise().forEach((i) -> overlayStream.add((x, z) -> i.get(rng, getData(), x, z))); engine.getDimension().getOverlayNoise().forEach((i) -> overlayStream.add((x, z) -> i.get(rng, getData(), x, z)));
rockStream = engine.getDimension().getRockPalette().getLayerGenerator(rng.nextParallelRNG(45), data).stream() rockStream = engine.getDimension().getRockPalette().getLayerGenerator(rng.nextParallelRNG(45), data).stream()

View File

@ -211,7 +211,6 @@ public class IrisGenerator extends IrisRegistrant {
public double getHeight(double rx, double ry, double rz, long superSeed, boolean no3d) { public double getHeight(double rx, double ry, double rz, long superSeed, boolean no3d) {
if (composite.isEmpty()) { if (composite.isEmpty()) {
Iris.warn("Useless Generator: Composite is empty in " + getLoadKey());
return 0; return 0;
} }
@ -219,6 +218,18 @@ public class IrisGenerator extends IrisRegistrant {
double h = multiplicitive ? 1 : 0; double h = multiplicitive ? 1 : 0;
double tp = 0; double tp = 0;
if(composite.size() == 1)
{
if (multiplicitive) {
h *= composite.get(0).getNoise(seed + superSeed + hc, (rx + offsetX) / zoom, (rz + offsetZ) / zoom, getLoader());
} else {
tp += composite.get(0).getOpacity();
h += composite.get(0).getNoise(seed + superSeed + hc, (rx + offsetX) / zoom, (rz + offsetZ) / zoom, getLoader());
}
}
else
{
for (IrisNoiseGenerator i : composite) { for (IrisNoiseGenerator i : composite) {
if (multiplicitive) { if (multiplicitive) {
h *= i.getNoise(seed + superSeed + hc, (rx + offsetX) / zoom, (rz + offsetZ) / zoom, getLoader()); h *= i.getNoise(seed + superSeed + hc, (rx + offsetX) / zoom, (rz + offsetZ) / zoom, getLoader());
@ -227,6 +238,7 @@ public class IrisGenerator extends IrisRegistrant {
h += i.getNoise(seed + superSeed + hc, (rx + offsetX) / zoom, (rz + offsetZ) / zoom, getLoader()); h += i.getNoise(seed + superSeed + hc, (rx + offsetX) / zoom, (rz + offsetZ) / zoom, getLoader());
} }
} }
}
double v = multiplicitive ? h * opacity : (h / tp) * opacity; double v = multiplicitive ? h * opacity : (h / tp) * opacity;