CavePrefabEntry class

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

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

Поля (11)

МодификаторыТипИмя
protected final IIntCondition biomeMask
protected final BlockMaskCondition blockMask
protected final CavePrefabContainer.CavePrefabEntry.CavePrefabConfig config
protected final IDoubleCoordinateHashSupplier displacementSupplier
protected final ICoordinateRndCondition heightCondition
protected final IDoubleRange iterations
protected final ICoordinateCondition maskCondition
protected final CavePrefabPlacement placement
protected final IWeightedMap<WorldGenPrefabSupplier> prefabs
protected final PrefabRotation[] rotations
int var5

Методы (13)

МодификаторыВозвратСигнатура
public CavePrefabConfigpublic CavePrefabConfig(PrefabRotation[] var1, CavePrefabPlacement var2, IIntCondition var3, BlockMaskCondition var4, IDoubleRange var5, IDoubleCoordinateHashSupplier var6, ICoordinateCondition var7, ICoordinateRndCondition var8)
public IIntCondition getBiomeMaskpublic IIntCondition getBiomeMask()
public BlockMaskCondition getBlockMaskpublic BlockMaskCondition getBlockMask()
public CavePrefabContainer.CavePrefabEntry.CavePrefabConfig getConfigpublic CavePrefabContainer.CavePrefabEntry.CavePrefabConfig getConfig()
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 WorldGenPrefabSupplier getPrefabpublic WorldGenPrefabSupplier getPrefab(double var1)
public IWeightedMap<WorldGenPrefabSupplier> getPrefabspublic IWeightedMap<WorldGenPrefabSupplier> getPrefabs()
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());
         }
      }
   }
}