CMIDatabase Guide
This page introduces CMIDatabase as a public testing guide. It focuses on what the tool checks, how testers get started, and which commands are useful on an authorized test server.
What It Does
Section titled “What It Does”CMIDatabase is an internal key/value store for server custom aliases, event commands, interactive commands, quests, parkour, adventure logic, and other automation where server usermeta is not enough.
How Testers Use It
Section titled “How Testers Use It”Start with /cmidb status. The sections below explain what CMIDatabase checks, which commands authorized testers can use, and what its output means.
Available features include:
- Store global flags such as event state, quest state, or server automation switches.
- Store player-scoped progress by player name without requiring the player to be online.
- Read, check, list, and delete stored keys from console or a tightly permission-gated sender.
- Expose values through the shared onembcmi PlaceholderAPI expansion.
- Register a convenience onembcmidb PlaceholderAPI expansion for short CMI check syntax.
- Keep keys strict and predictable: lowercase letters, numbers, dots, underscores, and dashes.
- Reject multiline/control-character values and enforce a configurable maximum value length.
- Store data centrally under plugins/1MB-CMIAPI/CMIAPILIB/database/cmidb.yml.
Quick Start
Section titled “Quick Start”- Start with
/cmidb statusto open or view CMIDatabase. - Use
/cmidb statusto check your current progress, settings, or state. - Use
/cmidb helpwhen you want the in-game help or a short explanation. - Try
/cmidb global get examplewhen you are ready to use one of the feature actions.
Commands
Section titled “Commands”| Command | What it does | Example |
|---|---|---|
/cmidb status | Shows your current CMIDatabase status. | /cmidb status |
/cmidb help | Shows the CMIDatabase commands available to you. | /cmidb help |
/cmidb global get <key> | Runs the CMIDatabase global action. | /cmidb global get example |
/cmidb global has <key> | Runs the CMIDatabase global action. | /cmidb global has example |
/cmidb global delete <key> | Runs the CMIDatabase global action. | /cmidb global delete example |
/cmidb <playerName> get <key> | Uses CMIDatabase with the value you provide. | /cmidb Steve get example |
/cmidb <playerName> has <key> | Uses CMIDatabase with the value you provide. | /cmidb Steve has example |
/cmidb <playerName> delete <key> | Uses CMIDatabase with the value you provide. | /cmidb Steve delete example |
/cmidb list global [page] | Lists available CMIDatabase entries. | /cmidb list global |
/cmidb list <playerName> [page] | Lists available CMIDatabase entries. | /cmidb list Steve |
Examples
Section titled “Examples”- No separate examples are listed yet. Use the command examples above as a starting point.
Good To Know
Section titled “Good To Know”- This is a permission-gated testing or development tool, not a normal player feature.
- Use it only on an authorized server and review the full reference before running diagnostics or exports.
Full Reference
Section titled “Full Reference”The full synced CMIDatabase reference is available for exact technical details.