[NodeMod Core]
/ .. / default
Class: default
Defined in: src/core/menu.ts:283
Menu system manager for handling interactive menus in the nodemod plugin system. Supports pagination, navigation, timeouts, and both client-specific and global menus.
Example
// Show a menu to all players
nodemodCore.menu.show({
title\: 'Admin Menu',
items\: [
{ name\: 'Kick Player', handler\: handleKick },
{ name\: 'Change Map', handler\: handleMapChange }
]
});
// Show a menu to a specific player
nodemodCore.menu.show({
title\: 'Player Options',
entity\: specificPlayer,
items\: [
{ name\: 'View Stats', handler\: showStats }
]
});
Constructors
Constructor
new default(
msgService
,utilService
):NodemodMenu
Defined in: src/core/menu.ts:299
Creates a new NodemodMenu instance.
Parameters
msgService
Message service for sending menu displays
utilService
Utility service
Returns
NodemodMenu
Properties
menuStates
private
menuStates:MenuStateMap
={}
Defined in: src/core/menu.ts:285
Map of active menu states by client index or 'all'
msg
private
msg:default
Defined in: src/core/menu.ts:287
Message service for sending menu data
util
private
util:default
Defined in: src/core/menu.ts:289
Utility service
ITEMS_PER_PAGE
private
readonly
ITEMS_PER_PAGE:7
=7
Defined in: src/core/menu.ts:291
Maximum items per page (leaves slots for navigation)
Menu
static
Menu: typeofMenu
Defined in: src/core/menu.ts:587
Export Menu class for external use
Methods
initializeEventHandlers()
private
initializeEventHandlers():void
Defined in: src/core/menu.ts:308
Initializes event handlers for menu interactions.
Returns
void
handleMenuCommand()
private
handleMenuCommand(client
,text
):void
Defined in: src/core/menu.ts:320
Handles menu selection commands from clients.
Parameters
client
The client entity that sent the command
text
string
The command text containing menu selection
Returns
void
handleBackExit()
private
handleBackExit(client
,state
):void
Defined in: src/core/menu.ts:356
Parameters
client
state
Returns
void
handlePrevPage()
private
handlePrevPage(client
,state
):void
Defined in: src/core/menu.ts:368
Parameters
client
state
Returns
void
handleNextPage()
private
handleNextPage(client
,state
):void
Defined in: src/core/menu.ts:375
Parameters
client
state
Returns
void
handleItemSelection()
private
handleItemSelection(client
,state
,selection
):void
Defined in: src/core/menu.ts:383
Parameters
client
state
selection
number
Returns
void
cleanupMenuState()
private
cleanupMenuState(client
,state
):void
Defined in: src/core/menu.ts:415
Parameters
client
state
Returns
void
show()
show(
options
):void
Defined in: src/core/menu.ts:454
Displays a menu to players. Can show to all players or a specific entity.
Parameters
options
Menu configuration or Menu instance
Returns
void
Example
// Show to all players
nodemodCore.menu.show({
title\: 'Server Menu',
items\: [
{ name\: 'Option 1', handler\: (client) => console.log('Selected 1') }
]
});
// Show to specific player
nodemodCore.menu.show({
title\: 'Personal Menu',
entity\: player,
time\: 30, // Auto-close after 30 seconds
items\: [
{ name\: 'View Profile', handler\: showProfile }
]
});
showMenuInternal()
private
showMenuInternal(menu
,client
,state
,page
):void
Defined in: src/core/menu.ts:473
Parameters
menu
client
state
page
number
Returns
void
buildMenuDisplay()
private
buildMenuDisplay(menu
,page
):object
Defined in: src/core/menu.ts:504
Parameters
menu
page
number
Returns
object
menuText
menuText:
string
keyMask
keyMask:
number
closeMenu()
closeMenu(
client
):void
Defined in: src/core/menu.ts:565
Closes the menu for a specific client.
Parameters
client
The client to close the menu for
Returns
void
closeAllMenus()
closeAllMenus():
void
Defined in: src/core/menu.ts:576
Closes all active menus and clears all menu states.
Returns
void