NoiseBlockEntry class
Пакет: com.hypixel.hytale.builtin.worldgen.modifier.content.layer
Файл: com/hypixel/hytale/builtin/worldgen/modifier/content/layer/NoiseBlockEntry.java
Поля (3)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
BuilderCodec<NoiseBlockEntry> |
CODEC |
|
int |
var2 |
|
NoiseBlockArray.Entry[] |
var2 |
Методы (3)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract |
return new |
NoiseBlockArrayreturn new NoiseBlockArray(var2) |
static |
NoiseBlockArray |
buildArrayNoiseBlockArray buildArray(@Nonnull SeedString<SeedStringResource> var0, NoiseBlockEntry[] var1) |
|
|
for for(int var3 = 0; var3 < var1.length; var3++) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.worldgen.modifier.content.layer;
class="kw">import com.hypixel.hytale.builtin.worldgen.modifier.content.Codecs;
class="kw">import com.hypixel.hytale.builtin.worldgen.modifier.content.common.NoiseMask;
class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.builder.BuilderCodec;
class="kw">import com.hypixel.hytale.codec.codecs.array.ArrayCodec;
class="kw">import com.hypixel.hytale.math.range.IntRange;
class="kw">import com.hypixel.hytale.procedurallib.json.SeedString;
class="kw">import com.hypixel.hytale.procedurallib.supplier.DoubleRange;
class="kw">import com.hypixel.hytale.server.core.asset.type.blocktype.config.BlockType;
class="kw">import com.hypixel.hytale.server.worldgen.SeedStringResource;
class="kw">import com.hypixel.hytale.server.worldgen.util.BlockFluidEntry;
class="kw">import com.hypixel.hytale.server.worldgen.util.ConstantNoiseProperty;
class="kw">import com.hypixel.hytale.server.worldgen.util.NoiseBlockArray;
class="kw">import javax.annotation.Nonnull;
class="kw">public class NoiseBlockEntry {
class="kw">public class="kw">static class="kw">final BuilderCodec<NoiseBlockEntry> CODEC = BuilderCodec.builder(NoiseBlockEntry.class, NoiseBlockEntry::new)
.documentation("Defines a block entry that is repeated based on a noise mask")
.<String>append(new KeyedCodec<>("Block", Codecs.BLOCK_TYPE), (var0, var1) -> var0.block = var1, var0 -> var0.block)
.documentation("The block type of the entry")
.add()
.<NoiseMask>append(new KeyedCodec<>("Noise", NoiseMask.CODEC), (var0, var1) -> var0.noise = var1, var0 -> var0.noise)
.documentation("The noise mask used to determine where the block should be placed")
.add()
.<IntRange>append(new KeyedCodec<>("Repetitions", Codecs.INT_RANGE), (var0, var1) -> var0.repetitions = var1, var0 -> var0.repetitions)
.documentation("The number of times the block should be repeated")
.add()
.build();
class="kw">public class="kw">static class="kw">final ArrayCodec<NoiseBlockEntry> ARRAY_CODEC = new ArrayCodec<>(CODEC, NoiseBlockEntry[]::new);
class="kw">public class="kw">static class="kw">final NoiseBlockEntry[] EMPTY_ARRAY = new NoiseBlockEntry[0];
class="kw">protected class="kw">static class="kw">final IntRange DEFAULT_REPETITIONS = new IntRange(1, 1);
class="kw">protected class="kw">static class="kw">final NoiseBlockArray.Entry NOOP_ENTRY = new NoiseBlockArray.Entry(
"Empty", BlockFluidEntry.EMPTY, DoubleRange.ZERO, ConstantNoiseProperty.DEFAULT_ZERO
);
class="kw">protected String block = "Unknown";
class="kw">protected NoiseMask noise = NoiseMask.DEFAULT;
class="kw">protected IntRange repetitions = DEFAULT_REPETITIONS;
class="kw">public NoiseBlockEntry() {
}
@Nonnull
class="kw">public NoiseBlockArray.Entry buildEntry(@Nonnull SeedString<SeedStringResource> var1) {
int var2 = BlockType.getAssetMap().getIndex(this.block);
class="kw">return var2 == 1
? NOOP_ENTRY
: new NoiseBlockArray.Entry(
this.block,
new BlockFluidEntry(var2, 0, 0),
new DoubleRange.Normal(this.repetitions.getInclusiveMin(), this.repetitions.getInclusiveMax()),
this.noise.buildNoise(var1)
);
}
class="kw">public class="kw">static NoiseBlockArray buildArray(@Nonnull SeedString<SeedStringResource> var0, NoiseBlockEntry[] var1) {
NoiseBlockArray.Entry[] var2 = new NoiseBlockArray.Entry[var1.length];
for (int var3 = 0; var3 < var1.length; var3++) {
var2[var3] = var1[var3].buildEntry(var0);
}
class="kw">return new NoiseBlockArray(var2);
}
}