[NodeMod Core]
/ .. / default
Class: default
Defined in: src/core/msg.ts:238
Message system for handling network communication between server and clients. Provides an event-driven interface for intercepting and sending game messages.
Example
// Listen for a specific message
nodemodCore.msg.on('ShowMenu', (state) => {
console.log('Menu message intercepted\:', state);
});
// Send a message to all clients
nodemodCore.msg.send({
type\: 'TextMsg',
data\: [
{ type\: 'byte', value\: 4 }, // HUD_PRINTCENTER
{ type\: 'string', value\: 'Welcome to the server!' }
]
});
// Send a message to specific player
nodemodCore.msg.send({
type\: 'ShowMenu',
entity\: player,
data\: [
{ type\: 'short', value\: 1023 },
{ type\: 'char', value\: 30 },
{ type\: 'byte', value\: false },
{ type\: 'string', value\: 'Menu text here' }
]
});
Extends
EventEmitter
Constructors
Constructor
new default(
utilService
):NodemodMsg
Defined in: src/core/msg.ts:251
Creates a new NodemodMsg instance.
Parameters
utilService
Optional utility service (can be injected later)
null
| default
Returns
NodemodMsg
Overrides
EventEmitter.constructor
Properties
util
private
util:null
|default
Defined in: src/core/msg.ts:240
Utility service for entity operations
state
private
state:null
|MessageState
Defined in: src/core/msg.ts:242
Current message processing state
registeredEventTypes
private
registeredEventTypes:object
Defined in: src/core/msg.ts:244
Map of registered user message types
Index Signature
[key
: string
]: string
writers
private
writers:object
Defined in: src/core/msg.ts:320
Index Signature
[key
: string
]: (value
) => void
Methods
setUtilService()
setUtilService(
utilService
):void
Defined in: src/core/msg.ts:269
Sets the utility service after construction. Used for dependency injection when service isn't available during construction.
Parameters
utilService
The utility service instance
Returns
void
initializeEventHandlers()
private
initializeEventHandlers():void
Defined in: src/core/msg.ts:273
Returns
void
writeValue()
private
writeValue(value
,type
):void
Defined in: src/core/msg.ts:331
Parameters
value
any
type
"string"
| "byte"
| "char"
| "short"
| "long"
| "angle"
| "coord"
| "entity"
Returns
void
register()
register(
eventName
,size
):number
Defined in: src/core/msg.ts:349
Registers a new user message type with the engine.
Parameters
eventName
string
Name of the message type
size
number
= -1
Maximum size of the message (-1 for variable size)
Returns
number
Message type ID, or MsgTypes.bad if registration failed
getUserMsgId()
getUserMsgId(
name
,size
):number
Defined in: src/core/msg.ts:367
Gets the message ID for a user message, registering it if necessary.
Parameters
name
string
Message name
size
number
= -1
Message size (-1 for variable)
Returns
number
Message ID
send()
send(
options
):void
Defined in: src/core/msg.ts:402
Sends a message to clients.
Parameters
options
Message sending options
Returns
void
Example
// Send text message to all clients
nodemodCore.msg.send({
type\: 'TextMsg',
dest\: MsgDest.all,
data\: [
{ type\: 'byte', value\: 4 }, // HUD_PRINTCENTER
{ type\: 'string', value\: 'Server announcement!' }
]
});
// Send menu to specific player
nodemodCore.msg.send({
type\: 'ShowMenu',
entity\: player,
data\: [
{ type\: 'short', value\: 511 }, // key mask
{ type\: 'char', value\: 30 }, // display time
{ type\: 'byte', value\: false }, // multi-part
{ type\: 'string', value\: '1. Option 1\n2. Option 2' }
]
});