VerticalDelimiter class

Пакет: com.hypixel.hytale.builtin.hytalegenerator.assignments

Файл: com/hypixel/hytale/builtin/hytalegenerator/assignments/SandwichAssignments.java

Поля (3)

МодификаторыТипИмя
Assignments assignments
double maxY
double minY

Методы (1)

МодификаторыВозвратСигнатура
boolean isInsideboolean isInside(double var1)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.hytalegenerator.assignments;

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 SandwichAssignments class="kw">extends Assignments {
   @Nonnull
   class="kw">private class="kw">final List<SandwichAssignments.VerticalDelimiter> delimiters;

   class="kw">public SandwichAssignments(@Nonnull List<SandwichAssignments.VerticalDelimiter> var1) {
      this.delimiters = new ArrayList<>(var1);
   }

   @Override
   class="kw">public Prop propAt(@Nonnull Vector3d var1, @Nonnull WorkerIndexer.Id var2, double var3) {
      if (this.delimiters.isEmpty()) {
         class="kw">return EmptyProp.INSTANCE;
      }

      for (SandwichAssignments.VerticalDelimiter var6 : this.delimiters) {
         if (var6.isInside(var1.y)) {
            class="kw">return var6.assignments.propAt(var1, var2, var3);
         }
      }

      class="kw">return EmptyProp.INSTANCE;
   }

   @Nonnull
   @Override
   class="kw">public List<Prop> getAllPossibleProps() {
      ArrayList var1 = new ArrayList<>();

      for (SandwichAssignments.VerticalDelimiter var3 : this.delimiters) {
         var1.addAll(var3.assignments.getAllPossibleProps());
      }

      class="kw">return var1;
   }

   class="kw">public class="kw">static class VerticalDelimiter {
      double maxY;
      double minY;
      Assignments assignments;

      class="kw">public VerticalDelimiter(@Nonnull Assignments var1, double var2, double var4) {
         this.minY = var2;
         this.maxY = var4;
         this.assignments = var1;
      }

      boolean isInside(double var1) {
         class="kw">return var1 < this.maxY && var1 >= this.minY;
      }
   }
}