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