EmptyLineCaveNodeShapeGenerator class
Пакет: com.hypixel.hytale.server.worldgen.cave.shape
Файл: com/hypixel/hytale/server/worldgen/cave/shape/EmptyLineCaveNodeShape.java
implements: CaveNodeShapeEnum.CaveNodeShapeGenerator
Поля (3)
| Модификаторы | Тип | Имя |
|---|---|---|
|
private final IDoubleRange |
length |
|
Vector3d |
var10 |
|
double |
var8 |
Методы (2)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract |
return new |
EmptyLineCaveNodeShapereturn new EmptyLineCaveNodeShape(var5, var10) |
|
public CaveNodeShape |
generateCaveNodeShapepublic CaveNodeShape generateCaveNodeShape(@Nonnull Random var1, CaveType var2, CaveNode var3, CaveNodeType.CaveNodeChildEntry var4, Vector3d var5, float var6, float var7) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.worldgen.cave.shape;
class="kw">import com.hypixel.hytale.math.util.TrigMathUtil;
class="kw">import com.hypixel.hytale.procedurallib.supplier.IDoubleRange;
class="kw">import com.hypixel.hytale.server.worldgen.cave.CaveNodeType;
class="kw">import com.hypixel.hytale.server.worldgen.cave.CaveType;
class="kw">import com.hypixel.hytale.server.worldgen.cave.element.CaveNode;
class="kw">import com.hypixel.hytale.server.worldgen.util.bounds.IWorldBounds;
class="kw">import java.util.Random;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3d;
class="kw">public class EmptyLineCaveNodeShape class="kw">extends AbstractCaveNodeShape class="kw">implements IWorldBounds {
class="kw">private class="kw">final Vector3d o;
class="kw">private class="kw">final Vector3d v;
class="kw">public EmptyLineCaveNodeShape(Vector3d var1, Vector3d var2) {
this.o = var1;
this.v = var2;
}
@Nonnull
@Override
class="kw">public Vector3d getStart() {
class="kw">return new Vector3d(this.o);
}
@Nonnull
@Override
class="kw">public Vector3d getEnd() {
double var1 = this.o.x + this.v.x;
double var3 = this.o.y + this.v.y;
double var5 = this.o.z + this.v.z;
class="kw">return new Vector3d(var1, var3, var5);
}
@Nonnull
@Override
class="kw">public Vector3d getAnchor(@Nonnull Vector3d var1, double var2, double var4, double var6) {
class="kw">return CaveNodeShapeUtils.getLineAnchor(var1, this.o, this.v, var2);
}
@Nonnull
@Override
class="kw">public IWorldBounds getBounds() {
class="kw">return this;
}
@Override
class="kw">public int getLowBoundX() {
class="kw">return 0;
}
@Override
class="kw">public int getLowBoundZ() {
class="kw">return 0;
}
@Override
class="kw">public int getHighBoundX() {
class="kw">return 0;
}
@Override
class="kw">public int getHighBoundZ() {
class="kw">return 0;
}
@Override
class="kw">public int getLowBoundY() {
class="kw">return 0;
}
@Override
class="kw">public int getHighBoundY() {
class="kw">return 0;
}
@Override
class="kw">public boolean shouldReplace(int var1, double var2, double var4, int var6) {
class="kw">return false;
}
@Override
class="kw">public double getFloorPosition(int var1, double var2, double var4) {
class="kw">return -1.0;
}
@Override
class="kw">public double getCeilingPosition(int var1, double var2, double var4) {
class="kw">return -1.0;
}
@Override
class="kw">public boolean hasGeometry() {
class="kw">return false;
}
@Nonnull
@Override
class="kw">public String toString() {
class="kw">return "EmptyLineCaveNodeShape{o=" + this.o + ", v=" + this.v + "}";
}
class="kw">public class="kw">static class EmptyLineCaveNodeShapeGenerator class="kw">implements CaveNodeShapeEnum.CaveNodeShapeGenerator {
class="kw">private class="kw">final IDoubleRange length;
class="kw">public EmptyLineCaveNodeShapeGenerator(IDoubleRange var1) {
this.length = var1;
}
@Nonnull
@Override
class="kw">public CaveNodeShape generateCaveNodeShape(
@Nonnull Random var1, CaveType var2, CaveNode var3, CaveNodeType.CaveNodeChildEntry var4, Vector3d var5, float var6, float var7
) {
double var8 = this.length.getValue(var1.nextDouble());
Vector3d var10 = new Vector3d(TrigMathUtil.sin(var7) * TrigMathUtil.cos(var6), TrigMathUtil.cos(var7), TrigMathUtil.sin(var7) * TrigMathUtil.sin(var6))
.mul(var8);
class="kw">return new EmptyLineCaveNodeShape(var5, var10);
}
}
}