Saltar al contenido principal

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

CampoTipoPredeterminadoDescripción
iconStringminecraft:book—
descriptionList<String>empty—PlaceholdersVarias líneas
dataRef<BattlePassDataArtifactEntry>——
tiersList<TierConfig>empty—
TierConfig (5)
CampoTipoPredeterminadoDescripción
levelInt0Display order of the tier (starting at 1)
permissionString—Permission required to access the tier
priorityInt0Priority controls which tier overrides another
rewardsList<RewardConfig>empty—
RewardConfig (4)
CampoTipoPredeterminadoDescripción
levelRequiredInt0—
triggersList<Ref<TriggerableEntry>>empty—
displayNameString——PlaceholdersColores
loreList<String>empty—PlaceholdersColoresVarias líneas
slotsList<String>emptySlots used to display this tier's rewards inside the menu. Supports ranges such as '10-16'.
weeksList<BattlePassWeekConfig>empty—
BattlePassWeekConfig (7)
CampoTipoPredeterminadoDescripción
numberInt0Week number (used for ordering)
titleString——PlaceholdersColores
availableBooleantrue—
descriptionList<String>empty—PlaceholdersColoresVarias líneas
questsList<BattlePassQuestConfig>emptyQuests unlocked during this week
BattlePassQuestConfig (2)
CampoTipoPredeterminadoDescripción
xpRewardLong0—
descriptionList<String>empty—PlaceholdersColoresVarias líneas
unlockAtString—Explicit unlock date (ISO-8601). Overrides offset settings
unlockOffsetDaysLong?—Unlock offset in days from the battle pass start date
layoutMenuLayoutConfig——
MenuLayoutConfig (29)
CampoTipoPredeterminadoDescripción
sizeInt54—
weekSlotsList<String>empty—
tierButtonSlotInt?——
tierButtonEnabledBooleantrue—
questSlotsList<String>empty—
questPreviousSlotInt?——
questPreviousEnabledBooleantrue—
questNextSlotInt?——
questNextEnabledBooleantrue—
questSortSlotInt?——
questSortEnabledBooleantrue—
questBackSlotInt?——
questBackEnabledBooleantrue—
tierMenuSizeInt54—
tierMenuPreviousSlotInt?——
tierMenuPreviousEnabledBooleantrue—
tierMenuNextSlotInt?——
tierMenuNextEnabledBooleantrue—
tierMenuBackSlotInt?——
tierMenuBackEnabledBooleantrue—
previousWeekSlotInt?——
previousWeekEnabledBooleantrue—
nextWeekSlotInt?——
nextWeekEnabledBooleantrue—
closeSlotInt?——
closeEnabledBooleantrue—
backCommandString—Command executed when using the back button. Run as the player. Supports placeholders.
infoSlotInt?——
infoEnabledBooleantrue—
scheduleBattlePassScheduleConfig——
BattlePassScheduleConfig (4)
CampoTipoPredeterminadoDescripción
startString—Battle pass start date (ISO-8601). Leave empty for immediate start
endString—Battle pass end date (ISO-8601). Leave empty for no end
weekDurationDaysLong7Duration of a week in days
timezoneStringUTCIANA timezone used to parse local schedule dates, for example Europe/Paris
buttonsBattlePassMenuButtonsConfig——
BattlePassMenuButtonsConfig (27)
CampoTipoPredeterminadoDescripción
fillMenuButtonConfig——
MenuButtonConfig (2)
CampoTipoPredeterminadoDescripción
itemItem——
loreList<String>empty—PlaceholdersColoresVarias líneas
levelLockedMenuButtonConfig——
MenuButtonConfig (2)
CampoTipoPredeterminadoDescripción
itemItem——
loreList<String>empty—PlaceholdersColoresVarias líneas
levelUnlockedMenuButtonConfig——
MenuButtonConfig (2)
CampoTipoPredeterminadoDescripción
itemItem——
loreList<String>empty—PlaceholdersColoresVarias líneas
levelCurrentMenuButtonConfig——
MenuButtonConfig (2)
CampoTipoPredeterminadoDescripción
itemItem——
loreList<String>empty—PlaceholdersColoresVarias líneas
tierLockedMenuButtonConfig——
MenuButtonConfig (2)
CampoTipoPredeterminadoDescripción
itemItem——
loreList<String>empty—PlaceholdersColoresVarias líneas
tierUnlockedMenuButtonConfig——
MenuButtonConfig (2)
CampoTipoPredeterminadoDescripción
itemItem——
loreList<String>empty—PlaceholdersColoresVarias líneas
tierCurrentMenuButtonConfig——
MenuButtonConfig (2)
CampoTipoPredeterminadoDescripción
itemItem——
loreList<String>empty—PlaceholdersColoresVarias líneas
weekLockedMenuButtonConfig——
MenuButtonConfig (2)
CampoTipoPredeterminadoDescripción
itemItem——
loreList<String>empty—PlaceholdersColoresVarias líneas
weekAvailableMenuButtonConfig——
MenuButtonConfig (2)
CampoTipoPredeterminadoDescripción
itemItem——
loreList<String>empty—PlaceholdersColoresVarias líneas
weekActiveMenuButtonConfig——
MenuButtonConfig (2)
CampoTipoPredeterminadoDescripción
itemItem——
loreList<String>empty—PlaceholdersColoresVarias líneas
weekCompletedMenuButtonConfig——
MenuButtonConfig (2)
CampoTipoPredeterminadoDescripción
itemItem——
loreList<String>empty—PlaceholdersColoresVarias líneas
questLockedMenuButtonConfig——
MenuButtonConfig (2)
CampoTipoPredeterminadoDescripción
itemItem——
loreList<String>empty—PlaceholdersColoresVarias líneas
questAvailableMenuButtonConfig——
MenuButtonConfig (2)
CampoTipoPredeterminadoDescripción
itemItem——
loreList<String>empty—PlaceholdersColoresVarias líneas
questActiveMenuButtonConfig——
MenuButtonConfig (2)
CampoTipoPredeterminadoDescripción
itemItem——
loreList<String>empty—PlaceholdersColoresVarias líneas
questCompletedMenuButtonConfig——
MenuButtonConfig (2)
CampoTipoPredeterminadoDescripción
itemItem——
loreList<String>empty—PlaceholdersColoresVarias líneas
questPreviousMenuButtonConfig——
MenuButtonConfig (2)
CampoTipoPredeterminadoDescripción
itemItem——
loreList<String>empty—PlaceholdersColoresVarias líneas
questNextMenuButtonConfig——
MenuButtonConfig (2)
CampoTipoPredeterminadoDescripción
itemItem——
loreList<String>empty—PlaceholdersColoresVarias líneas
questSortMenuButtonConfig——
MenuButtonConfig (2)
CampoTipoPredeterminadoDescripción
itemItem——
loreList<String>empty—PlaceholdersColoresVarias líneas
previousWeekMenuButtonConfig——
MenuButtonConfig (2)
CampoTipoPredeterminadoDescripción
itemItem——
loreList<String>empty—PlaceholdersColoresVarias líneas
nextWeekMenuButtonConfig——
MenuButtonConfig (2)
CampoTipoPredeterminadoDescripción
itemItem——
loreList<String>empty—PlaceholdersColoresVarias líneas
questBackMenuButtonConfig——
MenuButtonConfig (2)
CampoTipoPredeterminadoDescripción
itemItem——
loreList<String>empty—PlaceholdersColoresVarias líneas
closeMenuButtonConfig——
MenuButtonConfig (2)
CampoTipoPredeterminadoDescripción
itemItem——
loreList<String>empty—PlaceholdersColoresVarias líneas
tierMenuOpenMenuButtonConfig——
MenuButtonConfig (2)
CampoTipoPredeterminadoDescripción
itemItem——
loreList<String>empty—PlaceholdersColoresVarias líneas
tierMenuPreviousMenuButtonConfig——
MenuButtonConfig (2)
CampoTipoPredeterminadoDescripción
itemItem——
loreList<String>empty—PlaceholdersColoresVarias líneas
tierMenuNextMenuButtonConfig——
MenuButtonConfig (2)
CampoTipoPredeterminadoDescripción
itemItem——
loreList<String>empty—PlaceholdersColoresVarias líneas
tierMenuBackMenuButtonConfig——
MenuButtonConfig (2)
CampoTipoPredeterminadoDescripción
itemItem——
loreList<String>empty—PlaceholdersColoresVarias líneas
infoMenuButtonConfig——
MenuButtonConfig (2)
CampoTipoPredeterminadoDescripción
itemItem——
loreList<String>empty—PlaceholdersColoresVarias líneas
xpBattlePassXpConfig——
BattlePassXpConfig (2)
CampoTipoPredeterminadoDescripción
maxLong0—
levelsList<Long>empty—
baseMenuIdString—Optional open_gui chassis to inherit. Empty keeps the standalone Battle Pass inventory.
menuLayoutPoolList<LayoutData>emptyAdditional GUI layouts merged over the inherited chassis.
menuViewsList<MenuViewData>emptyAdditional views merged over the inherited chassis. Slots tagged view:<id> are wired automatically.
menuMainLayoutIdString?—Main layout id for a definition-owned chassis. Empty = inherited main layout.
menuDefaultViewIdString?—Initial view id. Empty = inherited default view.
menuHomeViewIdStringbattlepass_homeHome view id used by the Battle Pass navigation.
menuLevelsViewIdStringbattlepass_levelsLevels/rewards view id used by the Battle Pass navigation.
menuQuestsViewIdStringbattlepass_questsQuests view id used by the Battle Pass navigation.
menuBreadcrumbSeparatorString—MiniMessage separator used in the inherited menu breadcrumb.Colores
menuPushHistoryOnViewSwitchBooleanfalseWhether switching between Battle Pass views pushes a history entry.

How to use it​

One definition is one battle pass. The fields work together like this:

  • xp — levels is a list of cumulative XP thresholds in increasing order. A player is level 2 once their XP reaches the second threshold. max caps the XP (0 means no cap).
  • weeks — each week has a number (unique, above zero), the quests it contains with their xpReward, and an optional unlock date. A week unlocks at unlockAt if set, otherwise at the pass start plus unlockOffsetDays, otherwise at the start plus weekDurationDays for every previous week. Without a schedule.start, weeks without a date are unlocked from the beginning.
  • schedule — start and end accept 2026-11-01T00:00:00 (read in timezone) or a full UTC date such as 2026-11-01T00:00:00Z. XP is earned only between them; rewards can still be claimed after the end.
  • tiers — each tier level must be unique. A tier with a permission only lets players holding it claim its rewards. Each reward needs a unique id (leave it empty to get tier-<level>-reward-<n>), a levelRequired and the triggers that deliver it.
  • layout and buttons — 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.