SpawnConfig class

Пакет: com.hypixel.hytale.server.core.asset.type.gameplay

Файл: com/hypixel/hytale/server/core/asset/type/gameplay/SpawnConfig.java

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.asset.type.gameplay;

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.server.core.asset.type.particle.config.WorldParticle;
class="kw">import com.hypixel.hytale.server.core.inventory.MaterialQuantity;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class SpawnConfig {
   @Nonnull
   class="kw">public class="kw">static class="kw">final BuilderCodec<SpawnConfig> CODEC = BuilderCodec.builder(SpawnConfig.class, SpawnConfig::new)
      .appendInherited(
         new KeyedCodec<>("FirstSpawnParticles", new ArrayCodec<>(WorldParticle.CODEC, WorldParticle[]::new)),
         (var0, var1) -> var0.firstSpawnParticles = var1,
         var0 -> var0.firstSpawnParticles,
         (var0, var1) -> var0.firstSpawnParticles = var1.firstSpawnParticles
      )
      .add()
      .appendInherited(
         new KeyedCodec<>("SpawnParticles", new ArrayCodec<>(WorldParticle.CODEC, WorldParticle[]::new)),
         (var0, var1) -> var0.spawnParticles = var1,
         var0 -> var0.spawnParticles,
         (var0, var1) -> var0.spawnParticles = var1.spawnParticles
      )
      .add()
      .<MaterialQuantity[]>appendInherited(
         new KeyedCodec<>("FirstSpawnItems", new ArrayCodec<>(MaterialQuantity.CODEC, MaterialQuantity[]::new)),
         (var0, var1) -> var0.firstSpawnItems = var1,
         var0 -> var0.firstSpawnItems,
         (var0, var1) -> var0.firstSpawnItems = var1.firstSpawnItems
      )
      .documentation("The items to place in a players inventory the first time they spawn in the world.")
      .addValidator(MaterialQuantity.ITEM_VALIDATOR_CACHE.getArrayValidator())
      .add()
      .build();
   class="kw">protected WorldParticle[] firstSpawnParticles;
   class="kw">protected WorldParticle[] spawnParticles;
   class="kw">protected MaterialQuantity[] firstSpawnItems;

   class="kw">public SpawnConfig() {
   }

   @Nullable
   class="kw">public WorldParticle[] getFirstSpawnParticles() {
      class="kw">return this.firstSpawnParticles;
   }

   @Nullable
   class="kw">public WorldParticle[] getSpawnParticles() {
      class="kw">return this.spawnParticles;
   }

   @Nullable
   class="kw">public MaterialQuantity[] getFirstSpawnItems() {
      class="kw">return this.firstSpawnItems;
   }
}