Module necro.config.Settings
Classes
Functions
Tables
Format | |
Layer | |
Scope | |
Tag | |
Type | |
Visibility |
Classes
- SettingsActionArgs
-
: SettingsArgs
- action function Function to perform when this settings entry is selected
- SettingsArgs
-
- id string|nil Dot-separated identifier for this setting
- treeKey string|nil Dot-separated tree key for this setting, used for settings menu grouping (defaults to id)
- alias string|nil Dot-separated fallback identifier for legacy settings
- name string|nil Name by which this setting is displayed in menus
- desc string|nil Optional description for this setting, which is displayed in menus upon selection
- default any Default value for this setting
- scope SettingsScope|nil Scope of this setting, controls storage and synchronization
- order number|nil Order in which this setting appears within menus (defaults to math.huge)
- visibility SettingsVisibility|nil Menu visibility of this setting
- format function|nil Formatting function to convert the current value to its human-readable representation
- enableIf function|nil Enable condition for the setting's menu entry (defaults to always enabled)
- type SettingsType|nil Type of this setting. Typically overridden by registration functions
- serializer function|nil Serialization function to convert the value to its JSON representation
- deserializer function|nil Deserialization function to convert a JSON representation back into a value
- setter function|nil Function to be called when this setting is modified
- tag SettingsTag|SettingsTag[]|nil Tags the setting for certain use-cases, modifying its run-time behavior
- layers SettingsLayer[]|nil Ordered list of "layers" that can override the value of this setting
- writeLayer SettingsLayer|nil Layer to write the value back to, in case it is modified directly
- SettingsChoiceArgs
-
: SettingsArgs
- choices SettingsChoiceEntry[]
- choiceMapping table
- SettingsChoiceEntry
-
- value any Value representing this choice option
- name string|nil Name by which this choice option is displayed in menus (default: stringified value)
- desc string|nil Optional description for this choice option, which is displayed in menus upon selection
- SettingsEnumArgs
-
: SettingsChoiceArgs
- enum table Enumeration table (see system.utils.Enum) containing the entries available for choice
- SettingsGroupArgs
-
: SettingsArgs
- entryOrder string[]|nil Sorting order for (unprefixed) keys in this settings group
- prefixAll boolean|nil Prefixes all subsequent settings defined in the same script with this group's id
- SettingsLayer
- SettingsNumberArgs
-
: SettingsArgs
- minimum number|nil Inclusive lower bound for the setting's value (default: negative infinity)
- maximum number|nil Inclusive upper bound for the setting's value (default: positive infinity)
- step number|nil Step size for increasing/decreasing the setting's value (default: 1)
- editAsString boolean|nil Allows editing the setting's value via text input
- SettingsRegistrationCategory
- SettingsScope
- SettingsStringArgs
-
: SettingsArgs
- maxLength number|nil Inclusive upper bound for the length of the setting's value
- SettingsTag
- SettingsType
- SettingsVisibility
Functions
- Format.MULTIPLIER (value)
-
Parameters:
- value
- Format.PERCENT (value)
-
Parameters:
- value
- Format.TIME (value)
-
Parameters:
- value
- entitySchema.action (parameters)
-
Parameters:
- parameters
- entitySchema.bool (parameters)
-
Parameters:
- parameters
- entitySchema.choice (parameters)
-
Parameters:
- parameters
- entitySchema.enum (parameters)
-
Parameters:
- parameters
- entitySchema.group (parameters)
-
Parameters:
- parameters
- entitySchema.number (parameters)
-
Parameters:
- parameters
- entitySchema.percent (parameters)
-
Parameters:
- parameters
- entitySchema.string (parameters)
-
Parameters:
- parameters
- entitySchema.table (parameters)
-
Parameters:
- parameters
- entitySchema.time (parameters)
-
Parameters:
- parameters
- overridable.action (parameters)
-
Parameters:
- parameters
- overridable.bool (parameters)
-
Parameters:
- parameters
- overridable.choice (parameters)
-
Parameters:
- parameters
- overridable.enum (parameters)
-
Parameters:
- parameters
- overridable.group (parameters)
-
Parameters:
- parameters
- overridable.number (parameters)
-
Parameters:
- parameters
- overridable.percent (parameters)
-
Parameters:
- parameters
- overridable.string (parameters)
-
Parameters:
- parameters
- overridable.table (parameters)
-
Parameters:
- parameters
- overridable.time (parameters)
-
Parameters:
- parameters
- prefixAll (prefix)
-
Assigns a default key prefix for all settings defined in this file
Parameters:
- prefix
- shared.action (parameters)
-
Parameters:
- parameters
- shared.bool (parameters)
-
Parameters:
- parameters
- shared.choice (parameters)
-
Parameters:
- parameters
- shared.enum (parameters)
-
Parameters:
- parameters
- shared.group (parameters)
-
Parameters:
- parameters
- shared.number (parameters)
-
Parameters:
- parameters
- shared.percent (parameters)
-
Parameters:
- parameters
- shared.string (parameters)
-
Parameters:
- parameters
- shared.table (parameters)
-
Parameters:
- parameters
- shared.time (parameters)
-
Parameters:
- parameters
- user.action (parameters)
-
Parameters:
- parameters
- user.bool (parameters)
-
Parameters:
- parameters
- user.choice (parameters)
-
Parameters:
- parameters
- user.enum (parameters)
-
Parameters:
- parameters
- user.group (parameters)
-
Parameters:
- parameters
- user.number (parameters)
-
Parameters:
- parameters
- user.percent (parameters)
-
Parameters:
- parameters
- user.string (parameters)
-
Parameters:
- parameters
- user.table (parameters)
-
Parameters:
- parameters
- user.time (parameters)
-
Parameters:
- parameters
Tables
- Format
- Layer
-
Fields:
- DEFAULT
1
- Default value specified in the setting's own declaration - IMPORT
2
- Dynamically computed default value (config migration, Steam username, etc.) - LOCAL
3
- Locally chosen value by the user, saved to config file - REMOTE_PENDING
4
- Value selected by the host player (but not yet committed) for the current game session - REMOTE_OVERRIDE
5
- Value assigned by the server for the current game session - SCRIPT_OVERRIDE
6
- Value temporarily overwritten by a script
- DEFAULT
- Scope
-
Fields:
- SHARED
1
- Game session setting, displayed in the host player's "Game settings" menu, synchronized over the network. - USER
2
- Local setting, displayed in the game's "Options" menu, not synchronized (should not affect gameplay!) - OVERRIDABLE
3
- Overridable setting: displayed in both the "Options" and "Game settings" menu, representing an optionally server-side enforced client setting (such as a required zoom level)
- SHARED
- Tag
-
Fields:
- ENTITY_SCHEMA
1
- Entity-schema-relevant: allows the setting to be used in entity schema events, reloading the schema on change - TILE_SCHEMA
2
- Tile-schema-relevant: allows the setting to be used in tile schema events, reloading the schema on change
- ENTITY_SCHEMA
- Type
-
Fields:
- NONE
0
- Null setting (group, action): this setting does not hold data - ANY
1
- Arbitrary setting: this setting can hold any data - CHOICE
2
- Choice setting (boolean, enum): the user can select one from a list of pre-supplied choices - NUMBER
3
- Numeric setting: the user can increase or decrease the setting by fixed steps, or enter a custom value - STRING
4
- String setting: the user can enter a custom string
- NONE
- Visibility
-
Fields:
- RESTRICTED
0
- Restricted: the setting cannot be accessed by any module other than the one defining it - HIDDEN
1
- Hidden: the setting is never shown in the options/settings menus (default for untyped settings) - ADVANCED
2
- Advanced: the setting is only displayed in Advanced mode - VISIBLE
3
- Visible: the setting is always visible (default for typed settings)
- RESTRICTED