StaticLayer class

Пакет: com.hypixel.hytale.server.worldgen.container

Файл: com/hypixel/hytale/server/worldgen/container/LayerContainer.java

extends: LayerContainer.Layer<LayerContainer.StaticLayerEntry>

Методы (2)

МодификаторыВозвратСигнатура
abstract super super(var1, var2, var3)
public String toStringpublic String toString()

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.worldgen.container;

class="kw">import com.hypixel.hytale.math.util.MathUtil;
class="kw">import com.hypixel.hytale.procedurallib.condition.ICoordinateCondition;
class="kw">import com.hypixel.hytale.procedurallib.supplier.IDoubleCoordinateSupplier;
class="kw">import com.hypixel.hytale.server.worldgen.util.BlockFluidEntry;
class="kw">import com.hypixel.hytale.server.worldgen.util.ListPool;
class="kw">import com.hypixel.hytale.server.worldgen.util.NoiseBlockArray;
class="kw">import java.util.Arrays;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class LayerContainer {
   class="kw">public class="kw">static class="kw">final ListPool<LayerContainer.StaticLayer> STATIC_POOL = new ListPool<>(10, new LayerContainer.StaticLayer[0]);
   class="kw">public class="kw">static class="kw">final ListPool<LayerContainer.DynamicLayer> DYNAMIC_POOL = new ListPool<>(10, new LayerContainer.DynamicLayer[0]);
   @Nonnull
   class="kw">protected class="kw">final BlockFluidEntry filling;
   class="kw">protected class="kw">final int fillingEnvironment;
   class="kw">protected class="kw">final LayerContainer.StaticLayer[] staticLayers;
   class="kw">protected class="kw">final LayerContainer.DynamicLayer[] dynamicLayers;

   class="kw">public LayerContainer(int var1, int var2, LayerContainer.StaticLayer[] var3, LayerContainer.DynamicLayer[] var4) {
      this.filling = new BlockFluidEntry(var1, 0, 0);
      this.fillingEnvironment = var2;
      this.staticLayers = var3;
      this.dynamicLayers = var4;
   }

   class="kw">public BlockFluidEntry getFilling() {
      class="kw">return this.filling;
   }

   class="kw">public int getFillingEnvironment() {
      class="kw">return this.fillingEnvironment;
   }

   class="kw">public LayerContainer.StaticLayer[] getStaticLayers() {
      class="kw">return this.staticLayers;
   }

   class="kw">public LayerContainer.DynamicLayer[] getDynamicLayers() {
      class="kw">return this.dynamicLayers;
   }

   class="kw">public BlockFluidEntry getTopBlockAt(int var1, int var2, int var3) {
      for (LayerContainer.DynamicLayer var7 : this.dynamicLayers) {
         LayerContainer.DynamicLayerEntry var8 = var7.getActiveEntry(var1, var2, var3);
         if (var8 != null) {
            class="kw">return var8.blockArray.getTopBlockAt(var1, var2, var3);
         }
      }

      class="kw">return this.filling;
   }

   @Nonnull
   @Override
   class="kw">public String toString() {
      class="kw">return "LayerContainer{filling="
         + this.filling
         + ", staticLayers="
         + Arrays.toString(this.staticLayers)
         + ", dynamicLayers="
         + Arrays.toString(this.dynamicLayers)
         + "}";
   }

   class="kw">public class="kw">static class DynamicLayer class="kw">extends LayerContainer.Layer<LayerContainer.DynamicLayerEntry> {
      class="kw">protected class="kw">final IDoubleCoordinateSupplier offset;

      class="kw">public DynamicLayer(LayerContainer.DynamicLayerEntry[] var1, ICoordinateCondition var2, int var3, IDoubleCoordinateSupplier var4) {
         super(var1, var2, var3);
         this.offset = var4;
      }

      class="kw">public int getOffset(int var1, int var2, int var3) {
         class="kw">return MathUtil.floor(this.offset.get(var1, var2, var3));
      }

      @Nonnull
      @Override
      class="kw">public String toString() {
         class="kw">return "DynamicLayer{entries=" + Arrays.toString(this.entries) + ", offset=" + this.offset + "}";
      }
   }

   class="kw">public class="kw">static class DynamicLayerEntry class="kw">extends LayerContainer.LayerEntry {
      class="kw">public DynamicLayerEntry(NoiseBlockArray var1, ICoordinateCondition var2) {
         super(var1, var2);
      }

      @Nonnull
      @Override
      class="kw">public String toString() {
         class="kw">return "DynamicLayerEntry{blockArray=" + this.blockArray + ", mapCondition=" + this.mapCondition + "}";
      }
   }

   class="kw">public class="kw">static class Layer<T class="kw">extends LayerContainer.LayerEntry> {
      class="kw">protected class="kw">final T[] entries;
      class="kw">protected class="kw">final ICoordinateCondition mapCondition;
      class="kw">protected class="kw">final int environmentId;

      class="kw">public Layer(T[] var1, ICoordinateCondition var2, int var3) {
         this.entries = var1;
         this.mapCondition = var2;
         this.environmentId = var3;
      }

      class="kw">public int getEnvironmentId() {
         class="kw">return this.environmentId;
      }

      @Nullable
      class="kw">public T getActiveEntry(int var1, int var2, int var3) {
         if (!this.mapCondition.eval(var1, var2, var3)) {
            class="kw">return null;
         }

         for (LayerContainer.LayerEntry var7 : this.entries) {
            if (var7.isActive(var1, var2, var3)) {
               class="kw">return var7;
            }
         }

         class="kw">return null;
      }

      @Nonnull
      @Override
      class="kw">public String toString() {
         class="kw">return "Layer{entries=" + Arrays.toString(this.entries) + "}";
      }
   }

   class="kw">public class="kw">abstract class="kw">static class LayerEntry {
      class="kw">protected class="kw">final NoiseBlockArray blockArray;
      class="kw">protected class="kw">final ICoordinateCondition mapCondition;

      class="kw">public LayerEntry(NoiseBlockArray var1, ICoordinateCondition var2) {
         this.blockArray = var1;
         this.mapCondition = var2;
      }

      class="kw">public boolean isActive(int var1, int var2, int var3) {
         class="kw">return this.mapCondition.eval(var1, var2, var3);
      }

      class="kw">public NoiseBlockArray getBlockArray() {
         class="kw">return this.blockArray;
      }

      @Nonnull
      @Override
      class="kw">public String toString() {
         class="kw">return "LayerEntry{blockArray=" + this.blockArray + ", mapCondition=" + this.mapCondition + "}";
      }
   }

   class="kw">public class="kw">static class StaticLayer class="kw">extends LayerContainer.Layer<LayerContainer.StaticLayerEntry> {
      class="kw">public StaticLayer(LayerContainer.StaticLayerEntry[] var1, ICoordinateCondition var2, int var3) {
         super(var1, var2, var3);
      }

      @Nonnull
      @Override
      class="kw">public String toString() {
         class="kw">return "StaticLayer{entries=" + Arrays.toString(this.entries) + "}";
      }
   }

   class="kw">public class="kw">static class StaticLayerEntry class="kw">extends LayerContainer.LayerEntry {
      class="kw">protected class="kw">final IDoubleCoordinateSupplier min;
      class="kw">protected class="kw">final IDoubleCoordinateSupplier max;

      class="kw">public StaticLayerEntry(NoiseBlockArray var1, ICoordinateCondition var2, IDoubleCoordinateSupplier var3, IDoubleCoordinateSupplier var4) {
         super(var1, var2);
         this.min = var3;
         this.max = var4;
      }

      class="kw">public int getMinInt(int var1, int var2, int var3) {
         class="kw">return MathUtil.floor(this.getMinValue(var1, var2, var3));
      }

      class="kw">public double getMinValue(int var1, int var2, int var3) {
         class="kw">return this.min.get(var1, var2, var3);
      }

      class="kw">public int getMaxInt(int var1, int var2, int var3) {
         class="kw">return MathUtil.floor(this.getMaxValue(var1, var2, var3));
      }

      class="kw">public double getMaxValue(int var1, int var2, int var3) {
         class="kw">return this.max.get(var1, var2, var3);
      }

      @Nonnull
      @Override
      class="kw">public String toString() {
         class="kw">return "StaticLayerEntry{blockArray=" + this.blockArray + ", mapCondition=" + this.mapCondition + ", min=" + this.min + ", max=" + this.max + "}";
      }
   }
}