62 lines
1.6 KiB
Java
62 lines
1.6 KiB
Java
package com.hypixel.hytale.procedurallib.property;
|
|
|
|
import javax.annotation.Nonnull;
|
|
|
|
public class OffsetNoiseProperty implements NoiseProperty {
|
|
protected final NoiseProperty noiseProperty;
|
|
protected final double offsetX;
|
|
protected final double offsetY;
|
|
protected final double offsetZ;
|
|
|
|
public OffsetNoiseProperty(NoiseProperty noiseProperty, double offset) {
|
|
this(noiseProperty, offset, offset, offset);
|
|
}
|
|
|
|
public OffsetNoiseProperty(NoiseProperty noiseProperty, double offsetX, double offsetY, double offsetZ) {
|
|
this.noiseProperty = noiseProperty;
|
|
this.offsetX = offsetX;
|
|
this.offsetY = offsetY;
|
|
this.offsetZ = offsetZ;
|
|
}
|
|
|
|
public NoiseProperty getNoiseProperty() {
|
|
return this.noiseProperty;
|
|
}
|
|
|
|
public double getOffsetX() {
|
|
return this.offsetX;
|
|
}
|
|
|
|
public double getOffsetY() {
|
|
return this.offsetY;
|
|
}
|
|
|
|
public double getOffsetZ() {
|
|
return this.offsetZ;
|
|
}
|
|
|
|
@Override
|
|
public double get(int seed, double x, double y) {
|
|
return this.noiseProperty.get(seed, x + this.offsetX, y + this.offsetY);
|
|
}
|
|
|
|
@Override
|
|
public double get(int seed, double x, double y, double z) {
|
|
return this.noiseProperty.get(seed, x + this.offsetX, y + this.offsetY, z + this.offsetZ);
|
|
}
|
|
|
|
@Nonnull
|
|
@Override
|
|
public String toString() {
|
|
return "OffsetNoiseProperty{noiseProperty="
|
|
+ this.noiseProperty
|
|
+ ", offsetX="
|
|
+ this.offsetX
|
|
+ ", offsetY="
|
|
+ this.offsetY
|
|
+ ", offsetZ="
|
|
+ this.offsetZ
|
|
+ "}";
|
|
}
|
|
}
|