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