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.
Campos
| Campo | Tipo | Padrão | Descrição | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
icon | String | minecraft:book | — | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
description | List<String> | empty | —PlaceholdersVárias linhas | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
data | Ref<BattlePassDataArtifactEntry> | — | — | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
tiers | List<TierConfig> | empty | —
|
| Campo | Tipo | Padrão | Descrição | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 | —
|
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
levelRequired | Int | 0 | — |
triggers | List<Ref<TriggerableEntry>> | empty | — |
displayName | String | — | —PlaceholdersCores |
lore | List<String> | empty | —PlaceholdersCoresVárias linhas |
slotsList<String>emptyweeksList<BattlePassWeekConfig>emptyBattlePassWeekConfig (7)
| Campo | Tipo | Padrão | Descrição | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
number | Int | 0 | Week number (used for ordering) | ||||||||||||
title | String | — | —PlaceholdersCores | ||||||||||||
available | Boolean | true | — | ||||||||||||
description | List<String> | empty | —PlaceholdersCoresVárias linhas | ||||||||||||
quests | List<BattlePassQuestConfig> | empty | Quests unlocked during this week
|
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
xpReward | Long | 0 | — |
description | List<String> | empty | —PlaceholdersCoresVárias linhas |
unlockAtStringunlockOffsetDaysLong?layoutMenuLayoutConfigMenuLayoutConfig (29)
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
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)
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
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)
| Campo | Tipo | Padrão | Descrição | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
fill | MenuButtonConfig | — | —
|
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —PlaceholdersCoresVárias linhas |
levelLockedMenuButtonConfigMenuButtonConfig (2)
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —PlaceholdersCoresVárias linhas |
levelUnlockedMenuButtonConfigMenuButtonConfig (2)
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —PlaceholdersCoresVárias linhas |
levelCurrentMenuButtonConfigMenuButtonConfig (2)
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —PlaceholdersCoresVárias linhas |
tierLockedMenuButtonConfigMenuButtonConfig (2)
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —PlaceholdersCoresVárias linhas |
tierUnlockedMenuButtonConfigMenuButtonConfig (2)
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —PlaceholdersCoresVárias linhas |
tierCurrentMenuButtonConfigMenuButtonConfig (2)
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —PlaceholdersCoresVárias linhas |
weekLockedMenuButtonConfigMenuButtonConfig (2)
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —PlaceholdersCoresVárias linhas |
weekAvailableMenuButtonConfigMenuButtonConfig (2)
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —PlaceholdersCoresVárias linhas |
weekActiveMenuButtonConfigMenuButtonConfig (2)
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —PlaceholdersCoresVárias linhas |
weekCompletedMenuButtonConfigMenuButtonConfig (2)
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —PlaceholdersCoresVárias linhas |
questLockedMenuButtonConfigMenuButtonConfig (2)
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —PlaceholdersCoresVárias linhas |
questAvailableMenuButtonConfigMenuButtonConfig (2)
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —PlaceholdersCoresVárias linhas |
questActiveMenuButtonConfigMenuButtonConfig (2)
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —PlaceholdersCoresVárias linhas |
questCompletedMenuButtonConfigMenuButtonConfig (2)
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —PlaceholdersCoresVárias linhas |
questPreviousMenuButtonConfigMenuButtonConfig (2)
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —PlaceholdersCoresVárias linhas |
questNextMenuButtonConfigMenuButtonConfig (2)
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —PlaceholdersCoresVárias linhas |
questSortMenuButtonConfigMenuButtonConfig (2)
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —PlaceholdersCoresVárias linhas |
previousWeekMenuButtonConfigMenuButtonConfig (2)
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —PlaceholdersCoresVárias linhas |
nextWeekMenuButtonConfigMenuButtonConfig (2)
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —PlaceholdersCoresVárias linhas |
questBackMenuButtonConfigMenuButtonConfig (2)
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —PlaceholdersCoresVárias linhas |
closeMenuButtonConfigMenuButtonConfig (2)
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —PlaceholdersCoresVárias linhas |
tierMenuOpenMenuButtonConfigMenuButtonConfig (2)
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —PlaceholdersCoresVárias linhas |
tierMenuPreviousMenuButtonConfigMenuButtonConfig (2)
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —PlaceholdersCoresVárias linhas |
tierMenuNextMenuButtonConfigMenuButtonConfig (2)
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —PlaceholdersCoresVárias linhas |
tierMenuBackMenuButtonConfigMenuButtonConfig (2)
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —PlaceholdersCoresVárias linhas |
infoMenuButtonConfigMenuButtonConfig (2)
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
item | Item | — | — |
lore | List<String> | empty | —PlaceholdersCoresVárias linhas |
xpBattlePassXpConfigBattlePassXpConfig (2)
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
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.