Battlepass Definition
Register a battle pass definition
Manifest entry used by TypeWriter to register a [BattlePassDefinition]. The definition itself is fully described in the configuration file. When this entry is compiled into the runtime registry by the extension lifecycle.
字段
| 字段 | 类型 | 默认值 | 描述 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
icon | String | minecraft:book | — | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
description | List<String> | empty | —占位符多行 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
data | Ref<BattlePassDataArtifactEntry> | — | — | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
tiers | List<TierConfig> | empty | —
|
| 字段 | 类型 | 默认值 | 描述 | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
level | Int | 0 | Display order of the tier (starting at 1) | ||||||||||||||||||||
permission | String | — | Permission required to access the tier | ||||||||||||||||||||
priority | Int | 0 | Priority controls which tier overrides another | ||||||||||||||||||||
rewards | List<RewardConfig> | empty | —
|
| 字段 | 类型 | 默认值 | 描述 |
|---|---|---|---|
levelRequired | Int | 0 | — |
triggers | List<Ref<TriggerableEntry>> | empty | — |
displayName | String | — | —占位符颜色 |
lore | List<String> | empty | —占位符颜色多行 |
slotsList<String>emptyweeksList<BattlePassWeekConfig>emptyBattlePassWeekConfig(7)
| 字段 | 类型 | 默认值 | 描述 | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
number | Int | 0 | Week number (used for ordering) | ||||||||||||
title | String | — | —占位符颜色 | ||||||||||||
available | Boolean | true | — | ||||||||||||
description | List<String> | empty | —占位符颜色多行 | ||||||||||||
quests | List<BattlePassQuestConfig> | empty | Quests unlocked during this week
|
| 字段 | 类型 | 默认值 | 描述 |
|---|---|---|---|
xpReward | Long | 0 | — |
description | List<String> | empty | —占位符颜色多行 |
unlockAtStringunlockOffsetDaysLong?layoutMenuLayoutConfigMenuLayoutConfig(29)
| 字段 | 类型 | 默认值 | 描述 |
|---|---|---|---|
size | Int | 54 | — |
weekSlots | List<String> | empty | — |
tierButtonSlot | Int? | — | — |
tierButtonEnabled | Boolean | true | — |
questSlots | List<String> | empty | — |
questPreviousSlot | Int? | — | — |
questPreviousEnabled | Boolean | true | — |
questNextSlot | Int? | — | — |
questNextEnabled | Boolean | true | — |
questSortSlot | Int? | — | — |
questSortEnabled | Boolean | true | — |
questBackSlot | Int? | — | — |
questBackEnabled | Boolean | true | — |
tierMenuSize | Int | 54 | — |
tierMenuPreviousSlot | Int? | — | — |
tierMenuPreviousEnabled | Boolean | true | — |
tierMenuNextSlot | Int? | — | — |
tierMenuNextEnabled | Boolean | true | — |
tierMenuBackSlot | Int? | — | — |
tierMenuBackEnabled | Boolean | true | — |
previousWeekSlot | Int? | — | — |
previousWeekEnabled | Boolean | true | — |
nextWeekSlot | Int? | — | — |
nextWeekEnabled | Boolean | true | — |
closeSlot | Int? | — | — |
closeEnabled | Boolean | true | — |
backCommand | String | — | Command executed when using the back button. Run as the player. Supports placeholders. |
infoSlot | Int? | — | — |
infoEnabled | Boolean | true | — |
scheduleBattlePassScheduleConfigBattlePassScheduleConfig(4)
| 字段 | 类型 | 默认值 | 描述 |
|---|---|---|---|
start | String | — | Battle pass start date (ISO-8601). Leave empty for immediate start |
end | String | — | Battle pass end date (ISO-8601). Leave empty for no end |
weekDurationDays | Long | 7 | Duration of a week in days |
timezone | String | UTC | IANA timezone used to parse local schedule dates, for example Europe/Paris |
buttonsBattlePassMenuButtonsConfigBattlePassMenuButtonsConfig(27)
| 字段 | 类型 | 默认值 | 描述 | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
fill | MenuButtonConfig | — | —
|
| 字段 | 类型 | 默认值 | 描述 |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —占位符颜色多行 |
levelLockedMenuButtonConfigMenuButtonConfig(2)
| 字段 | 类型 | 默认值 | 描述 |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —占位符颜色多行 |
levelUnlockedMenuButtonConfigMenuButtonConfig(2)
| 字段 | 类型 | 默认值 | 描述 |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —占位符颜色多行 |
levelCurrentMenuButtonConfigMenuButtonConfig(2)
| 字段 | 类型 | 默认值 | 描述 |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —占位符颜色多行 |
tierLockedMenuButtonConfigMenuButtonConfig(2)
| 字段 | 类型 | 默认值 | 描述 |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —占位符颜色多行 |
tierUnlockedMenuButtonConfigMenuButtonConfig(2)
| 字段 | 类型 | 默认值 | 描述 |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —占位符颜色多行 |
tierCurrentMenuButtonConfigMenuButtonConfig(2)
| 字段 | 类型 | 默认值 | 描述 |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —占位符颜色多行 |
weekLockedMenuButtonConfigMenuButtonConfig(2)
| 字段 | 类型 | 默认值 | 描述 |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —占位符颜色多行 |
weekAvailableMenuButtonConfigMenuButtonConfig(2)
| 字段 | 类型 | 默认值 | 描述 |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —占位符颜色多行 |
weekActiveMenuButtonConfigMenuButtonConfig(2)
| 字段 | 类型 | 默认值 | 描述 |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —占位符颜色多行 |
weekCompletedMenuButtonConfigMenuButtonConfig(2)
| 字段 | 类型 | 默认值 | 描述 |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —占位符颜色多行 |
questLockedMenuButtonConfigMenuButtonConfig(2)
| 字段 | 类型 | 默认值 | 描述 |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —占位符颜色多行 |
questAvailableMenuButtonConfigMenuButtonConfig(2)
| 字段 | 类型 | 默认值 | 描述 |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —占位符颜色多行 |
questActiveMenuButtonConfigMenuButtonConfig(2)
| 字段 | 类型 | 默认值 | 描述 |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —占位符颜色多行 |
questCompletedMenuButtonConfigMenuButtonConfig(2)
| 字段 | 类型 | 默认值 | 描述 |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —占位符颜色多行 |
questPreviousMenuButtonConfigMenuButtonConfig(2)
| 字段 | 类型 | 默认值 | 描述 |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —占位符颜色多行 |
questNextMenuButtonConfigMenuButtonConfig(2)
| 字段 | 类型 | 默认值 | 描述 |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —占位符颜色多行 |
questSortMenuButtonConfigMenuButtonConfig(2)
| 字段 | 类型 | 默认值 | 描述 |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —占位符颜色多行 |
previousWeekMenuButtonConfigMenuButtonConfig(2)
| 字段 | 类型 | 默认值 | 描述 |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —占位符颜色多行 |
nextWeekMenuButtonConfigMenuButtonConfig(2)
| 字段 | 类型 | 默认值 | 描述 |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —占位符颜色多行 |
questBackMenuButtonConfigMenuButtonConfig(2)
| 字段 | 类型 | 默认值 | 描述 |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —占位符颜色多行 |
closeMenuButtonConfigMenuButtonConfig(2)
| 字段 | 类型 | 默认值 | 描述 |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —占位符颜色多行 |
tierMenuOpenMenuButtonConfigMenuButtonConfig(2)
| 字段 | 类型 | 默认值 | 描述 |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —占位符颜色多行 |
tierMenuPreviousMenuButtonConfigMenuButtonConfig(2)
| 字段 | 类型 | 默认值 | 描述 |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —占位符颜色多行 |
tierMenuNextMenuButtonConfigMenuButtonConfig(2)
| 字段 | 类型 | 默认值 | 描述 |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —占位符颜色多行 |
tierMenuBackMenuButtonConfigMenuButtonConfig(2)
| 字段 | 类型 | 默认值 | 描述 |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —占位符颜色多行 |
infoMenuButtonConfigMenuButtonConfig(2)
| 字段 | 类型 | 默认值 | 描述 |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —占位符颜色多行 |
xpBattlePassXpConfigBattlePassXpConfig(2)
| 字段 | 类型 | 默认值 | 描述 |
|---|---|---|---|
max | Long | 0 | — |
levels | List<Long> | empty | — |
baseMenuIdStringmenuLayoutPoolList<LayoutData>emptymenuViewsList<MenuViewData>emptymenuMainLayoutIdString?menuDefaultViewIdString?menuHomeViewIdStringbattlepass_homemenuLevelsViewIdStringbattlepass_levelsmenuQuestsViewIdStringbattlepass_questsmenuBreadcrumbSeparatorStringmenuPushHistoryOnViewSwitchBooleanfalseHow to use it
One definition is one battle pass. The fields work together like this:
xp—levelsis a list of cumulative XP thresholds in increasing order. A player is level 2 once their XP reaches the second threshold.maxcaps the XP (0means no cap).weeks— each week has anumber(unique, above zero), thequestsit contains with theirxpReward, and an optional unlock date. A week unlocks atunlockAtif set, otherwise at the pass start plusunlockOffsetDays, otherwise at the start plusweekDurationDaysfor every previous week. Without aschedule.start, weeks without a date are unlocked from the beginning.schedule—startandendaccept2026-11-01T00:00:00(read intimezone) or a full UTC date such as2026-11-01T00:00:00Z. XP is earned only between them; rewards can still be claimed after the end.tiers— each tierlevelmust be unique. A tier with apermissiononly lets players holding it claim its rewards. Each reward needs a uniqueid(leave it empty to gettier-<level>-reward-<n>), alevelRequiredand thetriggersthat deliver it.layoutandbuttons— slots and button items of the default menus. Sizes must be multiples of 9 up to 54.baseMenuId,menuLayoutPool,menuViews,menuMainLayoutId,menuDefaultViewId— fill any of them to open the pass inside a GUI chassis built with the GUI extension. Leave them all empty to use the standalone menus.
A definition that fails validation is skipped at startup and the reason is written to the server log.