BiomeFluidContent class
Пакет: com.hypixel.hytale.builtin.worldgen.modifier.content.fluid
Файл: com/hypixel/hytale/builtin/worldgen/modifier/content/fluid/BiomeFluidContent.java
implements: Content
Поля (3)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
String |
ID |
|
int |
var3 |
|
int |
var4 |
Методы (1)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
|
if if(var1 instanceof ModifyEvents.BiomeFluids var2) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.worldgen.modifier.content.fluid;
class="kw">import com.hypixel.hytale.builtin.worldgen.modifier.content.Codecs;
class="kw">import com.hypixel.hytale.builtin.worldgen.modifier.content.Content;
class="kw">import com.hypixel.hytale.builtin.worldgen.modifier.content.common.HeightMask;
class="kw">import com.hypixel.hytale.builtin.worldgen.modifier.content.common.NoiseMask;
class="kw">import com.hypixel.hytale.builtin.worldgen.modifier.event.ModifyEvent;
class="kw">import com.hypixel.hytale.builtin.worldgen.modifier.event.ModifyEvents;
class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.builder.BuilderCodec;
class="kw">import com.hypixel.hytale.procedurallib.supplier.DoubleRange;
class="kw">import com.hypixel.hytale.procedurallib.supplier.DoubleRangeNoiseSupplier;
class="kw">import com.hypixel.hytale.server.core.asset.type.blocktype.config.BlockType;
class="kw">import com.hypixel.hytale.server.core.asset.type.fluid.Fluid;
class="kw">import com.hypixel.hytale.server.worldgen.container.WaterContainer;
class="kw">public class BiomeFluidContent class="kw">implements Content {
class="kw">public class="kw">static class="kw">final String ID = "BiomeFluid";
class="kw">public class="kw">static class="kw">final BuilderCodec<BiomeFluidContent> CODEC = BuilderCodec.builder(BiomeFluidContent.class, BiomeFluidContent::new)
.documentation("Define a fluid that should generate between certain heights in the biome")
.<String>append(new KeyedCodec<>("Fluid", Codecs.FLUID_TYPE), (var0, var1) -> var0.fluid = var1, var0 -> var0.fluid)
.documentation("The fluid type to place")
.add()
.<String>append(new KeyedCodec<>("Block", Codecs.BLOCK_TYPE), (var0, var1) -> var0.block = var1, var0 -> var0.block)
.documentation("The block type to place in the fluid")
.add()
.<HeightMask>append(new KeyedCodec<>("MinY", HeightMask.CODEC), (var0, var1) -> var0.minY = var1, var0 -> var0.minY)
.documentation("The minimum height that the fluid should generate at")
.add()
.<NoiseMask>append(new KeyedCodec<>("MinYNoise", NoiseMask.CODEC), (var0, var1) -> var0.minYNoise = var1, var0 -> var0.minYNoise)
.documentation("The noise used to modulate the min-y height")
.add()
.<HeightMask>append(new KeyedCodec<>("MaxY", HeightMask.CODEC), (var0, var1) -> var0.maxY = var1, var0 -> var0.maxY)
.documentation("The maximum height that the fluid should generate at")
.add()
.<NoiseMask>append(new KeyedCodec<>("MaxYNoise", NoiseMask.CODEC), (var0, var1) -> var0.maxYNoise = var1, var0 -> var0.maxYNoise)
.documentation("The noise used to modulate the max-y height")
.add()
.<NoiseMask>append(new KeyedCodec<>("NoiseMask", NoiseMask.CODEC), (var0, var1) -> var0.noiseMask = var1, var0 -> var0.noiseMask)
.documentation("The noise mask used to determine where the fluid should be placed")
.add()
.build();
class="kw">protected String fluid = "Empty";
class="kw">protected String block = "Empty";
class="kw">protected HeightMask minY = HeightMask.DEFAULT_ZERO;
class="kw">protected NoiseMask minYNoise = NoiseMask.ZERO;
class="kw">protected HeightMask maxY = HeightMask.DEFAULT_FLUID;
class="kw">protected NoiseMask maxYNoise = NoiseMask.ZERO;
class="kw">protected NoiseMask noiseMask = NoiseMask.DEFAULT;
class="kw">public BiomeFluidContent() {
}
@Override
class="kw">public Content.Type type() {
class="kw">return Content.Type.BIOME_FLUID;
}
@Override
class="kw">public <T> void applyTo(ModifyEvent<T> var1) class="kw">throws Exception {
if (var1 class="kw">instanceof ModifyEvents.BiomeFluids var2) {
int var3 = Fluid.getAssetMap().getIndexOrDefault(this.fluid, 0);
int var4 = BlockType.getAssetMap().getIndexOrDefault(this.block, 0);
var2.entries()
.add(
new WaterContainer.Entry(
var4,
var3,
new DoubleRangeNoiseSupplier(
new DoubleRange.Normal(this.minY.range().getInclusiveMin(), this.minY.range().getInclusiveMax()), this.minYNoise.buildNoise(var1.seed())
),
new DoubleRangeNoiseSupplier(
new DoubleRange.Normal(this.maxY.range().getInclusiveMin(), this.maxY.range().getInclusiveMax()), this.maxYNoise.buildNoise(var1.seed())
),
this.noiseMask.build(var1.seed())
)
);
}
}
}