Skip to content

Full config.yml Reference

In: Reference · Related: Natural Generation & Preloading · Realms & Keystones · Guide & Codex · Back: Home

A quick reference to every field in plugins/QinhRuins/config.yml. Changes take effect with /qr reload. This page is a field reference; in-depth gameplay explanations link to the matching server guide. Verified field by field against the source's built-in config.yml.

All YAML paths are relative to plugins/QinhRuins/ by default. Player-facing text is not in this file — it lives in lang/<language>/*.yml.


Top level

FieldDefaultDescription
config-version1Config version baseline; do not edit by hand (used for automatic migration on future structural upgrades)
languagezh_cnLanguage folder name; one of the 7 built-ins or your own. Missing keys fall back to en_US. See Bundled Content List

storage — storage backend

yaml
storage:
  type: yaml      # yaml | database
ValueMeaning
yaml (default)Enough for single-server use, zero configuration
databaseReuse QinhCoreLib's database (SQLite / MySQL is configured in QCL's config.yml; QR does not configure a database separately). The legacy values sqlite/mysql are also treated as database

Only player codex discoveries go to the database (point a group of servers at the same MySQL and it is shared cross-server); world-coordinate-bound data such as anchors / chest claims / slot machines always stays in local YAML. See Data Storage.


guide — guidance system

Right-click guide item → confirm GUI → consume 1 and start compass guidance. For gameplay details see Guide & Codex.

FieldDefaultDescription
displaytitleDisplay mode: title (title at upper-center of screen) / actionbar (above the hotbar) / none (handed off to a HUD plugin, paired with placeholders)
title§e◈ {ruin}Main title in title mode (placeholders {ruin} {distance} {direction} {world})
subtitle§f{distance}m §7{direction}Subtitle in title mode
actionbar§e{ruin} §f{distance}m §7{direction}Text in actionbar mode
not-foundHint shown when the target can't be temporarily resolved en route
other-worldHint shown when the target is in another world
search-failHint shown when there is no target in range when guidance starts
search-radius10000Guidance search radius (blocks). Too large lags the server during map search; tune as needed
discover-radius48Entering this radius = arrival: permanently consume the guide item, end guidance
refresh-ticks10Distance / direction refresh interval in ticks (larger is cheaper)
exit-actionswapIn-game action to exit guidance: swap (swap hands, F) / drop (drop, Q) / none. To use any key: bind that key on the client to /qr guide cancel

guide.confirm — right-click confirm GUI

FieldDefaultDescription
titleStart guidance?Confirm GUI title (can use an ItemsAdder :xxx: / CraftEngine <image:xxx> overlay)
yes-name§a✔ ConfirmConfirm button name
no-name§c✘ CancelCancel button name

guide.particle — direction particles

FieldDefaultDescription
enabledtrueWhether to draw direction particles
typeSOUL_FIRE_FLAMEParticle type (any vanilla particle name; DUST uses the colors below)
points6Number of direction particle points (fewer is cheaper)
size1.0Particle size (DUST only)
min-distance2Below this distance, stop drawing
near-distance32Below this distance, use near-color (DUST only)
near-colorGOLDColor when close (DUST only)
far-colorAQUAColor when far (DUST only)

HUD placeholders (require PlaceholderAPI): %qinhruins_guide_active% / _ruin / _distance / _direction / _world. See Placeholders.


realm — realms (affix × tier endgame)

For gameplay details see Realms & Keystones · Affix System.

realm.tiers — tier curves (expression variable tier)

FieldDefaultDescription
max16Maximum tier
affix-count1 + tier / 3Number of affixes per tier (expression)
mob-leveltier * 5Mob level curve
loot-bonus1 + tier * 0.1Cleanse loot quantity multiplier (scales by tier, multiplies with greed; write 1 to disable per-tier bonus)
danger-budget40 + tier * 10Danger budget cap (caps the sum of affix danger, preventing low-tier hellstacks; ≤0=unlimited. The first affix is always guaranteed)

realm.keystone — keystone appearance

Right-click a keystone = activate a realm (vanilla behaviors like ender-eye flight are suppressed).

FieldDefaultDescription
materialminecraft:ender_eyeKeystone material; supports any item source (craftengine:/itemsadder:/nexo:/qinhitems:/mmoitems:type:id/neigeitems:/mythicmobs:)
name&dRealm Keystone &7T{tier}Name ({tier}=tier; applies only to vanilla materials; for other item sources the source's own name/lore is kept; leave empty "" to leave even vanilla materials unrenamed)
lore(one line)Lore (same rules as name)
model-data0CustomModelData

For a custom-item keystone to show its tier: write %qinhruins_keystone_tier% in its own name/lore (requires PlaceholderAPI).

realm.reward — cleanse reward

Exclusive loot outside the keystone ladder, handed out privately per participant.

FieldDefaultDescription
loot-tablerealmExclusive loot table name (loottables/<name>.yml)
per-tier-tablefalseWhen true, prefer realm_t{tier}, falling back to loot-table if missing
growth-scaledtruePersonal drop quantity scales by growth
currency-basetier * 100Base currency per participant (expression, 0=disabled, requires an economy plugin)
currency-provider""Economy backend: empty=auto / vault / excellenteconomy (ee) / playerpoints
currency-id""Currency ID (required for ExcellentEconomy, e.g. money/silver/gold; leave empty for Vault/PP)

realm.reroll — keystone reroll / gambling

Spend currency to re-roll keystone affixes, then activate once satisfied.

FieldDefaultDescription
enabledtrueWhen off, /qr reroll is unavailable and affixes are blind-box rolled only at the moment of activation
cost-basetier * 50Cost per reroll (expression, requires an economy plugin)
currency-provider""Same as reward
currency-id""Same as reward

realm — others

FieldDefaultDescription
failure.consume-keystonefalseWhether failure consumes the keystone (can be overridden per tier; true recommended for high tiers)
activate-radius48Radius /qr activate searches for nearby ruins
abandon-seconds120How long with no players around a realm before it's deemed abandoned (clears mobs and resets, preventing persistent-mob buildup)
time-limit"0"Realm time limit (seconds); 0=unlimited (more like a world structure)
keystone-chance0.5Chance to drop a same-tier keystone after cleansing (goes straight into the inventory, 0~1)
next-tier-chance0.2Extra chance to drop a one-tier-higher keystone after cleansing (the ladder engine)
bossbar-colorPURPLERealm bossbar color
bossbar-styleSEGMENTED_10Realm bossbar style

mechanisms — programmable mechanisms

Pure world interactions of trigger→action inside a blueprint. For gameplay see Mechanism System.

FieldDefaultDescription
enabledtrueMaster switch
scan-radius48Scan radius for area / timer triggers (evaluated only when a player is within this range)
period-ticks10Evaluation interval in ticks for area / timer triggers
max-fill-volume20000Maximum blocks per fill action (prevents server lag)

vessel — container loot

Place a vanilla container in the structure and it works automatically, rolling rewards independently per player. For gameplay see Loot System.

FieldDefaultDescription
enabledtrueMaster switch
refresh-modeper-player-onceper-player-once (once per person) / timed (can re-open and re-roll after a cooldown)
refresh-cooldown30mCooldown in timed mode (30m/1h/…)
rows3Number of rows in the container interface (1-6)

Container ownership is determined automatically by the structure's footprint (no radius needed); which table to use is specified by the template's loot.container-table.


protection — ruin protection

FieldDefaultDescription
enabledtrueWhile exploring / activating, placed blocks cannot be broken; unlocked after clearing. Admins (qinhruins.admin) and "dig-through" mechanism trigger blocks are exempt

See Spawning & Clearing.


cleanup — removal / cleanup

FieldDefaultDescription
snapshot-restoretrueSnapshot the original terrain before generating a structure, restored on /qr remove / regen (disabling saves disk but means removal won't restore blocks)
max-snapshot-volume500000Snapshot volume cap (block count): above this, skip the snapshot (removal won't restore but won't lag). 0=unlimited (dangerous)

staging — preview staging

/qr stage previews with ghost blocks before placing.

FieldDefaultDescription
preview-cap12000Ghost-block preview cap: above this, only a particle border is drawn. Raise it to preview larger structures

generation — world generation

For gameplay details see Natural Generation & Preloading.

FieldDefaultDescription
enabledtrueMaster switch for natural generation (when off, ruins can only be placed manually with /qr spawn)
grid-bucket-size512Spatial index bucket size
max-per-tick4Maximum candidate chunks processed per pass (throttle)
max-millis-per-tick3Millisecond budget per pass: yield the tick once this is exceeded (handles load, smooths spikes)
period-ticks5Interval in ticks between candidate-processing tasks
spread-place-threshold30000If a structure exceeds this block count and has NONE orientation → place across frames in the background (no server freeze). Small structures still place in one shot natively
paste-millis-per-tick8Per-tick millisecond budget for frame-sliced placement / marker cleanup: yields the tick once pasting exceeds it (wall-clock time slicing, adaptive to load, more resilient than a fixed block count). At least 1024 blocks/tick are guaranteed
marker-blockstrueAutomatic schematic marker-block handling: barrier → cleared to air on placement; bedrock → keep original terrain, no overwrite (terrain shows through the marker). false=place as-is

generation.director — director

FieldDefaultDescription
enabledtrueWhen on, the director takes over: all ruins compete in a weighted draw and are constrained by global density. When off, falls back to the old behavior of "each template rolls independently by probability"
notify-adminstruePrivately message online admins the coordinates (with /qr tp) whenever any ruin generates naturally. A debug godsend for finding ruins
chunk-chance80The denominator of the chance a new chunk attempts generation (1/N per chunk; 0=exploration spawns nothing actively, relying purely on live)

generation.director.live — living world

New ruins emerge over time even in already-explored worlds.

FieldDefaultDescription
enabledtrueLiving world switch
interval10mHow often it attempts around online players (the refresh interval; 1m/30s for debugging)
chance0.25Chance per player per attempt
min-radius80Inner radius of the placement ring (keeps away from underfoot)
max-radius220Outer radius of the placement ring (slightly beyond view distance)

generation.director.density — global density

FieldDefaultDescription
region-size512Side length of the density-counting square
max-per-region3Maximum ruins per square (0=unlimited)
min-spacing48Minimum spacing between any two ruins (0=unlimited)

generation.director — others

FieldDefaultDescription
regen-hours24How many hours after a ruin is cleared before it regens (snapshot-restored and slot-freed when no one is nearby; 0=never regen; true regen requires cleanup.snapshot-restore on)
weights[]Ruin weighted-draw table (- { template: id, weight: 30 }); empty=auto-derive from each template's probability

combat — spawning

Structure contents activate automatically when a player approaches (not instanced). See Spawning & Clearing.

FieldDefaultDescription
activation-radius48A player entering this radius activates the anchor's spawning
spawn-period-ticks40Activation-check interval in ticks

session — session

Enter / exit / bossbar. See Party & Session.

FieldDefaultDescription
enter-radius48Radius for searching nearby anchors; teammates must also be within this range to count as rallied
bossbartrueWhether to show the session bossbar
bossbar-colorPURPLEPINK/BLUE/RED/GREEN/YELLOW/PURPLE/WHITE
bossbar-styleSOLIDSOLID/SEGMENTED_6/SEGMENTED_10/SEGMENTED_12/SEGMENTED_20

Other runtime data files

Beyond config.yml, QR also loads content from these files — see Resource Files Overview:

PathContent
generators/*.ymlPlacement profiles (17 built-in)
templates/<id>/Ruin templates + blueprints + structure files
palettes/*.ymlProcedural assembly palettes
loottables/*.ymlLoot tables (default / vault / realm)
affixes.ymlAffix library (13 built-in enabled)
scripts/*.jsAffix JS scripts
lang/<language>/*.ymlMultilingual text (7 built-in)
schematics/*.schemWorldEdit files awaiting /qr import
anchors.ymlAnchor instance data (generated at runtime, do not edit by hand)

Next