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());
}
}
}
}