Package io.github.protasm.jvmud.engine
This package contains the concepts that belong to JVMud itself rather than to LPC, a specific mudlib, Telnet hosting, or compiler internals. The subpackages are organized around concrete engine responsibilities, while the Eight Pillars of MUD describe the properties those responsibilities must support: interactive, text-only, multiplayer, world-based, persistent, temporal, player-present games.
io.github.protasm.jvmud.engine.world owns the world-based model: World, WorldRuntime, Place, Entity, Link, and Location. Places are linked locations; entities are
contained by exactly one immediate location and may themselves contain other entities.
io.github.protasm.jvmud.engine.identity supports the multiplayer and player-present
pillars. PlayerRecord represents the human or
account-like controller, SessionRecord
represents a connection context, and PersonaRecord represents the player's in-world
manifestation.
Mudlib lifecycle hooks are represented by MudlibLifecycleEvent
and registered through MudlibBoundary. The hook event
names are JVMud-native; mudlibs map those events to their own LPC method names through boundary
configuration. MudlibBoundaryConfigReader reads that
boundary metadata from simple mudlib manifests. Mudlib behavior can be attached as an opaque
MudlibProjection, but that projection does not
define the engine ontology.
World time is deterministic by default. WorldScheduler
owns scheduled work in ticks, while WorldClock is the
wall-clock adapter that can advance a scheduler for a hosted world.
io.github.protasm.jvmud.engine.output keeps engine-owned text presentation separate
from server transport code and mudlib-authored prose. Persistence is currently represented by the
stable records in the world and identity packages; repository or storage-specific code can grow
into its own package when the engine needs it.
Compiler and LPC compatibility layers adapt into these engine concepts instead of replacing
them with legacy driver vocabulary. Generated-code support lives under
io.github.protasm.jvmud.compiler.runtime; Telnet hosting lives under
io.github.protasm.jvmud.instance and io.github.protasm.jvmud.transport; authored mudlib content lives in the repository's mudlib
source trees.