FieldFunctionAssignments class
Пакет: com.hypixel.hytale.builtin.hytalegenerator.assignments
Файл: com/hypixel/hytale/builtin/hytalegenerator/assignments/FieldFunctionAssignments.java
extends: Assignments
Поля (5)
| Модификаторы | Тип | Имя |
|---|---|---|
|
Assignments |
assignments |
|
double |
bottom |
|
double |
top |
|
ArrayList |
var1 |
|
double |
var5 |
Методы (4)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
public |
FieldDelimiterpublic FieldDelimiter(@Nonnull Assignments var1, double var2, double var4) |
|
|
for for(FieldFunctionAssignments.FieldDelimiter var8 : this.delimiters) |
|
|
for for(FieldFunctionAssignments.FieldDelimiter var3 : this.delimiters) |
|
boolean |
isInsideboolean isInside(double var1) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.hytalegenerator.assignments;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.density.Density;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.props.EmptyProp;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.props.Prop;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.workerindexer.WorkerIndexer;
class="kw">import java.util.ArrayList;
class="kw">import java.util.List;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3d;
class="kw">public class FieldFunctionAssignments class="kw">extends Assignments {
@Nonnull
class="kw">private class="kw">final Density density;
@Nonnull
class="kw">private class="kw">final List<FieldFunctionAssignments.FieldDelimiter> delimiters;
@Nonnull
class="kw">private class="kw">final Density.Context rDensityContext;
class="kw">public FieldFunctionAssignments(@Nonnull Density var1, @Nonnull List<FieldFunctionAssignments.FieldDelimiter> var2) {
this.density = var1;
this.delimiters = new ArrayList<>(var2);
this.rDensityContext = new Density.Context();
}
@Override
class="kw">public Prop propAt(@Nonnull Vector3d var1, @Nonnull WorkerIndexer.Id var2, double var3) {
if (this.delimiters.isEmpty()) {
class="kw">return EmptyProp.INSTANCE;
}
this.rDensityContext.position.set(var1);
this.rDensityContext.distanceToBiomeEdge = var3;
double var5 = this.density.process(this.rDensityContext);
for (FieldFunctionAssignments.FieldDelimiter var8 : this.delimiters) {
if (var8.isInside(var5)) {
class="kw">return var8.assignments.propAt(var1, var2, var3);
}
}
class="kw">return EmptyProp.INSTANCE;
}
@Nonnull
@Override
class="kw">public List<Prop> getAllPossibleProps() {
ArrayList var1 = new ArrayList<>();
for (FieldFunctionAssignments.FieldDelimiter var3 : this.delimiters) {
var1.addAll(var3.assignments.getAllPossibleProps());
}
class="kw">return var1;
}
class="kw">public class="kw">static class FieldDelimiter {
double top;
double bottom;
Assignments assignments;
class="kw">public FieldDelimiter(@Nonnull Assignments var1, double var2, double var4) {
this.bottom = var2;
this.top = var4;
this.assignments = var1;
}
boolean isInside(double var1) {
class="kw">return var1 < this.top && var1 >= this.bottom;
}
}
}