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.compatibilityPredefine(String macroName, String replacementText) Declares a compile-time compatibility predefine for this mudlib profile.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.engineFunction(String mudlibName, String engineName) Maps a mudlib-visible function spelling to a JVMud-native engine function name.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.initialPlacePath(String initialPlacePath) Sets the starting place object path for new Personas.lifecycleMethod(MudlibLifecycleEvent event, String methodName) Maps a lifecycle event to a mudlib method name.maxLineLength(int maxLineLength) Sets the maximum output line length before whitespace wrapping is attempted.mfunObjectPath(String mfunObjectPath) Deprecated.mudlibGlobalObjectPath(String mudlibGlobalObjectPath) Sets the mudlib-owned global function object path.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.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.
-
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. -
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. -
mfunObjectPath
Deprecated.Sets a mudlib object path for legacy mfun/efun adapter behavior. -
playerObjectPath
Sets the LPC player object path used when binding interactive sessions. -
playerPrompt
Sets the prompt text shown when an interactive player can enter commands. -
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. -
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. -
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 mudlib-visible function spelling to a JVMud-native engine function name. -
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.
-
compatibilityGlobalObjectPath(String).