Skip to content

Configuration Overview

EssentialsY replaces the monolithic legacy config.yml with a split configuration system designed for easier reading and maintenance.

File Layout

text
plugins/EssentialsY/
├── config/
│   ├── core.yml          # Global, teleport, AFK, nick, signs
│   ├── homes.yml         # Home system settings
│   ├── economy.yml       # Economy, costs, baltop
│   ├── help.yml          # Help system
│   ├── chat.yml          # Chat formatting and radius
│   ├── protect.yml       # World protection flags
│   ├── antibuild.yml     # Build/use restrictions
│   └── spawn.yml         # Spawn, respawn, new players
├── modules.yml           # Feature module toggles
├── commands.yml          # Command enable/disable
├── geoip.yml             # GeoIP settings (if enabled)
├── kits.yml              # Kit definitions
├── worth.yml             # Item sell prices
├── tpr.yml               # Random teleport locations
└── warps/                # Per-warp YAML files

How It Works

At runtime, SplitConfigLoader reads all files in config/ and merges them into a single virtual configuration node. The rest of EssentialsY reads settings the same way as before — no code changes needed in command handlers.

Legacy config.yml files are automatically migrated on first load.

Applying Changes

Most changes take effect with:

bash
/essentials reload

Some settings (spawn listener priorities, Paper chat events) require a server restart.

Configuration Files

FilePurpose
modules.ymlEnable/disable feature modules
commands.ymlCommand and category toggles
core.ymlGlobal plugin settings
economy.ymlEconomy configuration
chat.ymlChat formatting
protect.ymlWorld protection
spawn.ymlSpawn and respawn

Tips

  • Edit only the file relevant to what you're changing
  • Use modules.yml before editing module-specific configs — disabled modules ignore their config
  • Use commands.yml category toggles instead of listing dozens of individual commands

GPL-3.0 Licensed · EssentialsY by SushiMC