BlockEntry class
Пакет: com.hypixel.hytale.builtin.worldgen.modifier.content.common
Файл: com/hypixel/hytale/builtin/worldgen/modifier/content/common/BlockEntry.java
Поля (3)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
BuilderCodec<BlockEntry> |
CODEC |
|
WeightedMap.Builder |
var1 |
|
int |
var6 |
Методы (3)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
static |
IWeightedMap<BlockFluidEntry> |
buildIWeightedMap<BlockFluidEntry> build(@Nonnull BlockEntry[] var0) |
|
|
for for(BlockEntry var5 : var0) |
public |
double |
weightdouble weight() |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.worldgen.modifier.content.common;
class="kw">import com.hypixel.hytale.builtin.worldgen.modifier.content.Codecs;
class="kw">import com.hypixel.hytale.codec.Codec;
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.codec.validation.Validators;
class="kw">import com.hypixel.hytale.common.map.IWeightedMap;
class="kw">import com.hypixel.hytale.common.map.WeightedMap;
class="kw">import com.hypixel.hytale.server.core.asset.type.blocktype.config.BlockType;
class="kw">import com.hypixel.hytale.server.worldgen.util.BlockFluidEntry;
class="kw">import javax.annotation.Nonnull;
class="kw">public class BlockEntry {
class="kw">public class="kw">static class="kw">final BuilderCodec<BlockEntry> CODEC = BuilderCodec.builder(BlockEntry.class, BlockEntry::new)
.documentation("Defines a weighted block entry used to randomly select a block type from a list of entries")
.<String>append(new KeyedCodec<>("Block", Codecs.BLOCK_TYPE), (var0, var1) -> var0.block = var1, var0 -> var0.block)
.documentation("The block type to place")
.add()
.<Double>append(new KeyedCodec<>("Weight", Codec.DOUBLE), (var0, var1) -> var0.weight = var1, var0 -> var0.weight)
.addValidator(Validators.range(0.0, 100.0))
.documentation("The random chance of this block type being chosen")
.add()
.build();
class="kw">public class="kw">static class="kw">final ArrayCodec<BlockEntry> ARRAY_CODEC = new ArrayCodec<>(CODEC, BlockEntry[]::new);
class="kw">public class="kw">static class="kw">final BlockEntry[] EMPTY_ARRAY = new BlockEntry[0];
class="kw">protected String block = "Empty";
class="kw">protected double weight = 1.0;
class="kw">public BlockEntry() {
}
@Nonnull
class="kw">public String block() {
class="kw">return this.block;
}
class="kw">public double weight() {
class="kw">return this.weight;
}
class="kw">public class="kw">static IWeightedMap<BlockFluidEntry> build(@Nonnull BlockEntry[] var0) {
WeightedMap.Builder var1 = WeightedMap.builder(BlockFluidEntry.EMPTY_ARRAY);
for (BlockEntry var5 : var0) {
int var6 = BlockType.getAssetMap().getIndex(var5.block());
var1.put(new BlockFluidEntry(var6, 0, 0), var5.weight());
}
class="kw">return var1.build();
}
}