mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-07-21 11:43:27 +00:00
fix deposits spawning in columns
This commit is contained in:
parent
54402faea8
commit
86d986dfbc
@ -52,16 +52,20 @@ public class IrisDepositModifier extends EngineAssignedModifier<BlockData> {
|
|||||||
BurstExecutor burst = burst().burst(multicore);
|
BurstExecutor burst = burst().burst(multicore);
|
||||||
|
|
||||||
long seed = x * 341873128712L + z * 132897987541L;
|
long seed = x * 341873128712L + z * 132897987541L;
|
||||||
|
long mask = 0;
|
||||||
for (IrisDepositGenerator k : getDimension().getDeposits()) {
|
for (IrisDepositGenerator k : getDimension().getDeposits()) {
|
||||||
burst.queue(() -> generate(k, terrain, rng.nextParallelRNG(seed), x, z, false, context));
|
long finalSeed = seed * ++mask;
|
||||||
|
burst.queue(() -> generate(k, terrain, rng.nextParallelRNG(finalSeed), x, z, false, context));
|
||||||
}
|
}
|
||||||
|
|
||||||
for (IrisDepositGenerator k : region.getDeposits()) {
|
for (IrisDepositGenerator k : region.getDeposits()) {
|
||||||
burst.queue(() -> generate(k, terrain, rng.nextParallelRNG(seed), x, z, false, context));
|
long finalSeed = seed * ++mask;
|
||||||
|
burst.queue(() -> generate(k, terrain, rng.nextParallelRNG(finalSeed), x, z, false, context));
|
||||||
}
|
}
|
||||||
|
|
||||||
for (IrisDepositGenerator k : biome.getDeposits()) {
|
for (IrisDepositGenerator k : biome.getDeposits()) {
|
||||||
burst.queue(() -> generate(k, terrain, rng.nextParallelRNG(seed), x, z, false, context));
|
long finalSeed = seed * ++mask;
|
||||||
|
burst.queue(() -> generate(k, terrain, rng.nextParallelRNG(finalSeed), x, z, false, context));
|
||||||
}
|
}
|
||||||
burst.complete();
|
burst.complete();
|
||||||
}
|
}
|
||||||
@ -78,7 +82,7 @@ public class IrisDepositModifier extends EngineAssignedModifier<BlockData> {
|
|||||||
if (k.getPerClumpSpawnChance() < rng.d())
|
if (k.getPerClumpSpawnChance() < rng.d())
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
IrisObject clump = k.getClump(rng, getData());
|
IrisObject clump = k.getClump(getEngine(), rng, getData());
|
||||||
|
|
||||||
int dim = clump.getW();
|
int dim = clump.getW();
|
||||||
int min = dim / 2;
|
int min = dim / 2;
|
||||||
|
@ -20,6 +20,7 @@ package com.volmit.iris.engine.object;
|
|||||||
|
|
||||||
import com.volmit.iris.core.loader.IrisData;
|
import com.volmit.iris.core.loader.IrisData;
|
||||||
import com.volmit.iris.engine.data.cache.AtomicCache;
|
import com.volmit.iris.engine.data.cache.AtomicCache;
|
||||||
|
import com.volmit.iris.engine.framework.Engine;
|
||||||
import com.volmit.iris.engine.object.annotations.*;
|
import com.volmit.iris.engine.object.annotations.*;
|
||||||
import com.volmit.iris.util.collection.KList;
|
import com.volmit.iris.util.collection.KList;
|
||||||
import com.volmit.iris.util.collection.KSet;
|
import com.volmit.iris.util.collection.KSet;
|
||||||
@ -87,10 +88,10 @@ public class IrisDepositGenerator {
|
|||||||
@Desc("Ore varience is how many different objects clumps iris will create")
|
@Desc("Ore varience is how many different objects clumps iris will create")
|
||||||
private int varience = 3;
|
private int varience = 3;
|
||||||
|
|
||||||
public IrisObject getClump(RNG rng, IrisData rdata) {
|
public IrisObject getClump(Engine engine, RNG rng, IrisData rdata) {
|
||||||
KList<IrisObject> objects = this.objects.aquire(() ->
|
KList<IrisObject> objects = this.objects.aquire(() ->
|
||||||
{
|
{
|
||||||
RNG rngv = rng.nextParallelRNG(3957778);
|
RNG rngv = new RNG(engine.getSeedManager().getDeposit() + hashCode());
|
||||||
KList<IrisObject> objectsf = new KList<>();
|
KList<IrisObject> objectsf = new KList<>();
|
||||||
|
|
||||||
for (int i = 0; i < varience; i++) {
|
for (int i = 0; i < varience; i++) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user