2018-08-12 14:03:07 +00:00
|
|
|
package com.boydti.fawe.object.mask;
|
|
|
|
|
|
|
|
import com.boydti.fawe.object.random.SimplexNoise;
|
|
|
|
import com.sk89q.worldedit.function.mask.AbstractMask;
|
2018-12-23 16:19:33 +00:00
|
|
|
import com.sk89q.worldedit.math.BlockVector3;
|
2018-08-12 14:03:07 +00:00
|
|
|
|
|
|
|
public class SimplexMask extends AbstractMask {
|
|
|
|
private final double min, max, scale;
|
|
|
|
|
|
|
|
public SimplexMask(double scale, double min, double max) {
|
|
|
|
this.scale = scale;
|
|
|
|
this.min = min;
|
|
|
|
this.max = max;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
2018-12-23 16:19:33 +00:00
|
|
|
public boolean test(BlockVector3 vector) {
|
2018-08-12 14:03:07 +00:00
|
|
|
double value = SimplexNoise.noise(vector.getBlockX() * scale, vector.getBlockY() * scale, vector.getBlockZ() * scale);
|
|
|
|
return value >= min && value <= max;
|
|
|
|
}
|
|
|
|
}
|