CavePrefabConfig class

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

Файл: com/hypixel/hytale/server/worldgen/cave/prefab/CavePrefabContainer.java

Поля (9)

МодификаторыТипИмя
protected final IIntCondition biomeMask
protected final BlockMaskCondition blockMask
protected final IDoubleCoordinateHashSupplier displacementSupplier
protected final ICoordinateRndCondition heightCondition
protected final IDoubleRange iterations
protected final ICoordinateCondition maskCondition
protected final CavePrefabPlacement placement
protected final PrefabRotation[] rotations
int var5

Методы (9)

МодификаторыВозвратСигнатура
public IIntCondition getBiomeMaskpublic IIntCondition getBiomeMask()
public BlockMaskCondition getBlockMaskpublic BlockMaskCondition getBlockMask()
public double getDisplacementpublic double getDisplacement(int var1, int var2, int var3, @Nonnull CaveNode var4)
public int getHeightpublic int getHeight(int var1, int var2, int var3, @Nonnull CaveNode var4)
public int getIterationspublic int getIterations(double var1)
public PrefabRotation getRotationpublic PrefabRotation getRotation(@Nonnull Random var1)
public boolean isMatchingBiomepublic boolean isMatchingBiome(@Nonnull Biome var1)
public boolean isMatchingHeightpublic boolean isMatchingHeight(int var1, int var2, int var3, int var4, Random var5)
public boolean isMatchingNoiseDensitypublic boolean isMatchingNoiseDensity(int var1, int var2, int var3)

Исходный код

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

class="kw">import com.hypixel.hytale.common.map.IWeightedMap;
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.condition.ICoordinateRndCondition;
class="kw">import com.hypixel.hytale.procedurallib.condition.IIntCondition;
class="kw">import com.hypixel.hytale.procedurallib.supplier.IDoubleCoordinateHashSupplier;
class="kw">import com.hypixel.hytale.procedurallib.supplier.IDoubleRange;
class="kw">import com.hypixel.hytale.server.core.prefab.PrefabRotation;
class="kw">import com.hypixel.hytale.server.worldgen.biome.Biome;
class="kw">import com.hypixel.hytale.server.worldgen.cave.CavePrefabPlacement;
class="kw">import com.hypixel.hytale.server.worldgen.cave.element.CaveNode;
class="kw">import com.hypixel.hytale.server.worldgen.loader.WorldGenPrefabSupplier;
class="kw">import com.hypixel.hytale.server.worldgen.util.ListPool;
class="kw">import com.hypixel.hytale.server.worldgen.util.condition.BlockMaskCondition;
class="kw">import java.util.Random;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class CavePrefabContainer {
   class="kw">public class="kw">static class="kw">final ListPool<CavePrefabContainer.CavePrefabEntry> ENTRY_POOL = new ListPool<>(10, new CavePrefabContainer.CavePrefabEntry[0]);
   class="kw">protected class="kw">final CavePrefabContainer.CavePrefabEntry[] entries;

   class="kw">public CavePrefabContainer(CavePrefabContainer.CavePrefabEntry[] var1) {
      this.entries = var1;
   }

   class="kw">public CavePrefabContainer.CavePrefabEntry[] getEntries() {
      class="kw">return this.entries;
   }

   class="kw">public class="kw">static class CavePrefabEntry {
      class="kw">protected class="kw">final IWeightedMap<WorldGenPrefabSupplier> prefabs;
      class="kw">protected class="kw">final CavePrefabContainer.CavePrefabEntry.CavePrefabConfig config;

      class="kw">public CavePrefabEntry(IWeightedMap<WorldGenPrefabSupplier> var1, CavePrefabContainer.CavePrefabEntry.CavePrefabConfig var2) {
         this.prefabs = var1;
         this.config = var2;
      }

      class="kw">public IWeightedMap<WorldGenPrefabSupplier> getPrefabs() {
         class="kw">return this.prefabs;
      }

      @Nullable
      class="kw">public WorldGenPrefabSupplier getPrefab(double var1) {
         class="kw">return this.prefabs.get(var1);
      }

      class="kw">public CavePrefabContainer.CavePrefabEntry.CavePrefabConfig getConfig() {
         class="kw">return this.config;
      }

      class="kw">public class="kw">static class CavePrefabConfig {
         class="kw">protected class="kw">final PrefabRotation[] rotations;
         class="kw">protected class="kw">final CavePrefabPlacement placement;
         class="kw">protected class="kw">final IIntCondition biomeMask;
         class="kw">protected class="kw">final BlockMaskCondition blockMask;
         class="kw">protected class="kw">final IDoubleRange iterations;
         class="kw">protected class="kw">final IDoubleCoordinateHashSupplier displacementSupplier;
         class="kw">protected class="kw">final ICoordinateCondition maskCondition;
         class="kw">protected class="kw">final ICoordinateRndCondition heightCondition;

         class="kw">public CavePrefabConfig(
            PrefabRotation[] var1,
            CavePrefabPlacement var2,
            IIntCondition var3,
            BlockMaskCondition var4,
            IDoubleRange var5,
            IDoubleCoordinateHashSupplier var6,
            ICoordinateCondition var7,
            ICoordinateRndCondition var8
         ) {
            this.rotations = var1;
            this.placement = var2;
            this.biomeMask = var3;
            this.blockMask = var4;
            this.iterations = var5;
            this.displacementSupplier = var6;
            this.maskCondition = var7;
            this.heightCondition = var8;
         }

         class="kw">public PrefabRotation getRotation(@Nonnull Random var1) {
            class="kw">return this.rotations[var1.nextInt(this.rotations.length)];
         }

         class="kw">public IIntCondition getBiomeMask() {
            class="kw">return this.biomeMask;
         }

         class="kw">public BlockMaskCondition getBlockMask() {
            class="kw">return this.blockMask;
         }

         class="kw">public int getIterations(double var1) {
            class="kw">return MathUtil.floor(this.iterations.getValue(var1));
         }

         class="kw">public double getDisplacement(int var1, int var2, int var3, @Nonnull CaveNode var4) {
            class="kw">return this.displacementSupplier.get(var1, var2, var3, var1 + var4.getSeedOffset());
         }

         class="kw">public int getHeight(int var1, int var2, int var3, @Nonnull CaveNode var4) {
            int var5 = this.placement.getFunction().generate(var1, var2, var3, var4);
            class="kw">return var5 == -1 ? -1 : (int)(var5 + this.getDisplacement(var1, var2, var3, var4));
         }

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

         class="kw">public boolean isMatchingHeight(int var1, int var2, int var3, int var4, Random var5) {
            class="kw">return this.heightCondition.eval(var1, var2, var4, var3, var5);
         }

         class="kw">public boolean isMatchingBiome(@Nonnull Biome var1) {
            class="kw">return this.biomeMask.eval(var1.getId());
         }
      }
   }
}