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.

How config files behave

  • 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

Typed builders

Schemas are built from typed entries. Each takes a key, a default, (range bounds where applicable), a serverAuthoritative flag, and a comment.

  • bool
  • intRange
  • longRange
  • doubleRange
  • string

Server-authoritative values

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.

Core's own schema (CoreConfig)

KeyPurpose
materialHardnessMultiplierScales material block hardness
materialBlastResistanceMultiplierScales material block blast resistance
upgradeModuleSlotCapClamps upgrade module slot count
upgradeStackingDiminishDiminishing-returns curve for stacked upgrades
neroEnergyToForgeEnergyRatioNF <-> Forge Energy conversion ratio
itemHighlightsEnabledColoured slot borders on Nero items (see Item Highlights)
itemHighlightOpacityHighlight border opacity, 0-100 percent
itemHighlightThicknessHighlight border thickness in pixels, 1-4
debugLoggingEnables verbose debug logging
telemetryEnabledReserved opt-out (see Privacy and Data)
dataRetentionDaysInactive-player retention; 0 = never

Commands

Both require op level 2.

CommandEffect
/neroland config reloadRe-reads every schema and re-syncs
/neroland config listPrints each schema's values, flagging server-authoritative ones

For developers

The full config API is documented in ../docs/CONFIG.md.

See also

Search across every Nero mod wiki.