enshwick 1.0.0-alpha.6

The Enshwick Loader's modding API for Enshrouded: the one crate mods are written against
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
//! The ids the API asks the loader for engine facts by; the loader maps each
//! to the game's names and offsets, so no engine name is compiled into a mod.

/// Declares each id as a constant and lists them all in [`ALL`].
macro_rules! ids {
    ($($(#[$meta:meta])* $name:ident = $id:literal;)*) => {
        $($(#[$meta])* pub(crate) const $name: &str = $id;)*

        /// Every id, for the loader's test that each one resolves.
        pub const ALL: &[&str] = &[$($id),*];
    };
}

ids! {
    HIT_EVENT = "hit_event";
    HIT_EVENT_ROOT_SOURCE_ID = "hit_event.root_source_id";
    HIT_EVENT_TARGET_ID = "hit_event.target_id";
    HIT_EVENT_SOURCE_ID = "hit_event.source_id";
    HIT_EVENT_ROOT_TARGET_ID = "hit_event.root_target_id";
    HIT_EVENT_WEAPON_PIDE_ID = "hit_event.weapon_pide_id";
    HIT_HEALTH_CHANGE = "hit_event.health_change";
    HIT_STAMINA_CHANGE = "hit_event.stamina_change";
    HIT_DAMAGE_TYPES = "hit_event.damage_types";
    HIT_EVENT_ATTACK_CATEGORY = "hit_event.attack_category";
    HIT_TARGET_FACTION = "hit_event.target_faction";
    ENTITY_DIED_EVENT = "entity_died_event";
    ENTITY_DIED_EVENT_DEAD_ENTITY_ID = "entity_died_event.dead_entity_id";
    HIT_HISTORY = "hit_history";
    HIT_HISTORY_LAST_INDEX = "hit_history.last_index";
    HIT_HISTORY_ENTRIES = "hit_history.entries";
    HIT_HISTORY_END = "hit_history.end";
    EXPERIENCE_CREDIT = "experience_credit";
    EXPERIENCE_CREDIT_LAST_PLAYER = "experience_credit.last_player";
    LEVEL_UP_EVENT = "level_up_event";
    LEVEL_UP_EVENT_PLAYER_ENTITY_ID = "level_up_event.player_entity_id";
    LEVEL_UP_EVENT_LEVEL = "level_up_event.level";
    XP_GAINED_EVENT = "xp_gained_event";
    XP_GAINED_EVENT_PLAYER_ENTITY_ID = "xp_gained_event.player_entity_id";
    XP_GAINED_EVENT_AMOUNT = "xp_gained_event.amount";
    XP_GAINED_EVENT_SOURCE = "xp_gained_event.source";
    CRAFT_RECIPE_EVENT = "craft_recipe_event";
    CRAFT_RECIPE_EVENT_CRAFTING_OPERATOR_ID = "craft_recipe_event.crafting_operator_id";
    CRAFT_RECIPE_EVENT_CRAFTING_STATION_ID = "craft_recipe_event.crafting_station_id";
    CRAFT_RECIPE_EVENT_RECIPE_ID = "craft_recipe_event.recipe_id";
    CRAFT_RECIPE_EVENT_RECIPE_AMOUNT = "craft_recipe_event.recipe_amount";
    CRAFT_RECIPE_SUCCESS_EVENT = "craft_recipe_success_event";
    CRAFT_RECIPE_SUCCESS_EVENT_WORKSHOP_ID = "craft_recipe_success_event.workshop_id";
    CRAFT_RECIPE_SUCCESS_EVENT_RECIPE_ID = "craft_recipe_success_event.recipe_id";
    ACCEPT_OFFERED_INTERACTION_EVENT = "accept_offered_interaction_event";
    ACCEPT_OFFERED_INTERACTION_EVENT_GUEST_ENTITY_ID = "accept_offered_interaction_event.guest_entity_id";
    ACCEPT_OFFERED_INTERACTION_EVENT_HOST_ENTITY_ID = "accept_offered_interaction_event.host_entity_id";
    ACCEPT_OFFERED_INTERACTION_EVENT_OFFER_ID = "accept_offered_interaction_event.offer_id";
    BUILDING_PLACE_EVENT = "building_place_event";
    BUILDING_PLACE_EVENT_OWNER_ID = "building_place_event.owner_id";
    BUILDING_PLACE_EVENT_POSITION = "building_place_event.position";
    BUILDING_PLACE_EVENT_VOLUME_MIN = "building_place_event.volume_min";
    BUILDING_PLACE_EVENT_VOLUME_MAX = "building_place_event.volume_max";
    BUILDING_PLACE_EVENT_MATERIAL = "building_place_event.material";
    BUILDING_PLACE_EVENT_TRACKING_ITEM_ID = "building_place_event.tracking_item_id";
    BUILDING_TEAR_DOWN_EVENT = "building_tear_down_event";
    BUILDING_TEAR_DOWN_EVENT_OWNER_ID = "building_tear_down_event.owner_id";
    BUILDING_TEAR_DOWN_EVENT_POSITION = "building_tear_down_event.position";
    BUILDING_TEAR_DOWN_EVENT_VOLUME_MIN = "building_tear_down_event.volume_min";
    BUILDING_TEAR_DOWN_EVENT_VOLUME_MAX = "building_tear_down_event.volume_max";
    BUILDING_TEAR_DOWN_EVENT_MATERIAL = "building_tear_down_event.material";
    BUILDING_PICK_UP_EVENT = "building_pick_up_event";
    BUILDING_PICK_UP_EVENT_OWNER_ID = "building_pick_up_event.owner_id";
    BUILDING_PICK_UP_EVENT_POSITION = "building_pick_up_event.position";
    BUILDING_PICK_UP_EVENT_VOLUME_MIN = "building_pick_up_event.volume_min";
    BUILDING_PICK_UP_EVENT_VOLUME_MAX = "building_pick_up_event.volume_max";
    BUILDING_PICK_UP_EVENT_MATERIAL = "building_pick_up_event.material";
    BUILDING_PICK_UP_EVENT_PICKED_ENTITY_ID = "building_pick_up_event.picked_entity_id";
    FLAME_ALTAR_EVENT = "flame_altar_event";
    FLAME_ALTAR_EVENT_PLAYER_ENTITY_ID = "flame_altar_event.player_entity_id";
    FLAME_ALTAR_EVENT_BASE_ENTITY_ID = "flame_altar_event.base_entity_id";
    FLAME_ALTAR_EVENT_TYPE = "flame_altar_event.type";
    LOOT_INTERACTION_EVENT = "loot_interaction_event";
    LOOT_INTERACTION_EVENT_GUEST_ID = "loot_interaction_event.guest_id";
    LOOT_INTERACTION_EVENT_HOST_ID = "loot_interaction_event.host_id";
    LOOT_INTERACTION_EVENT_LOOT_ALL = "loot_interaction_event.loot_all";
    HANDLE_EQUIPMENT_SLOT_CHANGED_EVENT = "handle_equipment_slot_changed_event";
    HANDLE_EQUIPMENT_SLOT_CHANGED_EVENT_PLAYER_ENTITY_ID = "handle_equipment_slot_changed_event.player_entity_id";
    HANDLE_EQUIPMENT_SLOT_CHANGED_EVENT_EQUIPMENT_SLOT = "handle_equipment_slot_changed_event.equipment_slot";
    REVIVED_PLAYER_EVENT = "revived_player_event";
    REVIVED_PLAYER_EVENT_TARGET_ENTITY_ID = "revived_player_event.target_entity_id";
    REVIVED_PLAYER_EVENT_SOURCE_ENTITY_ID = "revived_player_event.source_entity_id";
    WORLD_TRANSFORM_POSITION = "world_transform.position";
    WORLD_TRANSFORM_ORIENTATION = "world_transform.orientation";
    WORLD_TRANSFORM_SCALE = "world_transform.scale";
    NPC_COMMAND_EVENT = "npc_command_event";
    NPC_COMMAND_EVENT_TYPE = "npc_command_event.type";
    NPC_COMMAND_EVENT_NPC_ID = "npc_command_event.npc_id";
    NPC_COMMAND_EVENT_TARGET_TRANSFORM = "npc_command_event.target_transform";
    SET_TOGGLE_STATE_EVENT = "set_toggle_state_event";
    SET_TOGGLE_STATE_EVENT_SENDER_ID = "set_toggle_state_event.sender_id";
    SET_TOGGLE_STATE_EVENT_SIGNAL_ID = "set_toggle_state_event.signal_id";
    SET_TOGGLE_STATE_EVENT_NEW_STATE = "set_toggle_state_event.new_state";
    ADD_THREAT_TARGET_EVENT = "add_threat_target_event";
    ADD_THREAT_TARGET_EVENT_ATTACKER_ID = "add_threat_target_event.attacker_id";
    ADD_THREAT_TARGET_EVENT_TARGET_ID = "add_threat_target_event.target_id";
    ADD_THREAT_TARGET_EVENT_THREAT_VALUE = "add_threat_target_event.threat_value";
    UI_PING_EVENT = "ui_ping_event";
    UI_PING_EVENT_SENDER_ENTITY_ID = "ui_ping_event.sender_entity_id";
    UI_PING_POSITION = "ui_ping_event.position";
    ITEM_INFO = "item_info";
    ITEM_INFO_ID = "item_info.id";
    ITEM_INFO_OBJECT = "item_info.object";
    ITEM_INFO_NAME = "item_info.name";
    ITEM_INFO_DESCRIPTION = "item_info.description";
    ITEM_INFO_FLAGS = "item_info.flags";
    #[expect(dead_code, reason = "listed only so the loader's test resolves it")]
    ITEM_INFO_MAX_STACK = "item_info.max_stack";
    ITEM_INFO_PID_ENTITY = "item_info.pid_entity";
    ITEM_INFO_UI_VALUES = "item_info.ui_values";
    ITEM_INFO_ICON_IMAGE = "item_info.icon_image";
    ITEM_INFO_PLACED_ENTITY = "item_info.placed_entity";
    #[expect(dead_code, reason = "listed only so the loader's test resolves it")]
    ITEM_INFO_EQUIPMENT_SLOT = "item_info.equipment_slot";
    #[expect(dead_code, reason = "listed only so the loader's test resolves it")]
    ITEM_INFO_DAMAGE_MOD = "item_info.damage_mod";
    #[expect(dead_code, reason = "listed only so the loader's test resolves it")]
    ITEM_INFO_SPEED_MOD = "item_info.speed_mod";
    #[expect(dead_code, reason = "listed only so the loader's test resolves it")]
    ITEM_INFO_DAMAGE_SET = "item_info.damage_set";
    #[expect(dead_code, reason = "listed only so the loader's test resolves it")]
    ITEM_INFO_ARMOR = "item_info.armor";
    #[expect(dead_code, reason = "listed only so the loader's test resolves it")]
    ITEM_INFO_ARMOR_SET = "item_info.armor_set";
    #[expect(dead_code, reason = "listed only so the loader's test resolves it")]
    ITEM_INFO_BURN_TIME = "item_info.burn_time";
    #[expect(dead_code, reason = "listed only so the loader's test resolves it")]
    ITEM_INFO_ENERGY_OUTPUT = "item_info.energy_output";
    #[expect(dead_code, reason = "listed only so the loader's test resolves it")]
    ITEM_INFO_FUEL_SET = "item_info.fuel_set";
    #[expect(dead_code, reason = "listed only so the loader's test resolves it")]
    ITEM_INFO_COMFORT_AMOUNT = "item_info.comfort_amount";
    #[expect(dead_code, reason = "listed only so the loader's test resolves it")]
    ITEM_INFO_COMFORT_SET = "item_info.comfort_set";
    #[expect(dead_code, reason = "listed only so the loader's test resolves it")]
    ARMOR_DISTRIBUTION = "armor_distribution";
    #[expect(dead_code, reason = "listed only so the loader's test resolves it")]
    ITEM_SLOT_TYPE = "item_slot_type";
    ITEM_STAT = "item_stat";
    ITEM_STAT_LABEL = "item_stat.label";
    ITEM_STAT_FORMAT = "item_stat.format";
    ITEM_STAT_VALUE = "item_stat.value";
    ITEM_STAT_SIGNED = "item_stat.signed";
    ITEM_REGISTRY = "item_registry";
    ITEM_REGISTRY_REFS = "item_registry.refs";
    ITEM_REGISTRY_NAMES = "item_registry.names";
    TEMPLATE = "template";
    TEMPLATE_COMPONENTS = "template.components";
    TEMPLATE_COLLECTION = "template_collection";
    TEMPLATE_COLLECTION_TEMPLATES = "template_collection.templates";
    FUEL_SETUP = "fuel_setup";
    FUEL_SETUP_MAX = "fuel_setup.max";
    FUEL_SETUP_START = "fuel_setup.start";
    CRAFTING = "crafting";
    CRAFTING_WORKSHOP = "crafting.workshop";
    CRAFTING_WORKSHOP_ID = "crafting.workshop_id";
    CRAFTING_INTERACTION = "crafting_interaction";
    CRAFTING_INTERACTION_WORKSHOP = "crafting_interaction.workshop";
    CRAFTING_INTERACTION_WORKSHOP_ID = "crafting_interaction.workshop_id";
    CLIENT_CRAFTING_INTERACTION = "client_crafting_interaction";
    CLIENT_CRAFTING_INTERACTION_WORKSHOP_ID = "client_crafting_interaction.workshop_id";
    WORKSHOP_REGISTRY = "workshop_registry";
    WORKSHOP_REGISTRY_WORKSHOPS = "workshop_registry.workshops";
    WORKSHOP = "workshop";
    WORKSHOP_GUID = "workshop.guid";
    WORKSHOP_ID = "workshop.id";
    WORKSHOP_NAME = "workshop.name";
    WORKSHOP_ITEM = "workshop.item";
    WORKSHOP_ITEM_REF = "workshop.item_ref";
    WORKSHOP_NPC = "workshop.npc";
    RECIPE_REGISTRY = "recipe_registry";
    RECIPE_REGISTRY_RECIPES = "recipe_registry.recipes";
    RECIPE = "recipe";
    RECIPE_GUID = "recipe.guid";
    RECIPE_ID = "recipe.id";
    RECIPE_WORKSHOP_GUID = "recipe.workshop_guid";
    RECIPE_WORKSHOP = "recipe.workshop";
    RECIPE_INPUT = "recipe.input";
    RECIPE_OUTPUT = "recipe.output";
    RECIPE_COMPLETION = "recipe.completion";
    #[expect(dead_code, reason = "listed only so the loader's test resolves it")]
    RECIPE_DURATION = "recipe.duration";
    RECIPE_REQUIRED_PROPS = "recipe.required_props";
    RECIPE_DEBUG_NAME = "recipe.debug_name";
    RECIPE_INGREDIENT = "recipe_ingredient";
    RECIPE_STACK = "recipe_stack";
    RECIPE_STACK_ITEM = "recipe_stack.item";
    RECIPE_STACK_COUNT = "recipe_stack.count";
    UI_IMAGE = "ui_image";
    UI_BUNDLE = "ui_bundle";
    UI_BUNDLE_CRAFTING_MENU = "ui_bundle.crafting_menu";
    CRAFTING_MENU_WORKSHOPS = "crafting_menu.workshops";
    CRAFTING_MENU_TREES = "crafting_menu.trees";
    CRAFTING_MENU_MAX_GROUPS = "crafting_menu.max_groups";
    CRAFTING_MENU_MAX_SETS = "crafting_menu.max_sets";
    CRAFTING_MENU_TREE = "crafting_menu_tree";
    CRAFTING_MENU_TREE_GROUPS = "crafting_menu_tree.groups";
    CRAFTING_MENU_GROUP = "crafting_menu_group";
    CRAFTING_MENU_GROUP_ID = "crafting_menu_group.id";
    CRAFTING_MENU_GROUP_SETS = "crafting_menu_group.sets";
    CRAFTING_MENU_SET = "crafting_menu_set";
    CRAFTING_MENU_SET_ENTRIES = "crafting_menu_set.entries";
    CURRENT_TRANSFORM = "current_transform";
    USED_ITEM = "used_item";
    LABEL = "label";
    INVENTORY_SETUP = "inventory_setup";
    INVENTORY_SETUP_LINKS = "inventory_setup.links";
    INVENTORY_SETUP_CATEGORIES = "inventory_setup.categories";
    INVENTORY_SETUP_INITIALIZED = "inventory_setup.initialized";
    INVENTORY_SETUP_GENERIC_SLOTS = "inventory_setup.generic_slots";
    INVENTORY_SETUP_AVAILABLE_SLOTS = "inventory_setup.available_slots";
    INVENTORY_SETUP_OVERWRITE = "inventory_setup_overwrite";
    INVENTORY_SETUP_OVERWRITE_GENERIC_SLOTS = "inventory_setup_overwrite.generic_slots";
    INVENTORY = "inventory";
    ITEM_STACK = "item_stack";
    ITEM_STACK_COUNT = "item_stack.count";
    ITEM_STACK_PIDE = "item_stack.pide";
    DURABILITY = "durability";
    DURABILITY_MAX = "durability.max";
    FUEL = "fuel";
    FUEL_MAX = "fuel.max";
    OWNER = "owner";
    INVENTORY_EMPTY_STATE = "inventory_empty_state";
    INVENTORY_EMPTY_STATE_EMPTY = "inventory_empty_state.empty";
    DESTROY_ON_LOOT = "destroy_on_loot";
    LIFETIME = "lifetime";
    AREA_LOOT = "area_loot";
    AREA_LOOT_EXCLUDE = "area_loot.exclude";
    INTERACTION_OFFER = "interaction_offer";
    INTERACTION_OFFER_ACCEPT_TIME = "interaction_offer.accept_time";
    INTERACTION_OFFER_ACCEPT_GUEST = "interaction_offer.accept_guest";
    INTERACTION_OFFER_DISABLED = "interaction_offer.disabled";
    PLAYER_INPUT = "player_input";
    BOSS = "boss";
    INTERACTION_LOCK = "interaction_lock";
    INTERACTION_LOCK_ITEM = "interaction_lock.item";
    LOOT_SLOT = "loot_slot";
    LOOT_SLOT_ITEM = "loot_slot.item";
    LOOT_SLOT_COUNT = "loot_slot.count";
    #[expect(dead_code, reason = "listed only so the loader's test resolves it")]
    LOOTABLE_ITEMS = "lootable_items";
    LOOTABLE_ITEMS_ITEMS = "lootable_items.items";
    LOOTABLE_ITEM = "lootable_item";
    LOOTABLE_ITEM_ITEM = "lootable_item.item";
    LOOTABLE_ITEM_STACK_MIN = "lootable_item.stack_min";
    LOOTABLE_ITEM_STACK_MAX = "lootable_item.stack_max";
    LOOTABLE_ITEM_STACK_MAX_SCALED = "lootable_item.stack_max_scaled";
    #[expect(dead_code, reason = "listed only so the loader's test resolves it")]
    LOOT_FILL_TABLE = "loot_fill_table";
    LOOT_FILL_TABLE_ROOT = "loot_fill_table.root";
    LOOT_FILL_GROUP = "loot_fill_group";
    LOOT_FILL_GROUP_STACKS = "loot_fill_group.stacks";
    LOOT_FILL_GROUP_GROUPS = "loot_fill_group.groups";
    LOOT_FILL_STACK = "loot_fill_stack";
    LOOT_FILL_STACK_ITEM = "loot_fill_stack.item";
    LOOT_FILL_STACK_COUNT_MIN = "loot_fill_stack.count_min";
    LOOT_FILL_STACK_COUNT_MAX = "loot_fill_stack.count_max";
    LOOT_FILL_STACK_PROBABILITY = "loot_fill_stack.probability";
    LOOT_FILL_STACK_WEIGHT = "loot_fill_stack.weight";
    ATTRIBUTE_SET_HEALTH = "attribute_set.health";
    ATTRIBUTE_SET_STAMINA = "attribute_set.stamina";
    ATTRIBUTE_SET_MANA = "attribute_set.mana";
    ATTRIBUTE_SET_LEVEL = "attribute_set.level";
    ATTRIBUTE_SET_EXPERIENCE = "attribute_set.experience";
    ATTRIBUTE_SET_FUEL = "attribute_set.fuel";
    ATTRIBUTE_SET_SHROUD = "attribute_set.shroud";
    SKILL_NODES = "skill_nodes";
    SKILL_NODES_IDS = "skill_nodes.ids";
    SKILL_NODES_LEVELS = "skill_nodes.levels";
    BASE_ACTOR = "base_actor";
    BASE_ACTOR_STATE = "base_actor.state";
    NPC = "npc";
    ANIMAL = "animal";
    LOOT_FILL = "loot_fill";
    RESOURCE_NODE = "resource_node";
    GAME_SETTINGS = "game_settings";
    GAME_SETTINGS_PLAYER_HEALTH_FACTOR = "game_settings.player_health_factor";
    GAME_SETTINGS_PLAYER_MANA_FACTOR = "game_settings.player_mana_factor";
    GAME_SETTINGS_PLAYER_STAMINA_FACTOR = "game_settings.player_stamina_factor";
    GAME_SETTINGS_PLAYER_BODY_HEAT_FACTOR = "game_settings.player_body_heat_factor";
    GAME_SETTINGS_PLAYER_DIVING_TIME_FACTOR = "game_settings.player_diving_time_factor";
    GAME_SETTINGS_ENABLE_DURABILITY = "game_settings.enable_durability";
    GAME_SETTINGS_ENABLE_STARVING_DEBUFF = "game_settings.enable_starving_debuff";
    GAME_SETTINGS_FOOD_BUFF_DURATION_FACTOR = "game_settings.food_buff_duration_factor";
    GAME_SETTINGS_FROM_HUNGER_TO_STARVING = "game_settings.from_hunger_to_starving";
    GAME_SETTINGS_SHROUD_TIME_FACTOR = "game_settings.shroud_time_factor";
    GAME_SETTINGS_TOMBSTONE_MODE = "game_settings.tombstone_mode";
    GAME_SETTINGS_ENABLE_GLIDER_TURBULENCES = "game_settings.enable_glider_turbulences";
    GAME_SETTINGS_WEATHER_FREQUENCY = "game_settings.weather_frequency";
    GAME_SETTINGS_FISHING_DIFFICULTY = "game_settings.fishing_difficulty";
    GAME_SETTINGS_MINING_DAMAGE_FACTOR = "game_settings.mining_damage_factor";
    GAME_SETTINGS_PLANT_GROWTH_SPEED_FACTOR = "game_settings.plant_growth_speed_factor";
    GAME_SETTINGS_RESOURCE_DROP_STACK_AMOUNT_FACTOR = "game_settings.resource_drop_stack_amount_factor";
    GAME_SETTINGS_FACTORY_PRODUCTION_SPEED_FACTOR = "game_settings.factory_production_speed_factor";
    GAME_SETTINGS_PERK_UPGRADE_RECYCLING_FACTOR = "game_settings.perk_upgrade_recycling_factor";
    GAME_SETTINGS_PERK_COST_FACTOR = "game_settings.perk_cost_factor";
    GAME_SETTINGS_EXPERIENCE_COMBAT_FACTOR = "game_settings.experience_combat_factor";
    GAME_SETTINGS_EXPERIENCE_MINING_FACTOR = "game_settings.experience_mining_factor";
    GAME_SETTINGS_EXPERIENCE_EXPLORATION_QUESTS_FACTOR = "game_settings.experience_exploration_quests_factor";
    GAME_SETTINGS_RANDOM_SPAWNER_AMOUNT = "game_settings.random_spawner_amount";
    GAME_SETTINGS_AGGRO_POOL_AMOUNT = "game_settings.aggro_pool_amount";
    GAME_SETTINGS_ENEMY_DAMAGE_FACTOR = "game_settings.enemy_damage_factor";
    GAME_SETTINGS_ENEMY_HEALTH_FACTOR = "game_settings.enemy_health_factor";
    GAME_SETTINGS_ENEMY_STAMINA_FACTOR = "game_settings.enemy_stamina_factor";
    GAME_SETTINGS_ENEMY_PERCEPTION_RANGE_FACTOR = "game_settings.enemy_perception_range_factor";
    GAME_SETTINGS_BOSS_DAMAGE_FACTOR = "game_settings.boss_damage_factor";
    GAME_SETTINGS_BOSS_HEALTH_FACTOR = "game_settings.boss_health_factor";
    GAME_SETTINGS_THREAT_BONUS = "game_settings.threat_bonus";
    GAME_SETTINGS_PACIFY_ALL_ENEMIES = "game_settings.pacify_all_enemies";
    GAME_SETTINGS_TAMING_STARTLE_REPERCUSSION = "game_settings.taming_startle_repercussion";
    GAME_SETTINGS_DAY_TIME_DURATION = "game_settings.day_time_duration";
    GAME_SETTINGS_NIGHT_TIME_DURATION = "game_settings.night_time_duration";
    GAME_SETTINGS_CURSE_MODIFIER = "game_settings.curse_modifier";
    GAME_SETTINGS_FLAME_LEVEL_FOG_REMOVAL = "game_settings.flame_level_fog_removal";
    DAMAGE_TYPE_PHYSICAL_CUT = "damage_type.physical_cut";
    DAMAGE_TYPE_PHYSICAL_PIERCE = "damage_type.physical_pierce";
    DAMAGE_TYPE_PHYSICAL_BLUNT = "damage_type.physical_blunt";
    DAMAGE_TYPE_MAGICAL_FIRE = "damage_type.magical_fire";
    DAMAGE_TYPE_MAGICAL_ICE = "damage_type.magical_ice";
    DAMAGE_TYPE_MAGICAL_FOG = "damage_type.magical_fog";
    DAMAGE_TYPE_MAGICAL_LIGHTNING = "damage_type.magical_lightning";
    DAMAGE_TYPE_HEALING = "damage_type.healing";
    DAMAGE_TYPE_POISON = "damage_type.poison";
    DAMAGE_TYPE_WOOD = "damage_type.wood";
    DAMAGE_TYPE_STONE = "damage_type.stone";
    DAMAGE_TYPE_METAL = "damage_type.metal";
    DAMAGE_TYPE_EXPLOSION = "damage_type.explosion";
    ATTACK_CATEGORY_MELEE = "attack_category.melee";
    ATTACK_CATEGORY_RANGED = "attack_category.ranged";
    ATTACK_CATEGORY_MAGIC = "attack_category.magic";
    ATTACK_CATEGORY_TOOL = "attack_category.tool";
    ATTACK_CATEGORY_OTHER = "attack_category.other";
    ATTACK_CATEGORY_AO_E = "attack_category.ao_e";
    ATTACK_CATEGORY_SKILL_SHOT = "attack_category.skill_shot";
    EXPERIENCE_SOURCE_NONE = "experience_source.none";
    EXPERIENCE_SOURCE_EXPLORATION = "experience_source.exploration";
    EXPERIENCE_SOURCE_LORE = "experience_source.lore";
    EXPERIENCE_SOURCE_QUEST = "experience_source.quest";
    EXPERIENCE_SOURCE_COMBAT = "experience_source.combat";
    EXPERIENCE_SOURCE_MINING = "experience_source.mining";
    EXPERIENCE_SOURCE_ITEM_SET_COMPLETED = "experience_source.item_set_completed";
    ALTAR_ACTION_ABANDON = "altar_action.abandon";
    ALTAR_ACTION_RECLAIM = "altar_action.reclaim";
    ALTAR_ACTION_REMOVE_WATER = "altar_action.remove_water";
    ALTAR_ACTION_SET_AS_PREFERRED_SPAWN_ALTAR = "altar_action.set_as_preferred_spawn_altar";
    EQUIPMENT_SLOT_VANITY_HEAD = "equipment_slot.vanity_head";
    EQUIPMENT_SLOT_VANITY_UPPER_BODY = "equipment_slot.vanity_upper_body";
    EQUIPMENT_SLOT_VANITY_ARMS = "equipment_slot.vanity_arms";
    EQUIPMENT_SLOT_VANITY_LOWER_BODY = "equipment_slot.vanity_lower_body";
    EQUIPMENT_SLOT_VANITY_FEET = "equipment_slot.vanity_feet";
    EQUIPMENT_SLOT_ARMOUR_HEAD = "equipment_slot.armour_head";
    EQUIPMENT_SLOT_ARMOUR_UPPER_BODY = "equipment_slot.armour_upper_body";
    EQUIPMENT_SLOT_ARMOUR_ARMS = "equipment_slot.armour_arms";
    EQUIPMENT_SLOT_ARMOUR_LOWER_BODY = "equipment_slot.armour_lower_body";
    EQUIPMENT_SLOT_ARMOUR_FEET = "equipment_slot.armour_feet";
    EQUIPMENT_SLOT_RING0 = "equipment_slot.ring0";
    EQUIPMENT_SLOT_RING1 = "equipment_slot.ring1";
    EQUIPMENT_SLOT_RANGED_WEAPON = "equipment_slot.ranged_weapon";
    EQUIPMENT_SLOT_SHIELD = "equipment_slot.shield";
    EQUIPMENT_SLOT_ARROW = "equipment_slot.arrow";
    EQUIPMENT_SLOT_SPELL = "equipment_slot.spell";
    EQUIPMENT_SLOT_FISHING_BAIT = "equipment_slot.fishing_bait";
    EQUIPMENT_SLOT_TERRAIN_MATERIAL = "equipment_slot.terrain_material";
    EQUIPMENT_SLOT_BLUEPRINT_MATERIAL_DEFAULT = "equipment_slot.blueprint_material_default";
    EQUIPMENT_SLOT_BLUEPRINT_MATERIAL_ROOF = "equipment_slot.blueprint_material_roof";
    EQUIPMENT_SLOT_OVERGROWTH_MATERIAL = "equipment_slot.overgrowth_material";
    EQUIPMENT_SLOT_HOOK_SHOT = "equipment_slot.hook_shot";
    EQUIPMENT_SLOT_GLIDER = "equipment_slot.glider";
    EQUIPMENT_SLOT_BACKPACK = "equipment_slot.backpack";
    EQUIPMENT_SLOT_MAIN_HAND = "equipment_slot.main_hand";
    INVENTORY_ERROR_INVALID_STATE = "inventory_error.invalid_state";
    INVENTORY_ERROR_OUT_OF_MEMORY = "inventory_error.out_of_memory";
    GAME_SETTINGS_PRESET_DEFAULT = "game_settings_preset.default";
    GAME_SETTINGS_PRESET_RELAXED = "game_settings_preset.relaxed";
    GAME_SETTINGS_PRESET_HARD = "game_settings_preset.hard";
    GAME_SETTINGS_PRESET_SURVIVAL = "game_settings_preset.survival";
    GAME_SETTINGS_PRESET_CUSTOM = "game_settings_preset.custom";
    TOMBSTONE_MODE_ADD_BACKPACK_MATERIALS = "tombstone_mode.add_backpack_materials";
    TOMBSTONE_MODE_EVERYTHING = "tombstone_mode.everything";
    TOMBSTONE_MODE_NO_TOMBSTONE = "tombstone_mode.no_tombstone";
    WEATHER_FREQUENCY_DISABLED = "weather_frequency.disabled";
    WEATHER_FREQUENCY_RARE = "weather_frequency.rare";
    WEATHER_FREQUENCY_NORMAL = "weather_frequency.normal";
    WEATHER_FREQUENCY_OFTEN = "weather_frequency.often";
    GENERIC_DIFFICULTY_VERY_EASY = "generic_difficulty.very_easy";
    GENERIC_DIFFICULTY_EASY = "generic_difficulty.easy";
    GENERIC_DIFFICULTY_NORMAL = "generic_difficulty.normal";
    GENERIC_DIFFICULTY_HARD = "generic_difficulty.hard";
    GENERIC_DIFFICULTY_VERY_HARD = "generic_difficulty.very_hard";
    RANDOM_SPAWNER_AMOUNT_FEW = "random_spawner_amount.few";
    RANDOM_SPAWNER_AMOUNT_NORMAL = "random_spawner_amount.normal";
    RANDOM_SPAWNER_AMOUNT_MANY = "random_spawner_amount.many";
    RANDOM_SPAWNER_AMOUNT_EXTREME = "random_spawner_amount.extreme";
    RANDOM_SPAWNER_AMOUNT_AUTOMATIC = "random_spawner_amount.automatic";
    AGGRO_POOL_AMOUNT_FEW = "aggro_pool_amount.few";
    AGGRO_POOL_AMOUNT_NORMAL = "aggro_pool_amount.normal";
    AGGRO_POOL_AMOUNT_MANY = "aggro_pool_amount.many";
    AGGRO_POOL_AMOUNT_EXTREME = "aggro_pool_amount.extreme";
    TAMING_STARTLE_REPERCUSSION_KEEP_PROGRESS = "taming_startle_repercussion.keep_progress";
    TAMING_STARTLE_REPERCUSSION_LOSE_SOME_PROGRESS = "taming_startle_repercussion.lose_some_progress";
    TAMING_STARTLE_REPERCUSSION_LOSE_ALL_PROGRESS = "taming_startle_repercussion.lose_all_progress";
    CURSE_MODIFIER_EASY = "curse_modifier.easy";
    CURSE_MODIFIER_NORMAL = "curse_modifier.normal";
    CURSE_MODIFIER_HARD = "curse_modifier.hard";
}