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;
      }
   }
}