LayerContainer class

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

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

Поля (10)

МодификаторыТипИмя
final ListPool<LayerContainer.StaticLayer> STATIC_POOL
protected final NoiseBlockArray blockArray
protected final T[] entries
protected final int environmentId
protected final ICoordinateCondition mapCondition
protected final ICoordinateCondition mapCondition
protected final IDoubleCoordinateSupplier max
protected final IDoubleCoordinateSupplier min
protected final IDoubleCoordinateSupplier offset
LayerContainer.DynamicLayerEntry var8

Методы (31)

МодификаторыВозвратСигнатура
public DynamicLayerpublic DynamicLayer(LayerContainer.DynamicLayerEntry[] var1, ICoordinateCondition var2, int var3, IDoubleCoordinateSupplier var4)
public DynamicLayerEntrypublic DynamicLayerEntry(NoiseBlockArray var1, ICoordinateCondition var2)
public Layerpublic Layer(T[] var1, ICoordinateCondition var2, int var3)
public LayerEntrypublic LayerEntry(NoiseBlockArray var1, ICoordinateCondition var2)
public StaticLayerpublic StaticLayer(LayerContainer.StaticLayerEntry[] var1, ICoordinateCondition var2, int var3)
public StaticLayerEntrypublic StaticLayerEntry(NoiseBlockArray var1, ICoordinateCondition var2, IDoubleCoordinateSupplier var3, IDoubleCoordinateSupplier var4)
for for(LayerContainer.DynamicLayer var7 : this.dynamicLayers)
for for(LayerContainer.LayerEntry var7 : this.entries)
public T getActiveEntrypublic T getActiveEntry(int var1, int var2, int var3)
public NoiseBlockArray getBlockArraypublic NoiseBlockArray getBlockArray()
public LayerContainer.DynamicLayer[] getDynamicLayersLayerContainer.DynamicLayer[] getDynamicLayers()
public int getEnvironmentIdpublic int getEnvironmentId()
public BlockFluidEntry getFillingBlockFluidEntry getFilling()
public int getFillingEnvironmentint getFillingEnvironment()
public int getMaxIntpublic int getMaxInt(int var1, int var2, int var3)
public double getMaxValuepublic double getMaxValue(int var1, int var2, int var3)
public int getMinIntpublic int getMinInt(int var1, int var2, int var3)
public double getMinValuepublic double getMinValue(int var1, int var2, int var3)
public int getOffsetpublic int getOffset(int var1, int var2, int var3)
public LayerContainer.StaticLayer[] getStaticLayersLayerContainer.StaticLayer[] getStaticLayers()
public BlockFluidEntry getTopBlockAtBlockFluidEntry getTopBlockAt(int var1, int var2, int var3)
if if(var8 != null)
public boolean isActivepublic boolean isActive(int var1, int var2, int var3)
abstract super super(var1, var2, var3)
abstract super super(var1, var2)
public String toStringpublic String toString()
public String toStringpublic String toString()
public String toStringpublic String toString()
public String toStringpublic String toString()
public String toStringpublic String toString()
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 + "}";
      }
   }
}