-
Notifications
You must be signed in to change notification settings - Fork 0
Configuration
Neroland Core provides one config service so every Neroland mod registers its
config with Core instead of hand-rolling file I/O. Each mod gets one
<modId>.properties file in the loader's config directory, with a typed schema,
defaults, validation, hot-reload, and optional server-to-client sync.
- the file is created with documented defaults on first run
- numeric values clamp to their
[min, max]range - bad or blank entries fall back to the default
- new keys are migrated into an existing file automatically
- your edits and comments are otherwise left untouched
Schemas are built from typed entries. Each takes a key, a default, (range
bounds where applicable), a serverAuthoritative flag, and a comment.
boolintRangelongRangedoubleRangestring
A value is marked serverAuthoritative = true when the server must dictate it
to every client — typically gameplay balance. Core pushes a snapshot to each
player on join and after a reload. Local-only values (debug toggles, client
visuals) stay false and are read from the local file.
The sync payload carries only config keys and values — never player identity.
| Key | Purpose |
|---|---|
materialHardnessMultiplier |
Scales material block hardness |
materialBlastResistanceMultiplier |
Scales material block blast resistance |
upgradeModuleSlotCap |
Clamps upgrade module slot count |
upgradeStackingDiminish |
Diminishing-returns curve for stacked upgrades |
neroEnergyToForgeEnergyRatio |
NE <-> Forge Energy conversion ratio |
debugLogging |
Enables verbose debug logging |
telemetryEnabled |
Reserved opt-out (see Privacy and Data) |
dataRetentionDays |
Inactive-player retention; 0 = never |
Both require op level 2.
| Command | Effect |
|---|---|
/neroland config reload |
Re-reads every schema and re-syncs |
/neroland config list |
Prints each schema's values, flagging server-authoritative ones |
The full config API is documented in ../docs/CONFIG.md.