Discovery Codex Category
Defines a discovery codex category
Manifest entry defining a discovery category and its menu layout.
字段
| 字段 | 类型 | 默认值 | 描述 | ||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
category | String | — | Unique identifier for this discovery category | ||||||||||||||||||||||||||||||||||||||||||||
title | String | — | Title displayed at the top of the inventory占位符 | ||||||||||||||||||||||||||||||||||||||||||||
rows | Int | 6 | Number of rows for the inventory (1-6) | ||||||||||||||||||||||||||||||||||||||||||||
order | Int | 0 | Display order when listing categories | ||||||||||||||||||||||||||||||||||||||||||||
icon | Item | — | Icon used when referencing this category | ||||||||||||||||||||||||||||||||||||||||||||
iconName | String? | — | Optional custom name for the icon when displayed in menus. Placeholders: {unlocked}, {locked}, {total}, {percent}占位符 | ||||||||||||||||||||||||||||||||||||||||||||
iconLore | List<String> | empty | Optional lore lines for the icon when displayed in menus. Placeholders: {unlocked}, {locked}, {total}, {percent}占位符多行 | ||||||||||||||||||||||||||||||||||||||||||||
lockedIconLore | List<String> | empty | Lore to display for the icon when the category is locked. Placeholders: {unlocked}, {locked}, {total}, {percent}占位符多行 | ||||||||||||||||||||||||||||||||||||||||||||
background | Item? | — | Optional background filler item | ||||||||||||||||||||||||||||||||||||||||||||
itemSlotRange | String | — | Range of slots where discovery items will be displayed (e.g. '1-25') | ||||||||||||||||||||||||||||||||||||||||||||
startSlot | Int | 0 | Slot index where items start (0-based) | ||||||||||||||||||||||||||||||||||||||||||||
fillByRow | Boolean | true | If true, items fill row by row; otherwise column by column | ||||||||||||||||||||||||||||||||||||||||||||
previousButton | Item? | — | Item used for the previous page button | ||||||||||||||||||||||||||||||||||||||||||||
previousButtonSlot | Int | 0 | Slot for the previous page button | ||||||||||||||||||||||||||||||||||||||||||||
previousButtonName | String? | — | Custom name for the previous page button. Placeholders: {page}, {max_page}, {unlocked}, {locked}, {total}, {percent}占位符 | ||||||||||||||||||||||||||||||||||||||||||||
previousButtonLore | List<String> | empty | Lore for the previous page button. Placeholders: {page}, {max_page}, {unlocked}, {locked}, {total}, {percent}占位符多行 | ||||||||||||||||||||||||||||||||||||||||||||
nextButton | Item? | — | Item used for the next page button | ||||||||||||||||||||||||||||||||||||||||||||
nextButtonSlot | Int | 8 | Slot for the next page button | ||||||||||||||||||||||||||||||||||||||||||||
nextButtonName | String? | — | Custom name for the next page button. Placeholders: {page}, {max_page}, {unlocked}, {locked}, {total}, {percent}占位符 | ||||||||||||||||||||||||||||||||||||||||||||
nextButtonLore | List<String> | empty | Lore for the next page button. Placeholders: {page}, {max_page}, {unlocked}, {locked}, {total}, {percent}占位符多行 | ||||||||||||||||||||||||||||||||||||||||||||
backButton | Item? | — | Item used for the back button | ||||||||||||||||||||||||||||||||||||||||||||
backButtonSlot | Int | 44 | Slot for the back button (default: 44, bottom-right area) | ||||||||||||||||||||||||||||||||||||||||||||
backButtonName | String? | — | Custom name for the back button占位符 | ||||||||||||||||||||||||||||||||||||||||||||
backButtonLore | List<String> | empty | Lore for the back button占位符多行 | ||||||||||||||||||||||||||||||||||||||||||||
infoButton | Item? | — | Item used for the info button | ||||||||||||||||||||||||||||||||||||||||||||
infoButtonSlot | Int | 4 | Slot for the info button | ||||||||||||||||||||||||||||||||||||||||||||
infoButtonName | String? | — | Custom name for the info button. Placeholders: {unlocked}, {locked}, {total}, {percent}占位符 | ||||||||||||||||||||||||||||||||||||||||||||
infoButtonLore | List<String> | empty | Lore for the info button. Placeholders: {unlocked}, {locked}, {total}, {percent}占位符多行 | ||||||||||||||||||||||||||||||||||||||||||||
parentCategory | String? | — | Optional parent category identifier; if set, this category becomes a sub category | ||||||||||||||||||||||||||||||||||||||||||||
items | List<DiscoveryItemConfig> | empty | Items contained within this category
|
| 字段 | 类型 | 默认值 | 描述 |
|---|---|---|---|
entryId | String | — | Unique identifier for this discovery item |
item | Item | — | Base item to display in the codex |
overrideName | String? | — | Optional display name override. Placeholders: {unlocked}, {locked}, {total}, {percent}占位符 |
overrideLore | List<String> | empty | Lore to override the item's default lore when unlocked. Placeholders: {unlocked}, {locked}, {total}, {percent}占位符多行 |
overrideOrder | Int? | — | Display order override |
lockedLore | List<String> | empty | Lore to display when the item is locked. Placeholders: {unlocked}, {locked}, {total}, {percent}占位符多行 |
unlockedLore | List<String> | empty | Lore to append when the item is unlocked. Placeholders: {unlocked}, {locked}, {total}, {percent}占位符多行 |
criteria | List<Criteria> | empty | Criteria that need to be met for the item to be unlocked (Typewriter facts) |
lockedItem | Item? | — | Optional item to display when the entry is locked |
onUnlockTriggers | List<Ref<TriggerableEntry>> | empty | Triggers to fire when this specific item is unlocked by a player |
guiLayoutCodexGuiLayoutPAGINATEDPAGINATEDSCROLLABLEFRAMESIMPLEonUnlockTriggersList<Ref<TriggerableEntry>>emptybaseMenuIdStringTypeWriter 通用字段(criteria)
| 字段 | 类型 | 默认值 | 描述 |
|---|---|---|---|
criteria | List<Criteria> | empty | Criteria 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 useslockedIconLoreand cannot be opened from the parent menu or the global menu.items— each item has anentryId, anitemshown once unlocked and an optionallockedItem. Its owncriteriadecide whether it is unlocked; with none, it is always unlocked.overrideNameandlockedLore/unlockedLore/overrideLorechange the name and lore.itemSlotRange— a range such as10-16, counted from 1. Leave it empty to usestartSlotandfillByRow.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; keeprowsat 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.