Package io.github.protasm.jvmud.execution.model


package io.github.protasm.jvmud.execution.model
World, identity, time, and mudlib contracts shared by running instances.

The model defines game state and its rules independently of application startup, worker process supervision, and connection mechanics. Instances assemble these concepts with executable mudlib behavior.

io.github.protasm.jvmud.execution.model.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.execution.model.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 standalone wall-clock adapter. Hosted mudlibs own their clock through their instance execution queue so ticks and commands cannot run concurrently.