Class MudlibBoundary.Builder
- Enclosing class:
MudlibBoundary
-
Method Summary
Modifier and TypeMethodDescriptionboundaryObjectPath(String boundaryObjectPath) Sets a mudlib object path for a general boundary adapter.build()Builds an immutable, normalized boundary declaration.compatibilityFunctionPredefine(String macroName, String argumentName, String replacementText) Declares an argument-specific function-like preprocessor compatibility replacement.compatibilityGlobalObjectPath(String compatibilityGlobalObjectPath) Sets the JVMud compatibility global function object path.compatibilityGlobalObjectSourcePath(Path compatibilityGlobalObjectSourcePath) Sets the filesystem source for the JVMud compatibility global function object.compatibilityGlobalOverride(String functionName) Adds a function for which the compatibility object should override the mudlib global.compatibilityPredefine(String macroName, String replacementText) Declares a compile-time compatibility predefine for this mudlib profile.connectedBanner(String connectedBanner) Sets optional text emitted when a transport session first attaches.databaseJdbcUrl(String databaseJdbcUrl) Sets the JDBC URL used by JVMud-native database efuns.databasePassword(String databasePassword) Sets the JDBC password used by JVMud-native database efuns.databaseUser(String databaseUser) Sets the JDBC user used by JVMud-native database efuns.engineCapability(EngineCapability capability) Grants a host-resource capability to this mudlib profile.engineFunction(String engineName, String mudlibName) Maps a JVMud-native engine function name to a mudlib-visible function spelling.Sets a stable game id.Sets a display name for the game.handle(MudlibLifecycleEvent event) Declares interest in a lifecycle event without naming a specific method.includePath(String includePath) Adds an include search path relative to the active mudlib root.initialPlacePath(String initialPlacePath) Sets the starting place object path for new Personas.languageFeature(LanguageFeature feature) Enables an optional LPC syntax family for this mudlib profile.lifecycleMethod(MudlibLifecycleEvent event, String methodName) Maps a lifecycle event to a mudlib method name.locationDiagnosticCommand(String locationDiagnosticCommand) Sets an optional host diagnostic command for displaying the current location id.maxLineLength(int maxLineLength) Sets the maximum output line length before whitespace wrapping is attempted.mfunObjectPath(String mfunObjectPath) Sets the mudlib-owned global mfun object path.mountedMudlib(String gameId, String configPath) Declares another mudlib configuration to mount under its stable game id.mudlibGlobalObjectPath(String mudlibGlobalObjectPath) Sets the mudlib-owned global function object path.mudlibGlobalObjectSourcePath(Path mudlibGlobalObjectSourcePath) Sets the filesystem source for the mudlib-owned global mfun object.mudlibRootPath(Path mudlibRootPath) Sets the filesystem root used to resolve mudlib-absolute LPC paths.playerObjectPath(String playerObjectPath) Sets the LPC player object path used when binding interactive sessions.playerPrompt(String playerPrompt) Sets the prompt text shown when an interactive player can enter commands.preloadFilePath(String preloadFilePath) Sets the mudlib-relative file that lists startup preload objects.preloadObjectPath(String preloadObjectPath) Adds a startup preload object path.sessionPolicy(String sessionPolicy) Selects an explicit host session-policy adapter.showRuler(boolean showRuler) Sets whether command prompts should be preceded by a visual line-length ruler.temporalTickInterval(Duration temporalTickInterval) Sets the wall-clock interval for one world tick.temporalTickIntervalSeconds(int temporalTickIntervalSeconds) Sets the wall-clock interval for one world tick in whole seconds.temporalTickMethod(String temporalTickMethod) Sets the mudlib method to invoke for deterministic temporal ticks.transportControlPrefix(String transportControlPrefix) Sets the escaped prefix reserved for transport-level commands.
-
Method Details
-
gameId
Sets a stable game id. Blank values are treated as absent. -
gameName
Sets a display name for the game. Blank values are treated as absent. -
mudlibRootPath
Sets the filesystem root used to resolve mudlib-absolute LPC paths. -
boundaryObjectPath
Sets a mudlib object path for a general boundary adapter. -
mudlibGlobalObjectPath
Sets the mudlib-owned global function object path. -
mudlibGlobalObjectSourcePath
Sets the filesystem source for the mudlib-owned global mfun object. -
compatibilityGlobalObjectPath
Sets the JVMud compatibility global function object path. -
compatibilityGlobalObjectSourcePath
public MudlibBoundary.Builder compatibilityGlobalObjectSourcePath(Path compatibilityGlobalObjectSourcePath) Sets the filesystem source for the JVMud compatibility global function object. -
compatibilityGlobalOverride
Adds a function for which the compatibility object should override the mudlib global. -
mfunObjectPath
Sets the mudlib-owned global mfun object path. -
playerObjectPath
Sets the LPC player object path used when binding interactive sessions. -
sessionPolicy
Selects an explicit host session-policy adapter. -
playerPrompt
Sets the prompt text shown when an interactive player can enter commands. -
connectedBanner
Sets optional text emitted when a transport session first attaches. -
transportControlPrefix
Sets the escaped prefix reserved for transport-level commands. -
locationDiagnosticCommand
Sets an optional host diagnostic command for displaying the current location id. -
maxLineLength
Sets the maximum output line length before whitespace wrapping is attempted. -
showRuler
Sets whether command prompts should be preceded by a visual line-length ruler. -
initialPlacePath
Sets the starting place object path for new Personas. -
preloadFilePath
Sets the mudlib-relative file that lists startup preload objects. -
preloadObjectPath
Adds a startup preload object path. -
includePath
Adds an include search path relative to the active mudlib root. -
databaseJdbcUrl
Sets the JDBC URL used by JVMud-native database efuns. -
databaseUser
Sets the JDBC user used by JVMud-native database efuns. -
databasePassword
Sets the JDBC password used by JVMud-native database efuns. -
languageFeature
Enables an optional LPC syntax family for this mudlib profile. -
engineCapability
Grants a host-resource capability to this mudlib profile. -
temporalTickMethod
Sets the mudlib method to invoke for deterministic temporal ticks. -
temporalTickInterval
Sets the wall-clock interval for one world tick. -
temporalTickIntervalSeconds
Sets the wall-clock interval for one world tick in whole seconds. -
handle
Declares interest in a lifecycle event without naming a specific method.This records boundary intent and makes
MudlibBoundary.handles(MudlibLifecycleEvent)return true, but it does not by itself give JVMud a method to invoke. UselifecycleMethod(MudlibLifecycleEvent, String)for hooks that should actually call into LPC code.- Parameters:
event- lifecycle event the mudlib understands- Returns:
- this builder
- Throws:
NullPointerException- ifeventisnull
-
lifecycleMethod
Maps a lifecycle event to a mudlib method name.The event remains JVMud-native while the method name is mudlib-specific. Blank method names remove any existing mapping. Nonblank names also mark the event as handled so
MudlibBoundary.handles(MudlibLifecycleEvent)remains true.- Parameters:
event- lifecycle event to mapmethodName- mudlib method name to invoke for the event- Returns:
- this builder
- Throws:
NullPointerException- ifeventisnull
-
engineFunction
Maps a JVMud-native engine function name to a mudlib-visible function spelling. -
mountedMudlib
Declares another mudlib configuration to mount under its stable game id. -
compatibilityPredefine
Declares a compile-time compatibility predefine for this mudlib profile.The replacement text is passed to the LPC preprocessor as source text. String-valued macros should therefore include their LPC quotes, for example
"\"3.6.3\"".- Parameters:
macroName- predefined macro name exposed to mudlib sourcereplacementText- replacement source text for the macro- Returns:
- this builder
- Throws:
IllegalArgumentException- ifmacroNameis blank
-
compatibilityFunctionPredefine
public MudlibBoundary.Builder compatibilityFunctionPredefine(String macroName, String argumentName, String replacementText) Declares an argument-specific function-like preprocessor compatibility replacement.For a configured macro
PROBEand argumentfeature, the preprocessor can replacePROBE(feature)with the supplied replacement source text. JVMud treats the macro name and argument as mudlib-boundary data, not as engine-native LPC vocabulary.- Parameters:
macroName- function-like macro name exposed to mudlib sourceargumentName- first argument spelling that should matchreplacementText- replacement source text for that call- Returns:
- this builder
- Throws:
IllegalArgumentException- ifmacroNameorargumentNameis blank
-
build
Builds an immutable, normalized boundary declaration.
-