definitions - GregHib/void GitHub Wiki
Definitions are collections of data stored in the game Cache, they often store data about a specific Entity, Interface or other game engine system.
Tip
You can find the full list of definitions in ./engine/data/definition/
Definitions can be accessed in scripts with injection:
val itemDefinitions: ItemDefinitions by inject()
Or in functions with:
val itemDefinitions: ItemDefinitions = get()
Void goes beyond standard definitions and links YAML configuration files to each definition making it easy to define String Identifiers and additional data.
Anything added to an npc beyond the integer id is added to the respective definitions.extras
map where they can later be accessed in a similar way to Variables.
hans:
id: 0
wander_radius: 4
race: human
examine: "Servant of the Duke of Lumbridge."
val race = npc.def["race", ""] // Get or default return empty string
val examine: String = npc.def["examine"] // Get unsafe with type
val radius: Int? = npc.def.getOrNull("wander_radius") // Get if exists else return null value
Note
This applies to all definitions, objects.yml
-> ObjectDefinition, interfaces.yml
-. InterfaceDefinition, fonts.yml
-> FontDefinition, etc...