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

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

Parameters

client

Entity

state

MenuState

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

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

Parameters

Menu

client

Entity

state

MenuState

page

number

Returns

void

buildMenuDisplay()

private buildMenuDisplay(menu, page): object

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

Parameters

Menu

page

number

Returns

object

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

Entity

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