Перейти к основному содержимому

Party Menu

Open Party Menu

Entrée d'action qui ouvre le menu de groupe, piloté par le système de vues générique de GUIExtension ([MenuViewSupport]). Une seule entrée déclare tous ses écrans dans [views] : les frames en @view prennent le layout de la vue active et les slots taggés view:<id> sont câblés et surlignés par le socle. Les têtes de membres sont injectées au rendu, dans le panneau [contentX]/[contentY]. Avec [views] vide, le pool est lu à plat exactement comme avant.

Поля

ПолеТипПо умолчаниюОписание
inventoryTitleVar<String><dark_gray>GroupeTitle of the menu.ПлейсхолдерыЦвета
viewStringmembersÉcran affiché quand l'entrée ne déclare aucune vue. Ignoré dès que 'views' est renseigné.
inventoryRowsInt6Number of inventory rows (1-6).
guiTypeGuiTypeCUSTOMGUI type.
layoutPoolList<LayoutData>emptyPool of layout definitions (frame/simple/scrollable).
mainLayoutIdString?—ID of the main layout from the pool.
viewsList<MenuViewData>emptyÉcrans adressables de ce menu. Les frames en '@view' et les slots taggés 'view:<id>' se résolvent contre la vue active.
defaultViewIdString?—Vue ouverte en premier. Vide = la première vue déclarée.
memberListViewIdsList<String>emptyVues qui listent les membres du groupe. Aucun id n'est codé en dur : c'est la page qui les range ici.
joinListViewIdsList<String>emptyVues qui listent les invitations en attente du joueur (écran 'Rejoindre'), filtrées par la recherche en cours. Aucun id n'est codé en dur.
breadcrumbSeparatorStringDEFAULT_BREADCRUMB_SEPARATORSéparateur MiniMessage inséré entre les segments du fil d'Ariane par le token {breadcrumb}.Цвета
baseMenuIdString—Entrée open_gui servant de châssis partagé : son layoutPool et ses vues fusionnent sous les nôtres.
contentXInt5X origin of the content panel where member heads are injected (right side of a 4/1/4 frame).
contentYInt0Y origin of the content panel where member heads are injected.
contentColumnsInt4Number of columns available in the content panel for member heads.
contentRowsInt7Number of rows available in the content panel for member heads.
audioGuiAudioData—Audio configuration.
Общие поля TypeWriter (triggers, criteria, modifiers)
ПолеТипПо умолчаниюОписание
triggersList<Ref<TriggerableEntry>>empty—
criteriaList<Criteria>empty—
modifiersList<Modifier>empty—

How to use it​

One Party Menu entry carries every screen of the party interface. /party opens the first one found, or trigger it from another entry.

  1. Declare the screens in views (for example members and join). Frames with layoutId @view and slots tagged view:<id> follow the active screen. See Views, tabs and inheritance.
  2. Put the screens that list members in memberListViewIds, and the invitation screen in joinListViewIds. Other screens show no list.
  3. Set buttonType on items. PARTY_MEMBERS and PARTY_JOIN open screens, PAGE_NAV pages through a list. Other party buttons carry no action: add the command yourself.
  4. Place the head grid with contentX, contentY, contentColumns and contentRows.

Without views, the menu has a single screen chosen by view: members lists members, join lists invitations.

On the member screen the leader kicks a member with a left click. On the join screen, left click joins the party and right click declines. To let players filter invitations by leader name, give an item an input dialog running party joinsearch {input}.