Table of Contents

Creation Law

Otherwise known as the builder's handbook. Where immortals learn how to create rooms, objects, mobiles, items, zones, and shops in the living world of Nilgiri — using only the commands the Java server actually implements.

Neo-Nilgiri has no classic Diku redit / oedit / medit / zedit. Builders work in a personal @ workspace, then spawn and reset with immortal utilities. Topic pages below carry the full field lists, walkthroughs, and <code mud> sessions.

Who may create

Creation uses the creator command set (@new, @room, @item, @npc, @zone, …) gated by Immortality.creatorCheck, plus immortal utilities (goto, load / create, purge, index, zone, approve, …). Builders are limited to room / npc / item VID ranges on their immortality record; implementors assign ranges with assign.

Levels: mortal L0L30, then IMMORTAL, DEITY, IMPLEMENTOR.

The workspace model

Open a prototype with @new, edit typed field commands, @examine, @wrap long text, then @save — or @clear to abandon. One open draft of each workspace kind at a time.

> @new room 1200
Okay.
> @room proper
(enter one-line title, then finish the writer)
> @room general
(enter multi-line description in the writer)
> @examine room
--- Room ---
...
> @save room
Okay.
>

Workspace types: help, wizhelp, social, message, item, item_descr, item_stats, npc, npc_descr, npc_stats, room, zone, shop, spell. @load <type> <id> copies an existing prototype into the workspace; @destroy <type> <id> deletes a saved one (with “in use” guards).

Finding free vnums and getting around

@find unused VIDs; index searches prototypes and procs; goto teleports; stat inspects.

> @find room
> @find room 3
> index room midgaard
> goto 3001
>

Spawning and testing

Immortals spawn with load / create, remove with purge, and exercise zone resets with zone reset. create is stricter than load (ranges and maximum rules).

Persistence and inventory

Prototypes and SpecProcs live in the world H2 database; immortality ranges in the players DB. Automatic saves run on a long real-time cadence (SaveEvent); shutdown also saves. Workspace drafts exist only in memory until @save. There is no separate “ola” / “asave” — @save <type> commits the open draft. The immortal save command is an implementor DB utility, not the builder workspace save.

The same workspace pattern covers @social, @help, @wizhelp, @message, @spell, and @random (inventoried so builders know they share @new / @save; spell timing fields live under @spell). Shops have their own topic page.

Rooms

Create rooms, set sector/flags, wire exits, and @dig linked copies.

Objects

Neo builds object prototypes with item commands (@item_descr / @item_stats / @item) — there is no separate @object verb and no oedit.

Items

Once a prototype exists: ItemType, wear/flags/affects, modifiers, values, weight, spawn testing, and maximum caps.

Mobiles

Three-layer npc_descr / npc_stats / npc, then place via zone resets.

Zones

Lifespan, reset command lists, weather affiliation, zone reset|clear, @rezone, approve.

Shops

Shop workspace on an existing mobile VID: room, produces, trades, hours, keeper messages; needs Acts.SHOPKEEPER and zone placement.

Caveats that span types