Appearance
In-game editor
The editor runs inside the client. Log in as an admin (the owner counts: see claiming a world), enter the world and press F2, or type /edit. If neither does anything, the editor extension is not enabled on that world: worlds created before it existed do not have it. As the owner type /extensions to see what is on, then /extensions enable editor scripts and restart the server (/stop, then start it again), or start the server once with --enable editor,scripts, which adds them to the world for good. A panel opens on the right with six tabs: Map, NPCs, Quests, Items, Monsters and Scripts. Everything you save goes through the server, which checks it, writes it to the world's content folder and reloads it live, so other players see the change at once.
Files land in worlds/<name>/content/<kind>/<name>.json (scripts: .run). That is the host layer: it overrides shipped content with the same id and survives updates of the game and its extensions. Deleting from the editor removes only these files; shipped content comes back. The folder is served to clients as the host-content pack (its hash is in the manifest), so players who join see the same quests, items and NPCs the server runs; players already in the world receive each saved definition as it is saved.
The basics
While the editor is open you are in god mode: nothing can hurt you, monsters ignore you (and give up on you if they were chasing), you are healed to full, and you walk through walls and water. Closing the editor ends it and puts you back on open ground.
Everything is chosen by picture: ground, tiles, props, sprites, portraits, items and monsters come from searchable grids. Type in the search box to narrow a grid; the drop-down next to it picks one category (a prop set, an icon set). The name of what you chose shows underneath.
New things are named, not numbered: type a name and the editor makes the id it is saved under (
host:wolf_pelt). Change the "Saved as" box only if you want a different id.Hover over any button for a tip. The line under the Map tools always says what the left and right mouse buttons do with the current tool.
Fields the form does not show (anything another extension added to a definition) are kept when you save.
Map
Edits the zone you stand in, with a live preview. The mouse wheel zooms. Pick a tool with its button or the number keys:
| Key | Tool | Left button | Right button |
|---|---|---|---|
| 1 | Select | select what is under the cursor (an NPC, start point, prop, door or monster area); drag to move it | |
| 2 | Ground | paint the chosen ground (brush 1, 3, 5, 7 or Fill) | take it away again |
| 3 | Tiles | stamp the one tile chosen from a tileset | remove a stamped tile |
| 4 | Props | place the chosen prop (a see-through copy follows the cursor) | remove the prop under the cursor |
| 5 | Walls | block walking on a tile (Shift: force it open) | back to what the ground and props say |
| 6 | Start points | put the named start point here | remove a named start point |
| 7 | Doors | drag a rectangle that takes players to the chosen zone and start point | remove a door |
| 8 | Monsters | drag a rectangle where the chosen monster roams | remove an area |
| 9 | NPCs | click an empty tile to make a new NPC there, or an NPC to edit it |
With something selected, its settings appear under the tools: a prop's "Blocks walking", "Blocks (tiles)" (how wide and deep its solid base is; big trees and buildings come with one, shown in red while you place and select them) and "Flat" (drawn under feet), a door's destination and size, a monster area's monster count, respawn time and size, an NPC's "Edit NPC" button. Delete removes the selection and Esc clears it. The bottom line names what is under the cursor (tile, NPC, prop, door, monster area, blocked).
Ground. The swatches are the ground types this zone already paints with, each shown as a tile. "Add a ground type" lists every terrain in the style pack ("Dirt on grass", "Snow on grass"); the one you pick starts empty and paints over the grounds already there. "Blocks walking" decides whether players and monsters can cross it (it is ticked for water, walls, cliffs and lava when you add them). "Draw higher" and "Draw lower" change which ground covers which. Under the hood each ground is a terrain layer of the library's Wang-corner tilesets (see Content format).
Doors and start points. A door leads to a start point of another zone; choose both before dragging. "default" is where new characters and visitors without a target appear; every zone keeps one (it can be moved, not removed). A start point inside a wall turns red.
Monster areas and NPCs save at once. Drawing, moving or removing a monster area saves it and respawns its monsters; dragging an NPC saves its new place. Removing an area the game shipped switches it off (count 0), since shipped content can be overridden but not deleted.
Zone changes are kept until you press Save (Ctrl+S); the footer says "Unsaved changes" until then. Ctrl+Z undoes, Ctrl+Shift+Z or Ctrl+Y redoes, Revert reloads the saved zone. Save checks the zone (row sizes, things outside the map, doors to unknown zones, a start point in a wall are reported by line), rebuilds it for everyone in it and moves anyone now standing in a wall. "New zone" makes an empty zone from a name, a size and the ground it starts with, saves it as host:<name> and takes you there; Go walks you into any zone. "Zone settings" holds the name, the size (Resize keeps the top-left corner and drops what falls outside) and the grid and wall overlays.
NPCs
Name, title, sprite and portrait (by picture; a customisable body also gets the look controls: skin, hair and beard, dyes, outfit and helmet), where it stands ("Use my tile" takes yours, "Pick on map" the next tile you click on the map), which way it faces, its shop and its conversation. Shop items are chosen by picture and start at the item's value. The conversation is a graph: each box is something the NPC says, with the answers the player can pick underneath. Drag from an answer's dot on the right to the box it leads to, or choose what it does: end the conversation, open the shop, offer one of the world's quests, or a custom action (an extension's action or emit:<owner>:<event>). "Starts at" is the first box. Saving respawns the NPC from the new definition.
Quests
Who gives it and who takes it back (NPCs by picture), the level it needs, the quests that must be done first, the objectives (defeat a monster, collect an item, talk to an NPC, go to a zone, each target chosen by picture; "take" removes collected items at turn-in), the rewards (experience, gold, items by picture) and what the NPC says when offering, accepting, checking progress and handing in. Check looks for problems without saving.
Items
Name, picture (the style pack's item icons, plus props for furniture), kind, price, stack size, rarity, whether it can be traded, and a description. What it does follows the kind: weapons, armor and accessories get a slot and attack, defense and health bonuses (weapons can be ranged); consumables and food heal; furniture names the prop it places in a home.
Monsters
Name, sprite, level, health, attack, defense, speed, how close a player must come before it attacks, experience and description, and its loot: each line is an item (by picture), a drop chance and an amount, rolled on its own. "Where it roams" lists its areas; "Place on map" opens the Map's Monsters tool with it chosen. Saving respawns the areas it lives in.
Scripts
The world's .run scripts in a code box (see Run Script). Check compiles on the server and reports problems by line without saving; Save writes the file and recompiles every script. New starts from a small when login template.
Sharing what you made
Export pack (top of the editor) turns everything this world made in the editor (its zones, NPCs, quests, items, monsters, monster areas and scripts) into a content pack other worlds can add. Give it a name; the id and version fill in. The pack is written on the host's machine to worlds/<name>/exports/ as a folder and a .pck. The editor's host: ids become the pack's own (ruins-of-oak:old_mill), and every quest, conversation and script that mentions them follows. Things that changed shipped content (an edited Meadow) stay changes to that content. The pack lists the extensions it needs (NPCs, quests, monsters...).
To use it in another world, copy the folder into that world's packs/ folder and restart the server, or share the .pck (Run Market will take content packs too). Packs can also carry their own art; see Content packs.