macro_rules! ids {
($($(#[$meta:meta])* $name:ident = $id:literal;)*) => {
$($(#[$meta])* pub(crate) const $name: &str = $id;)*
pub const ALL: &[&str] = &[$($id),*];
};
}
ids! {
HIT_EVENT = "hit_event";
HIT_ATTACKER = "hit_event.attacker";
HIT_TARGET = "hit_event.target";
HIT_SOURCE = "hit_event.source";
HIT_ROOT_TARGET = "hit_event.root_target";
HIT_WEAPON = "hit_event.weapon";
HIT_HEALTH_CHANGE = "hit_event.health_change";
HIT_STAMINA_CHANGE = "hit_event.stamina_change";
HIT_DAMAGE_TYPES = "hit_event.damage_types";
HIT_ATTACK = "hit_event.attack";
HIT_TARGET_FACTION = "hit_event.target_faction";
DIED_EVENT = "died_event";
DIED_ENTITY = "died_event.entity";
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_GAINED_EVENT = "level_gained_event";
LEVEL_GAINED_PLAYER = "level_gained_event.player";
LEVEL_GAINED_LEVEL = "level_gained_event.level";
EXPERIENCE_GAINED_EVENT = "experience_gained_event";
EXPERIENCE_GAINED_PLAYER = "experience_gained_event.player";
EXPERIENCE_GAINED_AMOUNT = "experience_gained_event.amount";
EXPERIENCE_GAINED_SOURCE = "experience_gained_event.source";
CRAFT_REQUESTED_EVENT = "craft_requested_event";
CRAFT_REQUESTED_PLAYER = "craft_requested_event.player";
CRAFT_REQUESTED_STATION = "craft_requested_event.station";
CRAFT_REQUESTED_RECIPE = "craft_requested_event.recipe";
CRAFT_REQUESTED_AMOUNT = "craft_requested_event.amount";
CRAFTED_EVENT = "crafted_event";
CRAFTED_WORKSHOP = "crafted_event.workshop";
CRAFTED_RECIPE = "crafted_event.recipe";
INTERACTED_EVENT = "interacted_event";
INTERACTED_PLAYER = "interacted_event.player";
INTERACTED_TARGET = "interacted_event.target";
INTERACTED_OFFER = "interacted_event.offer";
BUILT_EVENT = "built_event";
BUILT_PLAYER = "built_event.player";
BUILT_POSITION = "built_event.position";
BUILT_VOLUME_MIN = "built_event.volume_min";
BUILT_VOLUME_MAX = "built_event.volume_max";
BUILT_MATERIAL = "built_event.material";
BUILT_ITEM = "built_event.item";
TORN_DOWN_EVENT = "torn_down_event";
TORN_DOWN_PLAYER = "torn_down_event.player";
TORN_DOWN_POSITION = "torn_down_event.position";
TORN_DOWN_VOLUME_MIN = "torn_down_event.volume_min";
TORN_DOWN_VOLUME_MAX = "torn_down_event.volume_max";
TORN_DOWN_MATERIAL = "torn_down_event.material";
PICKED_UP_EVENT = "picked_up_event";
PICKED_UP_PLAYER = "picked_up_event.player";
PICKED_UP_POSITION = "picked_up_event.position";
PICKED_UP_VOLUME_MIN = "picked_up_event.volume_min";
PICKED_UP_VOLUME_MAX = "picked_up_event.volume_max";
PICKED_UP_MATERIAL = "picked_up_event.material";
PICKED_UP_ENTITY = "picked_up_event.entity";
ALTAR_USED_EVENT = "altar_used_event";
ALTAR_USED_PLAYER = "altar_used_event.player";
ALTAR_USED_ALTAR = "altar_used_event.altar";
ALTAR_USED_ACTION = "altar_used_event.action";
LOOT_OPENED_EVENT = "loot_opened_event";
LOOT_OPENED_PLAYER = "loot_opened_event.player";
LOOT_OPENED_CONTAINER = "loot_opened_event.container";
LOOT_OPENED_TAKE_ALL = "loot_opened_event.take_all";
EQUIPMENT_CHANGED_EVENT = "equipment_changed_event";
EQUIPMENT_CHANGED_PLAYER = "equipment_changed_event.player";
EQUIPMENT_CHANGED_SLOT = "equipment_changed_event.slot";
REVIVED_EVENT = "revived_event";
REVIVED_PLAYER = "revived_event.player";
REVIVED_BY = "revived_event.by";
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_KIND = "npc_command_event.kind";
NPC_COMMAND_NPC = "npc_command_event.npc";
NPC_COMMAND_TARGET = "npc_command_event.target";
SET_TOGGLE_STATE_EVENT = "set_toggle_state_event";
SET_TOGGLE_SENDER = "set_toggle_state_event.sender";
SET_TOGGLE_SIGNAL = "set_toggle_state_event.signal";
SET_TOGGLE_STATE = "set_toggle_state_event.state";
ADD_THREAT_TARGET_EVENT = "add_threat_target_event";
ADD_THREAT_ATTACKER = "add_threat_target_event.attacker";
ADD_THREAT_TARGET = "add_threat_target_event.target";
ADD_THREAT_THREAT = "add_threat_target_event.threat";
UI_PING_EVENT = "ui_ping_event";
UI_PING_SENDER = "ui_ping_event.sender";
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";
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")]
EQUIPMENT_SLOT = "equipment_slot";
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";
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 = "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";
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";
}