BaseHeightPositionProvider class

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

Файл: com/hypixel/hytale/builtin/hytalegenerator/positionproviders/BaseHeightPositionProvider.java

extends: PositionProvider

Поля (2)

МодификаторыТипИмя
final double baseHeight
var6

Методы (1)

МодификаторыВозвратСигнатура
public void acceptpublic void accept(@Nonnull Vector3d var1, @Nonnull Control var2)

Исходный код

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

class="kw">import com.hypixel.hytale.builtin.hytalegenerator.pipe.Control;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.pipe.Pipe;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3d;

class="kw">public class BaseHeightPositionProvider class="kw">extends PositionProvider {
   class="kw">private class="kw">final double baseHeight;
   class="kw">private class="kw">final double maxYInput;
   class="kw">private class="kw">final double minYInput;
   @Nonnull
   class="kw">private class="kw">final PositionProvider positionProvider;
   @Nonnull
   class="kw">private class="kw">final Vector3d rOffsetPosition;
   @Nonnull
   class="kw">private PositionProvider.Context rContext;
   @Nonnull
   class="kw">private class="kw">final PositionProvider.Context rChildContext;
   @Nonnull
   class="kw">private class="kw">final Pipe.One<Vector3d> rChildPipe = new Pipe.One<Vector3d>() {
      class="kw">public void accept(@Nonnull Vector3d var1, @Nonnull Control var2) {
         BaseHeightPositionProvider.this.rOffsetPosition.set(var1);
         BaseHeightPositionProvider.this.rOffsetPosition.y = BaseHeightPositionProvider.this.rOffsetPosition.y + BaseHeightPositionProvider.this.baseHeight;
         if (BaseHeightPositionProvider.this.rContext.bounds.contains(BaseHeightPositionProvider.this.rOffsetPosition)) {
            BaseHeightPositionProvider.this.rContext.pipe.accept(BaseHeightPositionProvider.this.rOffsetPosition, var2);
         }
      }
   };

   class="kw">public BaseHeightPositionProvider(double var1, @Nonnull PositionProvider var3, double var4, double var6) {
      var6 = Math.max(var4, var6);
      this.baseHeight = var1;
      this.positionProvider = var3;
      this.maxYInput = var6;
      this.minYInput = var4;
      this.rOffsetPosition = new Vector3d();
      this.rContext = new PositionProvider.Context();
      this.rChildContext = new PositionProvider.Context();
   }

   @Override
   class="kw">public void generate(@Nonnull PositionProvider.Context var1) {
      this.rContext = var1;
      this.rChildContext.assign(var1);
      this.rChildContext.pipe = this.rChildPipe;
      this.positionProvider.generate(this.rChildContext);
      this.rChildContext.clearReferences();
      this.rContext = PositionProvider.Context.DEFAULT_INSTANCE;
   }
}