Skip to content

Visual Editor Overview

In: Visual Editor · Subpages: Visual Building · Mechanism Editing

Related: Blueprints & Objectives · Selection & Saving · Mechanism System · Command Reference


QR ships a full in-game visual editor: stand in the world, click on blocks, and you can mark a ruin's spawn points, chests, core, and mechanisms, then save it all to blueprint.yml in one keystroke — without hand-writing a single line of YAML.

It solves the most error-prone part of Blueprints & Objectivescomputing relative coordinates. When hand-writing a blueprint, the x / y / z of every point has to be measured relative to the structure origin (the structure's minimum corner = 0,0,0), and being even one block off makes mobs spawn inside walls or chests buried in the ground. The editor lets you left-click the real blocks in the world, and it converts world coordinates into coordinates relative to the structure origin for you, writing them into the blueprint.

🖼️ [Image placeholder] A live shot of an admin holding the "marker pen", clicking out spawn points / chests on a ruin's blocks · suggested assets/editor-overview.png


1. How it relates to hand-written YAML

Fully equivalent, freely mixable. The editor reads and writes the very same templates/<templateId>/blueprint.yml file:

  • When you enter editing with /qr editor start, it reads the entire contents of the existing blueprint.yml into the edit session (existing spawn points / chests / core / mechanisms are all there), and you continue editing from there.
  • On /qr editor save, the session contents are written back in full to blueprint.yml (serialized by BlueprintWriter), then the relevant registries are hot-reloaded.
  • You can also hand-write half the YAML and add points with the editor, or mark out points with the editor and then fine-tune the YAML by hand. Both approaches target the same file and don't conflict.

For the meaning of every blueprint field see Blueprints & Objectives, and for mechanism fields see Mechanism System — this set of docs only covers "how to click it out in-game".

Caution

save overwrites blueprint.yml with the entire contents of the current edit session. If you manually edited the same file on disk during editing, the editor's save will overwrite your hand edits. Either go pure hand-written or pure editor — don't edit from both ends within the same editing pass on the same ruin.


2. The overall workflow

Getting a ruin from a structure file to playable splits into two stages: first enclose the structure and save it as a template, then enter the editor and mark the gameplay.

text
① Select the structure (see Selection & Saving)
   /qr pos1 + /qr pos2  → enclose the ruin's block body
   /qr save <templateId> → save out the structure file + generate the template skeleton


② Visually mark the gameplay (this set of docs)
   /qr editor start <templateId>
        │  Automatically places a "reference ruin" at your feet to mark against (reuses a nearby one within 128 blocks if present)
        │  Your inventory is temporarily stashed and replaced with a row of "editing tools"

   Right-click a tool to switch to the "spawn point / chest / core / mechanism" sub-editor


   Left-click a block in the world = place a marker at that block (coordinates auto-converted relative to the structure origin)


   /qr editor save (or right-click the "Save" tool)
        → write back to templates/<templateId>/blueprint.yml + hot-reload, your inventory is returned

Stage ① (pos1 / pos2 / save / structure origin) falls under "building the ruin"; see Selection & Saving. This set of docs starts after /qr editor start.


3. What happens when you enter the editor

After running /qr editor start <templateId>:

  1. Find a reference ruin: looks for an existing anchor of that template within 128 blocks of you; if none is found, it automatically generates one at your feet as a reference ruin to mark against (you can clear it with /qr remove <id> when done). All relative coordinates of markers are computed relative to this reference ruin's anchor position.
  2. Stash your inventory, hand out editing tools: your inventory contents are temporarily stored and replaced with a row of editing tools (see "Editing Tools" below). When you leave editing (save or cancel) they are returned as-is.
  3. Enter the main menu: by default you're on the "main menu" screen, the inventory is the menu, and right-clicking a tool enters each sub-editor.

While editing, dropping items and swapping the offhand are blocked, and quitting the game automatically ends editing (without saving). These all protect your real inventory from getting mixed up with the editing tools.


4. Two ways to operate: inventory menu vs. commands

The editor has two equivalent entry points doing the same thing; mix them as you like:

ApproachHowBest for
Inventory menu (recommended)Right-click a tool to switch screens / adjust params, left-click a block to place a marker, open a GUI panel to delete markers / configure mechanismsMarking as you walk, WYSIWYG
Commands`/qr editor modeset

Both share the same edit session — switching to the "spawn point" screen via the menu is equivalent to /qr editor mode spawn; the default count changed by /qr editor set count 3 also shows in sync on the count tool in the menu.


5. Command tree at a glance

All commands require the permission qinhruins.admin, and only mean something in-game and after you've started editing (list / remove / mech / set / mode / save / cancel all require you to be in editing).

CommandEffectSee
/qr editor start <templateId>Enter editing: place a reference ruin, stash inventory, hand out toolsVisual Building §1
/qr editor mode <spawn|chest|core>Switch placement mode (decides which marker left-click places)Visual Building §2
/qr editor set <field> <value>Set the current default; field = mob / count / stage / loot / unlockVisual Building §3
/qr editor mech <subcommand...>Mechanism building (new / trigger / action / flag / done …)Mechanism Editing
/qr editor listList the spawn points / chests / mechanisms / cores marked in the current sessionVisual Building §5
/qr editor remove <id>Delete a given marker (e.g. sp1 / c1 / core1 / a mechanism id)Visual Building §5
/qr editor saveWrite back to blueprint.yml + hot-reload + return inventoryVisual Building §6
/qr editor cancelDiscard editing (no write) + return inventoryVisual Building §6

Note: the "mechanism" sub-editor is reachable from the menu, but the mode command only exposes the three values spawn / chest / core — mechanisms go through the /qr editor mech subcommand or the menu's mechanism panel; see Mechanism Editing.


6. Editing tools (inventory menu)

After start, your inventory is replaced with a row of specially-marked "editing tools" (they carry an NBT marker from CoreLib, are not real items, and are reclaimed on exit).

ToolMaterialRight-click effect
Spawn Point EditingZombie HeadEnter the "spawn point" sub-editor
Chest EditingChestEnter the "chest" sub-editor
Ruin Core EditingLodestoneEnter the "core" sub-editor
Mechanism EditingRedstoneEnter the "mechanism" sub-editor
Marker Overview / DeleteBookOpen the 54-slot list GUI; click an entry to delete
Save and ExitNether StarWrite to disk + return inventory (= /qr editor save)
Discard and ExitBarrierExit without saving (= /qr editor cancel)

Sub-editor screens (each its own row of tools)

After entering any sub-editor, slot 0 is always the "marker pen" (Blaze Rod) — left-click a block to place the current mode's marker at that block; the other slots are that mode's parameter tools (mob / count / stage / loot table / unlock stage / mechanism panel), and slot 8 is "↩ Back to main menu". For what each mode marks and how to adjust the params, see Visual Building.

Two GUI panels

  • Marker overview (54-slot chest interface): lists all marked spawn points / chests / cores / mechanisms; click any entry to delete it, and the bottom-right "Back to editing" closes it.
  • Mechanism panel (27-slot chest interface): visually pick a trigger, add actions, finish the mechanism; see Mechanism Editing.

Chat input: mob IDs, loot table names, mechanism material / text / command, and other free text — after clicking the corresponding tool, the editor closes the inventory and prompts you to type in chat; type 取消 (or cancel) to abort. Driven by ChatInputService.


Next