Skip to content

For Developers

Dario Maselli edited this page Jun 29, 2026 · 2 revisions

For Developers

This page is the contributor- and integrator-facing entry point. The deep API reference lives in the repo's ../docs/ folder; this page orients you and links there.

Building on Core

Core is the single, stable foundation every Neroland mod depends on. Declare it a required dependency ordered after Core, and pin to a major range ([1.0,2.0)):

  • Fabric (fabric.mod.json): "depends": { "nerolandcore": ">=1.0.0" }
  • NeoForge (neoforge.mods.toml): a required [[dependencies.<modid>]] on nerolandcore, ordering = "AFTER".
  • Forge (mods.toml): the equivalent required, AFTER dependency.

Full instructions: ../docs/USING-CORE.md.

The systems and their facades

Every system is reached through a small facade; per-loader wiring is Core's job.

You want to… Use Wiki Developer doc
Require a material by tag c:ingots/<m> / neroland:materials/<m> Tags & Datapacks TAGS-AND-DATAPACKS
Register your own config ConfigManager.register(schema) Configuration CONFIG
Gate content on progress ProgressionGates.isOpen(player, gate) Progression Gates PROGRESSION
Read/move money CurrencyApi Economy & Reputation ECONOMY-REPUTATION
Adjust faction standing ReputationApi Economy & Reputation ECONOMY-REPUTATION
Build a machine extend AbstractMachineBlockEntity Machines, Power & Upgrades MACHINES-POWER-UPGRADES
Expose/find energy EnergyLookup + *EnergyLookup.ENERGY Machines, Power & Upgrades MACHINES-POWER-UPGRADES
Store/expose a fluid NeroFluidStorage / FluidBuffer + nerolandcore:fluid Machines, Power & Upgrades MACHINES-POWER-UPGRADES
Store/expose a gas NeroGasStorage / GasBuffer / NeroGases + nerolandcore:gas Machines, Power & Upgrades MACHINES-POWER-UPGRADES
Store player data register a PlayerDataEraser Privacy & Data COMPLIANCE

Implementing a Core provider

Core defines the contracts and stores nothing for economy/reputation; your mod registers the store:

  • CurrencyApi.setProvider(new MyCurrencyStore()) — NeroEconomy.
  • ReputationApi.setProvider(new MyReputationStore()) — NeroFactions.

API stability

Core follows semantic versioning on its public API, frozen between majors. Implementation types are marked @ApiStatus.Internal and may change at any time — reference materials by tag and use the facades, never the internals. See ../docs/API-STABILITY.md.

Contributing

  • Resources are hand-authored in common/src/main/resources — validate JSON after edits.
  • Keep common/ free of loader-specific imports; use the platform seams.
  • Whenever you add, change, or remove a feature, update this wiki in the same change.
  • See ../AGENTS.md / ../CLAUDE.md for the full build-and-verify rules.

See also

Clone this wiki locally