✨ What's Inside
- Unified Item Sources — reference items from 10+ plugins with one syntax (MMOItems, MythicMobs, ItemsAdder, Nexo, CraftEngine, NeigeItems, QI…)
- Scripting Engine — built-in GraalJS + Groovy for conditions, actions and item modules
- ️ Custom GUIs — draw menus in YAML with actions & conditions, no code
- Cross-plugin Economy — one API over Vault / ExcellentEconomy / PlayerPoints
- ️ Native Attributes & Elements — a full attribute & damage system with no AttributePlus required; add your own via yml + JS
- 7 Languages — fully translatable, just edit yml
- Custom Blocks & Bridges — ModelEngine, CustomCrops, MythicMobs, CraftEngine, MagicGem, CustomFishing…
- ️ Database · PDC · PlaceholderAPI · Diagnostics — SQLite/MySQL storage, persistent data, PAPI, one-command health check
────────────────────────────────────────
Unified Item Sources
One reference syntax to pull items from
10+ item plugins — any sub-plugin can copy and use it directly:
Code (Text):
vanilla:DIAMOND_SWORD ce:my_pack:blade mm-Dragon_Sword
mmoitems:SWORD:excalibur ia-pack_id nexo:ruby qinhitems:flame_blade
Bridged:
CraftEngine · MMOItems · NeigeItems · MythicMobs · ItemsAdder · Nexo · CustomFishing · MagicGem. Missing plugins are skipped — no errors.
────────────────────────────────────────
️ Platform Toolkit
Everything your gameplay plugins (or you, the server owner) need on one base:
- Scripting — GraalJS + Groovy: GUI conditions, click actions, diagnostics, external item modules
- Custom GUI — YAML-defined menus with data sources, pagination and actions, no code
- Economy — give / take / set across Vault / EE / PlayerPoints with one action string
- Custom Blocks — unified block abstraction bridging ModelEngine / CraftEngine
- Data — SQLite / MySQL storage, PDC helpers, PlaceholderAPI bridge
- Diagnostics — /qcl status shows ecosystem health, bridges, modules and health codes at a glance
────────────────────────────────────────
️ Native Attributes (no AttributePlus needed)
A built-in attribute & damage system — attack / crit / defense / dodge / penetration, plus an
element system (fire / water / thunder… with mutual restraint). Attributes stack per source across items, classes, gems and sets.
Add your own with one yml entry + a short JS hook (
on_damage_dealt /
taken /
kill /
tick /
equip…):
Code (YAML):
attributes:
thorns:
display
: Thorns
category
: Mitigation
hooks:
on_damage_taken
: qinhcorelib:attributes/thorns.js:onDamageTaken
→ Full step-by-step tutorial in the
Wiki.
────────────────────────────────────────
Seven Languages
Interface, commands and messages are fully translatable, with auto-fallback to English. One line in
config.yml:
Code (YAML):
language
: en_US
# zh_cn · en_US · zh_tw · ru_RU · fr_FR · vi_VN · es_ES
English 简体中文 繁體中文 Русский Français Tiếng Việt Español — edit
lang/<language>/*.yml, no recompile.
────────────────────────────────────────
Quick Start
- Download and drop into plugins/
- Start the server (requires Paper / Purpur 1.21.11+, Java 25+)
- /qcl status to check ecosystem health
- Configure item sources, GUIs, economy, attributes & languages, then /qcl reload
────────────────────────────────────────
Commands
| /qcl status |
View ecosystem & bridge health |
| /qcl gui <id> |
Open a custom GUI |
| /qcl attr list / show |
Inspect registered attributes / a player's totals |
| /qcl reload |
Reload configuration |
────────────────────────────────────────
Documentation
Full Wiki & guides → Qinhuai Docs
⭐ Find it useful? A Star / review is the best support you can give!
Compatible with Paper · Purpur · Spigot 1.21.11+ | Java 25+ | Core of the Qinhuai plugin series