Skip to content

00 Overview

MaksyKun edited this page Jul 25, 2026 · 2 revisions

Divinity is the shared RPG layer behind custom equipment, combat rules, progression, and optional gameplay systems.

The mental model

Layer Owns Main files
Global rules language, storage, tiers, item classification, module switches config.yml, lang/
Engine combat math, durability, attributes, packet features, lore engine.yml
Item vocabulary stats, damage, defenses, sockets, ammo, hand types item_stats/*.yml
Player state profiles and profile menus profiles/*.yml
Module behavior GUI, rates, restrictions, hooks, commands modules/*/settings.yml
Module content items, rewards, classes, mobs, merchants modules/*/items/, tables/, mobs/, classes/, tomes/, merchant.yml

Recommended setup order

  1. Install CodexCore and Divinity, then start the server once to generate defaults.
  2. Set language, storage, tiers, item groups, and module switches in config.yml.
  3. Review engine.yml before balancing items; it affects every module.
  4. Enable one module at a time and test with its list, get, or GUI command.
  5. Start from the bundled examples and change IDs only after the behavior works.
  6. Reload the module and test both the success and failure paths.

Common content pattern

Most item-based modules use the same shape:

Common item skeleton
material: IRON_INGOT
name: 'Example Item'
tier: common
level:
  min: 1
  max: 3
uses-by-level:
  '1': 1

material, name, tier, level, and uses-by-level are real fields used by the bundled module items. Module-specific fields then add effects, stats, sockets, requirements, or actions.

File safety

Edit the generated copy in plugins/Divinity/, not the jar. Preserve indentation and IDs. If a file becomes invalid, stop the server and restore the last known-good copy; deleting a generated file lets Divinity recreate its default.

Next pages

Clone this wiki locally