GameplayConfig class

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

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

implements: JsonAssetWithMap<String, DefaultAssetMap<String, GameplayConfig>>

Поля (3)

МодификаторыТипИмя
ASSET_STORE
final String DEFAULT_ID
MapKeyMapCodec.TypeMap var2

Методы (22)

МодификаторыВозвратСигнатура
static DefaultAssetMap<String, GameplayConfig> getAssetMapDefaultAssetMap<String, GameplayConfig> getAssetMap()
static AssetStore<String, GameplayConfig, DefaultAssetMap<String, GameplayConfig>> getAssetStoreAssetStore<String, GameplayConfig, DefaultAssetMap<String, GameplayConfig>> getAssetStore()
public CameraEffectsConfig getCameraEffectsConfigCameraEffectsConfig getCameraEffectsConfig()
public CombatConfig getCombatConfigCombatConfig getCombatConfig()
public CraftingConfig getCraftingConfigCraftingConfig getCraftingConfig()
public String getCreativePlaySoundSetString getCreativePlaySoundSet()
public int getCreativePlaySoundSetIndexint getCreativePlaySoundSetIndex()
public DeathConfig getDeathConfigDeathConfig getDeathConfig()
public GatheringConfig getGatheringConfigGatheringConfig getGatheringConfig()
public String getIdString getId()
public ItemDurabilityConfig getItemDurabilityConfigItemDurabilityConfig getItemDurabilityConfig()
public ItemEntityConfig getItemEntityConfigItemEntityConfig getItemEntityConfig()
public int getMaxEnvironmentalNPCSpawnsint getMaxEnvironmentalNPCSpawns()
public PlayerConfig getPlayerConfigPlayerConfig getPlayerConfig()
public MapKeyMapCodec.TypeMap<Object> getPluginConfigMapKeyMapCodec.TypeMap<Object> getPluginConfig()
public RespawnConfig getRespawnConfigRespawnConfig getRespawnConfig()
public boolean getShowItemPickupNotificationsboolean getShowItemPickupNotifications()
public WorldConfig getWorldConfigWorldConfig getWorldConfig()
public WorldMapConfig getWorldMapConfigWorldMapConfig getWorldMapConfig()
if if(ASSET_STORE == null)
if if(this.creativePlaySoundSet != null)
protected void processConfigvoid processConfig()

Исходный код

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

class="kw">import com.hypixel.hytale.assetstore.AssetExtraInfo;
class="kw">import com.hypixel.hytale.assetstore.AssetKeyValidator;
class="kw">import com.hypixel.hytale.assetstore.AssetRegistry;
class="kw">import com.hypixel.hytale.assetstore.AssetStore;
class="kw">import com.hypixel.hytale.assetstore.codec.AssetBuilderCodec;
class="kw">import com.hypixel.hytale.assetstore.map.DefaultAssetMap;
class="kw">import com.hypixel.hytale.assetstore.map.JsonAssetWithMap;
class="kw">import com.hypixel.hytale.codec.Codec;
class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.lookup.MapKeyMapCodec;
class="kw">import com.hypixel.hytale.codec.validation.ValidatorCache;
class="kw">import com.hypixel.hytale.codec.validation.Validators;
class="kw">import com.hypixel.hytale.server.core.asset.type.item.config.ItemEntityConfig;
class="kw">import com.hypixel.hytale.server.core.asset.type.soundset.config.SoundSet;
class="kw">import com.hypixel.hytale.server.core.modules.interaction.interaction.config.RootInteraction;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class GameplayConfig class="kw">implements JsonAssetWithMap<String, DefaultAssetMap<String, GameplayConfig>> {
   class="kw">public class="kw">static class="kw">final String DEFAULT_ID = "Default";
   class="kw">public class="kw">static class="kw">final GameplayConfig DEFAULT = new GameplayConfig();
   @Nonnull
   class="kw">public class="kw">static class="kw">final MapKeyMapCodec<Object> PLUGIN_CODEC = new MapKeyMapCodec<>(true);
   @Nonnull
   class="kw">public class="kw">static class="kw">final AssetBuilderCodec<String, GameplayConfig> CODEC = AssetBuilderCodec.builder(
         GameplayConfig.class,
         GameplayConfig::new,
         Codec.STRING,
         (var0, var1) -> var0.id = var1,
         GameplayConfig::getId,
         (var0, var1) -> var0.data = var1,
         var0 -> var0.data
      )
      .appendInherited(
         new KeyedCodec<>("Gathering", GatheringConfig.CODEC),
         (var0, var1) -> var0.gatheringConfig = var1,
         var0 -> var0.gatheringConfig,
         (var0, var1) -> var0.gatheringConfig = var1.gatheringConfig
      )
      .add()
      .appendInherited(
         new KeyedCodec<>("World", WorldConfig.CODEC),
         (var0, var1) -> var0.worldConfig = var1,
         var0 -> var0.worldConfig,
         (var0, var1) -> var0.worldConfig = var1.worldConfig
      )
      .add()
      .appendInherited(
         new KeyedCodec<>("WorldMap", WorldMapConfig.CODEC),
         (var0, var1) -> var0.worldMapConfig = var1,
         var0 -> var0.worldMapConfig,
         (var0, var1) -> var0.worldMapConfig = var1.worldMapConfig
      )
      .add()
      .appendInherited(
         new KeyedCodec<>("Death", DeathConfig.CODEC),
         (var0, var1) -> var0.deathConfig = var1,
         var0 -> var0.deathConfig,
         (var0, var1) -> var0.deathConfig = var1.deathConfig
      )
      .add()
      .appendInherited(
         new KeyedCodec<>("Respawn", RespawnConfig.CODEC),
         (var0, var1) -> var0.respawnConfig = var1,
         var0 -> var0.respawnConfig,
         (var0, var1) -> var0.respawnConfig = var1.respawnConfig
      )
      .add()
      .appendInherited(
         new KeyedCodec<>("ShowItemPickupNotifications", Codec.BOOLEAN),
         (var0, var1) -> var0.showItemPickupNotifications = var1,
         var0 -> var0.showItemPickupNotifications,
         (var0, var1) -> var0.showItemPickupNotifications = var1.showItemPickupNotifications
      )
      .add()
      .appendInherited(
         new KeyedCodec<>("ItemDurability", ItemDurabilityConfig.CODEC),
         (var0, var1) -> var0.itemDurabilityConfig = var1,
         var0 -> var0.itemDurabilityConfig,
         (var0, var1) -> var0.itemDurabilityConfig = var1.itemDurabilityConfig
      )
      .add()
      .appendInherited(
         new KeyedCodec<>("ItemEntity", ItemEntityConfig.CODEC),
         (var0, var1) -> var0.itemEntityConfig = var1,
         var0 -> var0.itemEntityConfig,
         (var0, var1) -> var0.itemEntityConfig = var1.itemEntityConfig
      )
      .add()
      .appendInherited(
         new KeyedCodec<>("Combat", CombatConfig.CODEC),
         (var0, var1) -> var0.combatConfig = var1,
         var0 -> var0.combatConfig,
         (var0, var1) -> var0.combatConfig = var1.combatConfig
      )
      .add()
      .<MapKeyMapCodec.TypeMap<Object>>appendInherited(new KeyedCodec<>("Plugin", PLUGIN_CODEC), (var0, var1) -> {
         if (var0.pluginConfig.isEmpty()) {
            var0.pluginConfig = var1;
         } else {
            MapKeyMapCodec.TypeMap var2 = var0.pluginConfig;
            var0.pluginConfig = new MapKeyMapCodec.TypeMap<>(PLUGIN_CODEC);
            var0.pluginConfig.putAll(var2);
            var0.pluginConfig.putAll(var1);
         }
      }, var0 -> var0.pluginConfig, (var0, var1) -> var0.pluginConfig = var1.pluginConfig)
      .addValidator(Validators.nonNull())
      .add()
      .appendInherited(
         new KeyedCodec<>("Player", PlayerConfig.CODEC),
         (var0, var1) -> var0.playerConfig = var1,
         var0 -> var0.playerConfig,
         (var0, var1) -> var0.playerConfig = var1.playerConfig
      )
      .add()
      .<CameraEffectsConfig>appendInherited(
         new KeyedCodec<>("CameraEffects", CameraEffectsConfig.CODEC),
         (var0, var1) -> var0.cameraEffectsConfig = var1,
         var0 -> var0.cameraEffectsConfig,
         (var0, var1) -> var0.cameraEffectsConfig = var1.cameraEffectsConfig
      )
      .addValidator(Validators.nonNull())
      .add()
      .<String>appendInherited(
         new KeyedCodec<>("CreativePlaySoundSet", SoundSet.CHILD_ASSET_CODEC),
         (var0, var1) -> var0.creativePlaySoundSet = var1,
         var0 -> var0.creativePlaySoundSet,
         (var0, var1) -> var0.creativePlaySoundSet = var1.creativePlaySoundSet
      )
      .addValidator(SoundSet.VALIDATOR_CACHE.getValidator())
      .add()
      .<String>appendInherited(
         new KeyedCodec<>("CreativeEraserInteraction", RootInteraction.CHILD_ASSET_CODEC),
         (var0, var1) -> var0.creativeEraserInteraction = var1,
         var0 -> var0.creativeEraserInteraction,
         (var0, var1) -> var0.creativeEraserInteraction = var1.creativeEraserInteraction
      )
      .documentation(
         "The root interaction run for Primary while a Creative player has the eraser enabled, regardless of the held item. Unset disables the eraser toggle."
      )
      .addValidatorLate(() -> RootInteraction.VALIDATOR_CACHE.getValidator().late())
      .add()
      .appendInherited(
         new KeyedCodec<>("Crafting", CraftingConfig.CODEC),
         (var0, var1) -> var0.craftingConfig = var1,
         var0 -> var0.craftingConfig,
         (var0, var1) -> var0.craftingConfig = var1.craftingConfig
      )
      .add()
      .appendInherited(
         new KeyedCodec<>("Spawn", SpawnConfig.CODEC),
         (var0, var1) -> var0.spawnConfig = var1,
         var0 -> var0.spawnConfig,
         (var0, var1) -> var0.spawnConfig = var1.spawnConfig
      )
      .add()
      .<Integer>appendInherited(
         new KeyedCodec<>("MaxEnvironmentalNPCSpawns", Codec.INTEGER),
         (var0, var1) -> var0.maxEnvironmentalNPCSpawns = var1,
         var0 -> var0.maxEnvironmentalNPCSpawns,
         (var0, var1) -> var0.maxEnvironmentalNPCSpawns = var1.maxEnvironmentalNPCSpawns
      )
      .documentation("The absolute maximum number of environmental NPC spawns. < 0 for infinite.")
      .add()
      .afterDecode(GameplayConfig::processConfig)
      .build();
   class="kw">private class="kw">static AssetStore<String, GameplayConfig, DefaultAssetMap<String, GameplayConfig>> ASSET_STORE;
   @Nonnull
   class="kw">public class="kw">static class="kw">final ValidatorCache<String> VALIDATOR_CACHE = new ValidatorCache<>(new AssetKeyValidator<>(GameplayConfig::getAssetStore));
   class="kw">protected String id;
   class="kw">protected AssetExtraInfo.Data data;
   class="kw">protected GatheringConfig gatheringConfig = new GatheringConfig();
   class="kw">protected WorldConfig worldConfig = new WorldConfig();
   class="kw">protected WorldMapConfig worldMapConfig = new WorldMapConfig();
   class="kw">protected DeathConfig deathConfig = new DeathConfig();
   class="kw">protected ItemDurabilityConfig itemDurabilityConfig = new ItemDurabilityConfig();
   class="kw">protected ItemEntityConfig itemEntityConfig = new ItemEntityConfig();
   class="kw">protected RespawnConfig respawnConfig = new RespawnConfig();
   class="kw">protected CombatConfig combatConfig = new CombatConfig();
   class="kw">protected MapKeyMapCodec.TypeMap<Object> pluginConfig = MapKeyMapCodec.TypeMap.empty();
   class="kw">protected PlayerConfig playerConfig = new PlayerConfig();
   class="kw">protected CameraEffectsConfig cameraEffectsConfig = new CameraEffectsConfig();
   class="kw">protected CraftingConfig craftingConfig = new CraftingConfig();
   class="kw">protected SpawnConfig spawnConfig = new SpawnConfig();
   class="kw">protected String creativePlaySoundSet;
   class="kw">protected String creativeEraserInteraction;
   class="kw">protected boolean showItemPickupNotifications = true;
   class="kw">protected class="kw">transient int creativePlaySoundSetIndex;
   class="kw">protected int maxEnvironmentalNPCSpawns = 500;

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

   class="kw">public class="kw">static AssetStore<String, GameplayConfig, DefaultAssetMap<String, GameplayConfig>> getAssetStore() {
      if (ASSET_STORE == null) {
         ASSET_STORE = AssetRegistry.getAssetStore(GameplayConfig.class);
      }

      class="kw">return ASSET_STORE;
   }

   class="kw">public class="kw">static DefaultAssetMap<String, GameplayConfig> getAssetMap() {
      class="kw">return (DefaultAssetMap<String, GameplayConfig>)getAssetStore().getAssetMap();
   }

   class="kw">public GatheringConfig getGatheringConfig() {
      class="kw">return this.gatheringConfig;
   }

   class="kw">public WorldConfig getWorldConfig() {
      class="kw">return this.worldConfig;
   }

   class="kw">public WorldMapConfig getWorldMapConfig() {
      class="kw">return this.worldMapConfig;
   }

   class="kw">public DeathConfig getDeathConfig() {
      class="kw">return this.deathConfig;
   }

   class="kw">public boolean getShowItemPickupNotifications() {
      class="kw">return this.showItemPickupNotifications;
   }

   class="kw">public ItemDurabilityConfig getItemDurabilityConfig() {
      class="kw">return this.itemDurabilityConfig;
   }

   class="kw">public ItemEntityConfig getItemEntityConfig() {
      class="kw">return this.itemEntityConfig;
   }

   class="kw">public RespawnConfig getRespawnConfig() {
      class="kw">return this.respawnConfig;
   }

   class="kw">public CombatConfig getCombatConfig() {
      class="kw">return this.combatConfig;
   }

   class="kw">public MapKeyMapCodec.TypeMap<Object> getPluginConfig() {
      class="kw">return this.pluginConfig;
   }

   class="kw">public PlayerConfig getPlayerConfig() {
      class="kw">return this.playerConfig;
   }

   class="kw">public CameraEffectsConfig getCameraEffectsConfig() {
      class="kw">return this.cameraEffectsConfig;
   }

   class="kw">public String getCreativePlaySoundSet() {
      class="kw">return this.creativePlaySoundSet;
   }

   class="kw">public int getCreativePlaySoundSetIndex() {
      class="kw">return this.creativePlaySoundSetIndex;
   }

   @Nullable
   class="kw">public String getCreativeEraserInteraction() {
      class="kw">return this.creativeEraserInteraction;
   }

   class="kw">public CraftingConfig getCraftingConfig() {
      class="kw">return this.craftingConfig;
   }

   class="kw">public int getMaxEnvironmentalNPCSpawns() {
      class="kw">return this.maxEnvironmentalNPCSpawns;
   }

   @Nonnull
   class="kw">public SpawnConfig getSpawnConfig() {
      class="kw">return this.spawnConfig;
   }

   class="kw">protected void processConfig() {
      if (this.creativePlaySoundSet != null) {
         this.creativePlaySoundSetIndex = SoundSet.getAssetMap().getIndex(this.creativePlaySoundSet);
      }
   }

   class="kw">public String getId() {
      class="kw">return this.id;
   }
}