mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-06-18 14:50:56 +00:00
WIP Seismic Integration
This commit is contained in:
+2
-2
@@ -13,7 +13,7 @@ import com.dfsek.tectonic.api.config.template.object.ObjectTemplate;
|
||||
|
||||
import com.dfsek.terra.addons.feature.distributor.distributors.SamplerDistributor;
|
||||
import com.dfsek.terra.api.config.meta.Meta;
|
||||
import com.dfsek.terra.api.noise.NoiseSampler;
|
||||
import com.dfsek.seismic.type.sampler.Sampler;
|
||||
import com.dfsek.terra.api.structure.feature.Distributor;
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ public class SamplerDistributorTemplate implements ObjectTemplate<Distributor> {
|
||||
@Default
|
||||
private @Meta double threshold = 0;
|
||||
@Value("sampler")
|
||||
private @Meta NoiseSampler noise;
|
||||
private @Meta Sampler noise;
|
||||
|
||||
@Override
|
||||
public Distributor get() {
|
||||
|
||||
+5
-2
@@ -3,8 +3,11 @@ package com.dfsek.terra.addons.feature.distributor.distributors;
|
||||
import java.util.random.RandomGenerator;
|
||||
import java.util.random.RandomGeneratorFactory;
|
||||
|
||||
import com.dfsek.seismic.algorithms.hashing.HashingFunctions;
|
||||
|
||||
import com.dfsek.seismic.math.integer.IntegerFunctions;
|
||||
|
||||
import com.dfsek.terra.api.structure.feature.Distributor;
|
||||
import com.dfsek.terra.api.util.MathUtil;
|
||||
|
||||
|
||||
public class PaddedGridDistributor implements Distributor {
|
||||
@@ -26,7 +29,7 @@ public class PaddedGridDistributor implements Distributor {
|
||||
int cellZ = Math.floorDiv(z, cellWidth);
|
||||
|
||||
RandomGenerator random = RandomGeneratorFactory.<RandomGenerator.SplittableGenerator>of("Xoroshiro128PlusPlus").create(
|
||||
(MathUtil.murmur64(MathUtil.squash(cellX, cellZ)) ^ seed) + salt);
|
||||
(HashingFunctions.murmur64(IntegerFunctions.squash(cellX, cellZ)) ^ seed) + salt);
|
||||
|
||||
int pointX = random.nextInt(width) + cellX * cellWidth;
|
||||
int pointZ = random.nextInt(width) + cellZ * cellWidth;
|
||||
|
||||
+4
-4
@@ -7,22 +7,22 @@
|
||||
|
||||
package com.dfsek.terra.addons.feature.distributor.distributors;
|
||||
|
||||
import com.dfsek.terra.api.noise.NoiseSampler;
|
||||
import com.dfsek.seismic.type.sampler.Sampler;
|
||||
import com.dfsek.terra.api.structure.feature.Distributor;
|
||||
|
||||
|
||||
public class SamplerDistributor implements Distributor {
|
||||
private final NoiseSampler sampler;
|
||||
private final Sampler sampler;
|
||||
|
||||
private final double threshold;
|
||||
|
||||
public SamplerDistributor(NoiseSampler sampler, double threshold) {
|
||||
public SamplerDistributor(Sampler sampler, double threshold) {
|
||||
this.sampler = sampler;
|
||||
this.threshold = threshold;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean matches(int x, int z, long seed) {
|
||||
return sampler.noise(seed, x, z) < threshold;
|
||||
return sampler.getSample(seed, x, z) < threshold;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user