Skip to main content

[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​

default

Message service for sending menu displays

utilService​

default

Utility service

Returns​

NodemodMenu

Properties​

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)

static Menu: typeof Menu

Defined in: src/core/menu.ts:618

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​

Entity

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​

Entity

state​

MenuState

Returns​

void

handlePrevPage()​

private handlePrevPage(client, state): void

Defined in: src/core/menu.ts:368

Parameters​

client​

Entity

state​

MenuState

Returns​

void

handleNextPage()​

private handleNextPage(client, state): void

Defined in: src/core/menu.ts:375

Parameters​

client​

Entity

state​

MenuState

Returns​

void

handleItemSelection()​

private handleItemSelection(client, state, selection): void

Defined in: src/core/menu.ts:383

Parameters​

client​

Entity

state​

MenuState

selection​

number

Returns​

void

cleanupMenuState()​

private cleanupMenuState(client, state): void

Defined in: src/core/menu.ts:437

Parameters​

client​

Entity

state​

MenuState

Returns​

void

show()​

show(options): void

Defined in: src/core/menu.ts:478

Displays a menu to players. Can show to all players or a specific entity.

Parameters​

options​

Menu configuration or Menu instance

Menu | MenuOptions

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:498

Parameters​

Menu

client​

Entity

state​

MenuState

page​

number

Returns​

void

buildMenuDisplay()​

private buildMenuDisplay(menu, page): object

Defined in: src/core/menu.ts:529

Parameters​

Menu

page​

number

Returns​

object

menuText: string

keyMask​

keyMask: number

closeMenu()​

closeMenu(client): void

Defined in: src/core/menu.ts:596

Closes the menu for a specific client.

Parameters​

client​

Entity

The client to close the menu for

Returns​

void

closeAllMenus()​

closeAllMenus(): void

Defined in: src/core/menu.ts:607

Closes all active menus and clears all menu states.

Returns​

void