Skip to content

Editor Overview & Navigation Tree

Belongs to: Editor GUI · Subpages: Item Editor · Action Editor · Set Editor · Other Editors

QI provides a full suite of in-game visual editors, letting you create / edit items, actions, Sets, and more without touching YAML. The GUI saves to the same YAML, fully interoperable with hand-writing.


1. Opening the Editor

CommandOpens
/qi editorType browser (the edit root entry)
/qi editor browseSame as above
/qi editor <itemId>Directly opens the Item Editor for a given item

Permission: qinhitems.editor.

🖼️ [Image placeholder] The type browser interface opened by /qi editor · suggested assets/editor-type-browser.png


2. Navigation Tree Overview

/qi editor → Type Browser (TypeBrowser)

  └─ Pick type → Item Browser (ItemBrowser, filtered by type)

        ├─ Right-click item / New → Item Editor (ItemEdition) ★ main interface
        │     ├─ Material / Quality / Type / Display Name / Item Name / Lore (chat input)
        │     ├─ Toggles: Unbreakable / Glow / Hide Attributes / Hide Enchantments (instant toggle)
        │     ├─ Max Stack / CustomModelData / Enchant Total Cap (chat input)
        │     ├─ [Actions/Skills] → Action Editor (ActionRefsEdition)
        │     │     ├─ Trigger tabs
        │     │     ├─ [Add Handler] → Action Handler Picker (ActionHandlerPicker)
        │     │     │     └─ Pick handler → Payload form (PayloadSchemaForm) or chat input
        │     │     └─ [Bind Skill] → Skill Binding (SkillBinding)
        │     ├─ [Gem Sockets] → Gem Socket Editor (GemSocketEdition)
        │     ├─ [Attributes] → Attribute Editor (AttributeEditor)
        │     │     └─ [Base Value] → Base Value Editor (BaseValueEditor)
        │     ├─ [Permanent Effects] → Permanent Effect Editor (PermEffectEditor)
        │     ├─ [Enchantments] → Enchantment Editor (EnchantmentEditor)
        │     ├─ [Restrictions] → Restriction Editor (RestrictionEditor)
        │     ├─ [Provider] → Provider Browser (ProviderBrowser)
        │     ├─ [Templates] → Template Hub (TemplateHub)
        │     │     ├─ Definitions: Lore / Fragments / Variables
        │     │     ├─ Skills / Abilities / Resource Packs
        │     ├─ [Set] → Set Hub (SetHub)
        │     │     ├─ New Set / Bind to existing Set
        │     │     └─ Edit Set (SetEdit) → Piece count / Bonuses (SetBonusEdit)
        │     ├─ [Resource Pack/Model] → Resource Pack Hub (ResourcePackHub) → Model picker
        │     └─ [Save] (slot 53)

        └─ Delete mode / Paging

See the corresponding subpages for details on each sub-interface.


3. Common Interaction Conventions

OperationMeaning (common to most interfaces)
Left-clickEdit / Select / Move up
Shift + Left-clickMove down
Right-clickDelete / Cancel
Shift + Right-clickDelete / Confirm dangerous operation
Chat inputMany fields, when clicked, will close the inventory and prompt you to type in chat; enter cancel to abort
Paging buttonsPrevious / Next page when a list exceeds one page

Chat input is driven by EditorChatInput, with a unified prompt format (title, hint, example, cancel to abort).

🖼️ [Image placeholder] A screenshot of the chat box during a chat input prompt (editing the display name) · suggested assets/editor-chat-prompt.png


4. Sessions & Saving

  • Edit session (EditorSession): tracks the current edit state per player (working copy, current trigger, drafts, etc.). Closing the inventory without saving = discard changes.
  • Save (EditorSaveGuard): only clicking the save button (Item Editor slot 53) writes back to YAML. Before saving, PolicyEngine validation runs: errors are reported and rejected, warnings are reported but proceed. After saving, the action table is hot-reloaded.

5. Key Features

  • Fully GUI-driven: almost every YAML field can be edited in the GUI; YAML is merely the persistence format.
  • Opaque action payloads: QI does not interpret handler payloads, but if a handler registers a payload schema, the GUI generates a form with typed fields.
  • Sets are global: binding an item into a Set automatically updates the Set YAML, no separate save needed.
  • MiniMessage Lore: display names / Lore support full MiniMessage.
  • Single permission: qinhitems.editor is the one permission governing all editing features, with no fine-grained division.

Subpages