PrefabPatternGenerator class

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

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

Поля (1)

МодификаторыТипИмя
final int seedOffset

Методы (15)

МодификаторыВозвратСигнатура
public PrefabCategory getCategoryPrefabCategory getCategory()
public int getDisplacementint getDisplacement(int var1, int var2, int var3)
public int getExclusionRadiusint getExclusionRadius()
public IPointGenerator getGridGeneratorIPointGenerator getGridGenerator()
public ICoordinateRndCondition getHeightConditionICoordinateRndCondition getHeightCondition()
public IHeightThresholdInterpreter getHeightThresholdInterpreterIHeightThresholdInterpreter getHeightThresholdInterpreter()
public ICoordinateCondition getMapConditionICoordinateCondition getMapCondition()
public int getMaxSizeint getMaxSize()
public IBlockFluidCondition getParentConditionIBlockFluidCondition getParentCondition()
public BlockMaskCondition getPrefabPlacementConfigurationBlockMaskCondition getPrefabPlacementConfiguration()
public PrefabRotation[] getRotationsPrefabRotation[] getRotations()
public boolean isDeepSearchboolean isDeepSearch()
public boolean isFitHeightmapboolean isFitHeightmap()
public boolean isOnWaterboolean isOnWater()
public boolean isSubmergeboolean isSubmerge()

Исходный код

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

class="kw">import com.hypixel.hytale.math.util.MathUtil;
class="kw">import com.hypixel.hytale.procedurallib.condition.IBlockFluidCondition;
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.IHeightThresholdInterpreter;
class="kw">import com.hypixel.hytale.procedurallib.logic.point.IPointGenerator;
class="kw">import com.hypixel.hytale.server.core.prefab.PrefabRotation;
class="kw">import com.hypixel.hytale.server.worldgen.util.condition.BlockMaskCondition;
class="kw">import com.hypixel.hytale.server.worldgen.util.function.ICoordinateDoubleSupplier;
class="kw">import java.util.Arrays;
class="kw">import java.util.Objects;
class="kw">import javax.annotation.Nonnull;

class="kw">public class PrefabPatternGenerator {
   class="kw">protected class="kw">final int seedOffset;
   class="kw">protected class="kw">final PrefabCategory category;
   class="kw">protected class="kw">final IPointGenerator gridGenerator;
   class="kw">protected class="kw">final ICoordinateRndCondition heightCondition;
   class="kw">protected class="kw">final IHeightThresholdInterpreter heightThresholdInterpreter;
   class="kw">protected class="kw">final BlockMaskCondition prefabPlacementConfiguration;
   class="kw">protected class="kw">final ICoordinateCondition mapCondition;
   class="kw">protected class="kw">final IBlockFluidCondition parentCondition;
   class="kw">protected class="kw">final PrefabRotation[] rotations;
   class="kw">protected class="kw">final ICoordinateDoubleSupplier displacement;
   class="kw">protected class="kw">final boolean fitHeightmap;
   class="kw">protected class="kw">final boolean onWater;
   class="kw">protected class="kw">final boolean deepSearch;
   class="kw">protected class="kw">final boolean submerge;
   class="kw">protected class="kw">final int maxSize;
   class="kw">protected class="kw">final int exclusionRadius;
   @Nonnull
   class="kw">protected class="kw">final PrefabBaseCheck[] baseChecks;

   class="kw">public PrefabPatternGenerator(
      int var1,
      PrefabCategory var2,
      IPointGenerator var3,
      ICoordinateRndCondition var4,
      IHeightThresholdInterpreter var5,
      BlockMaskCondition var6,
      ICoordinateCondition var7,
      IBlockFluidCondition var8,
      PrefabRotation[] var9,
      ICoordinateDoubleSupplier var10,
      boolean var11,
      boolean var12,
      boolean var13,
      boolean var14,
      int var15,
      int var16,
      PrefabBaseCheck[] var17
   ) {
      this.seedOffset = var1;
      this.category = var2;
      this.gridGenerator = var3;
      this.heightCondition = var4;
      this.heightThresholdInterpreter = var5;
      this.prefabPlacementConfiguration = var6;
      this.mapCondition = var7;
      this.parentCondition = var8;
      this.rotations = var9;
      this.displacement = var10;
      this.fitHeightmap = var11;
      this.onWater = var12;
      this.deepSearch = var13;
      this.submerge = var14;
      this.maxSize = var15;
      this.exclusionRadius = var16;
      this.baseChecks = Objects.requireNonNullElse(var17, PrefabBaseCheck.EMPTY_ARRAY);
   }

   class="kw">public PrefabCategory getCategory() {
      class="kw">return this.category;
   }

   class="kw">public IPointGenerator getGridGenerator() {
      class="kw">return this.gridGenerator;
   }

   class="kw">public ICoordinateCondition getMapCondition() {
      class="kw">return this.mapCondition;
   }

   class="kw">public BlockMaskCondition getPrefabPlacementConfiguration() {
      class="kw">return this.prefabPlacementConfiguration;
   }

   class="kw">public boolean isFitHeightmap() {
      class="kw">return this.fitHeightmap;
   }

   class="kw">public IBlockFluidCondition getParentCondition() {
      class="kw">return this.parentCondition;
   }

   class="kw">public ICoordinateRndCondition getHeightCondition() {
      class="kw">return this.heightCondition;
   }

   class="kw">public IHeightThresholdInterpreter getHeightThresholdInterpreter() {
      class="kw">return this.heightThresholdInterpreter;
   }

   class="kw">public PrefabRotation[] getRotations() {
      class="kw">return this.rotations;
   }

   class="kw">public int getDisplacement(int var1, int var2, int var3) {
      class="kw">return MathUtil.floor(this.displacement.apply(var1 + this.seedOffset, var2, var3));
   }

   class="kw">public boolean isOnWater() {
      class="kw">return this.onWater;
   }

   class="kw">public boolean isDeepSearch() {
      class="kw">return this.deepSearch;
   }

   class="kw">public boolean isSubmerge() {
      class="kw">return this.submerge;
   }

   class="kw">public int getMaxSize() {
      class="kw">return this.maxSize;
   }

   class="kw">public int getExclusionRadius() {
      class="kw">return this.exclusionRadius;
   }

   @Nonnull
   class="kw">public PrefabBaseCheck[] getBaseChecks() {
      class="kw">return this.baseChecks;
   }

   @Override
   class="kw">public String toString() {
      class="kw">return "PrefabPatternGenerator{seedOffset="
         + this.seedOffset
         + ", category="
         + this.category
         + ", gridGenerator="
         + this.gridGenerator
         + ", heightCondition="
         + this.heightCondition
         + ", heightThresholdInterpreter="
         + this.heightThresholdInterpreter
         + ", prefabPlacementConfiguration="
         + this.prefabPlacementConfiguration
         + ", mapCondition="
         + this.mapCondition
         + ", parentCondition="
         + this.parentCondition
         + ", rotations="
         + Arrays.toString(this.rotations)
         + ", displacement="
         + this.displacement
         + ", fitHeightmap="
         + this.fitHeightmap
         + ", onWater="
         + this.onWater
         + ", deepSearch="
         + this.deepSearch
         + ", submerge="
         + this.submerge
         + ", maxSize="
         + this.maxSize
         + ", exclusionRadius="
         + this.exclusionRadius
         + ", baseChecks="
         + Arrays.toString(this.baseChecks)
         + "}";
   }
}