Zum Hauptinhalt springen

Discovery Codex Category

Defines a discovery codex category

Manifest entry defining a discovery category and its menu layout.

Felder

FeldTypStandardBeschreibung
categoryString—Unique identifier for this discovery category
titleString—Title displayed at the top of the inventoryPlatzhalter
rowsInt6Number of rows for the inventory (1-6)
orderInt0Display order when listing categories
iconItem—Icon used when referencing this category
iconNameString?—Optional custom name for the icon when displayed in menus. Placeholders: {unlocked}, {locked}, {total}, {percent}Platzhalter
iconLoreList<String>emptyOptional lore lines for the icon when displayed in menus. Placeholders: {unlocked}, {locked}, {total}, {percent}PlatzhalterMehrzeilig
lockedIconLoreList<String>emptyLore to display for the icon when the category is locked. Placeholders: {unlocked}, {locked}, {total}, {percent}PlatzhalterMehrzeilig
backgroundItem?—Optional background filler item
itemSlotRangeString—Range of slots where discovery items will be displayed (e.g. '1-25')
startSlotInt0Slot index where items start (0-based)
fillByRowBooleantrueIf true, items fill row by row; otherwise column by column
previousButtonItem?—Item used for the previous page button
previousButtonSlotInt0Slot for the previous page button
previousButtonNameString?—Custom name for the previous page button. Placeholders: {page}, {max_page}, {unlocked}, {locked}, {total}, {percent}Platzhalter
previousButtonLoreList<String>emptyLore for the previous page button. Placeholders: {page}, {max_page}, {unlocked}, {locked}, {total}, {percent}PlatzhalterMehrzeilig
nextButtonItem?—Item used for the next page button
nextButtonSlotInt8Slot for the next page button
nextButtonNameString?—Custom name for the next page button. Placeholders: {page}, {max_page}, {unlocked}, {locked}, {total}, {percent}Platzhalter
nextButtonLoreList<String>emptyLore for the next page button. Placeholders: {page}, {max_page}, {unlocked}, {locked}, {total}, {percent}PlatzhalterMehrzeilig
backButtonItem?—Item used for the back button
backButtonSlotInt44Slot for the back button (default: 44, bottom-right area)
backButtonNameString?—Custom name for the back buttonPlatzhalter
backButtonLoreList<String>emptyLore for the back buttonPlatzhalterMehrzeilig
infoButtonItem?—Item used for the info button
infoButtonSlotInt4Slot for the info button
infoButtonNameString?—Custom name for the info button. Placeholders: {unlocked}, {locked}, {total}, {percent}Platzhalter
infoButtonLoreList<String>emptyLore for the info button. Placeholders: {unlocked}, {locked}, {total}, {percent}PlatzhalterMehrzeilig
parentCategoryString?—Optional parent category identifier; if set, this category becomes a sub category
itemsList<DiscoveryItemConfig>emptyItems contained within this category
DiscoveryItemConfig (10)
FeldTypStandardBeschreibung
entryIdString—Unique identifier for this discovery item
itemItem—Base item to display in the codex
overrideNameString?—Optional display name override. Placeholders: {unlocked}, {locked}, {total}, {percent}Platzhalter
overrideLoreList<String>emptyLore to override the item's default lore when unlocked. Placeholders: {unlocked}, {locked}, {total}, {percent}PlatzhalterMehrzeilig
overrideOrderInt?—Display order override
lockedLoreList<String>emptyLore to display when the item is locked. Placeholders: {unlocked}, {locked}, {total}, {percent}PlatzhalterMehrzeilig
unlockedLoreList<String>emptyLore to append when the item is unlocked. Placeholders: {unlocked}, {locked}, {total}, {percent}PlatzhalterMehrzeilig
criteriaList<Criteria>emptyCriteria that need to be met for the item to be unlocked (Typewriter facts)
lockedItemItem?—Optional item to display when the entry is locked
onUnlockTriggersList<Ref<TriggerableEntry>>emptyTriggers to fire when this specific item is unlocked by a player
guiLayoutCodexGuiLayoutPAGINATEDGUI layout type for the codex menuWerte:PAGINATEDSCROLLABLEFRAMESIMPLE
onUnlockTriggersList<Ref<TriggerableEntry>>emptyTriggers to fire when this category is unlocked by a player
baseMenuIdString—Entrée open_gui servant de châssis partagé (ex. menu_shell). Vide = la catégorie s'ouvre en inventaire autonome (comportement historique). Renseigné = la catégorie devient un écran du menu global : son propre plan de slots (itemSlotRange/boutons) doit alors tenir dans la zone de contenu du châssis (rows ≤ 3), pas l'inventaire entier.
Gemeinsame TypeWriter-Felder (criteria)
FeldTypStandardBeschreibung
criteriaList<Criteria>emptyCriteria that must be met for this category to be unlocked

How to use it​

category is the identifier used by the command, the placeholders and parentCategory, so keep it short and unique. A category that other categories point to with parentCategory shows those sub-categories (and recipe categories) instead of its own items.

  • criteria — when not met, the category is locked: its icon uses lockedIconLore and cannot be opened from the parent menu or the global menu.
  • items — each item has an entryId, an item shown once unlocked and an optional lockedItem. Its own criteria decide whether it is unlocked; with none, it is always unlocked. overrideName and lockedLore / unlockedLore / overrideLore change the name and lore.
  • itemSlotRange — a range such as 10-16, counted from 1. Leave it empty to use startSlot and fillByRow.
  • onUnlockTriggers (category and item) — fire once per player when the category or item is first seen unlocked. They need a Codex Unlock artifact.
  • baseMenuId — opens the category inside a shared GUI chassis; keep rows at 3 or fewer.

overrideOrder on items sets the rank of an item. An item without a value takes the rank of its position in the list, so overrideOrder = n places the item as if it were at position n. When two items have the same rank, the one higher in the list comes first. With no overrideOrder at all, items appear in the order of the list.