メインコンテンツまでスキップ

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.

フィールド

フィールド型デフォルト説明
iconStringminecraft:book—
descriptionList<String>empty—プレースホルダー複数行
dataRef<BattlePassDataArtifactEntry>——
tiersList<TierConfig>empty—
TierConfig(5)
フィールド型デフォルト説明
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)
フィールド型デフォルト説明
levelRequiredInt0—
triggersList<Ref<TriggerableEntry>>empty—
displayNameString——プレースホルダーカラー
loreList<String>empty—プレースホルダーカラー複数行
slotsList<String>emptySlots used to display this tier's rewards inside the menu. Supports ranges such as '10-16'.
weeksList<BattlePassWeekConfig>empty—
BattlePassWeekConfig(7)
フィールド型デフォルト説明
numberInt0Week number (used for ordering)
titleString——プレースホルダーカラー
availableBooleantrue—
descriptionList<String>empty—プレースホルダーカラー複数行
questsList<BattlePassQuestConfig>emptyQuests unlocked during this week
BattlePassQuestConfig(2)
フィールド型デフォルト説明
xpRewardLong0—
descriptionList<String>empty—プレースホルダーカラー複数行
unlockAtString—Explicit unlock date (ISO-8601). Overrides offset settings
unlockOffsetDaysLong?—Unlock offset in days from the battle pass start date
layoutMenuLayoutConfig——
MenuLayoutConfig(29)
フィールド型デフォルト説明
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)
フィールド型デフォルト説明
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)
フィールド型デフォルト説明
fillMenuButtonConfig——
MenuButtonConfig(2)
フィールド型デフォルト説明
itemItem——
loreList<String>empty—プレースホルダーカラー複数行
levelLockedMenuButtonConfig——
MenuButtonConfig(2)
フィールド型デフォルト説明
itemItem——
loreList<String>empty—プレースホルダーカラー複数行
levelUnlockedMenuButtonConfig——
MenuButtonConfig(2)
フィールド型デフォルト説明
itemItem——
loreList<String>empty—プレースホルダーカラー複数行
levelCurrentMenuButtonConfig——
MenuButtonConfig(2)
フィールド型デフォルト説明
itemItem——
loreList<String>empty—プレースホルダーカラー複数行
tierLockedMenuButtonConfig——
MenuButtonConfig(2)
フィールド型デフォルト説明
itemItem——
loreList<String>empty—プレースホルダーカラー複数行
tierUnlockedMenuButtonConfig——
MenuButtonConfig(2)
フィールド型デフォルト説明
itemItem——
loreList<String>empty—プレースホルダーカラー複数行
tierCurrentMenuButtonConfig——
MenuButtonConfig(2)
フィールド型デフォルト説明
itemItem——
loreList<String>empty—プレースホルダーカラー複数行
weekLockedMenuButtonConfig——
MenuButtonConfig(2)
フィールド型デフォルト説明
itemItem——
loreList<String>empty—プレースホルダーカラー複数行
weekAvailableMenuButtonConfig——
MenuButtonConfig(2)
フィールド型デフォルト説明
itemItem——
loreList<String>empty—プレースホルダーカラー複数行
weekActiveMenuButtonConfig——
MenuButtonConfig(2)
フィールド型デフォルト説明
itemItem——
loreList<String>empty—プレースホルダーカラー複数行
weekCompletedMenuButtonConfig——
MenuButtonConfig(2)
フィールド型デフォルト説明
itemItem——
loreList<String>empty—プレースホルダーカラー複数行
questLockedMenuButtonConfig——
MenuButtonConfig(2)
フィールド型デフォルト説明
itemItem——
loreList<String>empty—プレースホルダーカラー複数行
questAvailableMenuButtonConfig——
MenuButtonConfig(2)
フィールド型デフォルト説明
itemItem——
loreList<String>empty—プレースホルダーカラー複数行
questActiveMenuButtonConfig——
MenuButtonConfig(2)
フィールド型デフォルト説明
itemItem——
loreList<String>empty—プレースホルダーカラー複数行
questCompletedMenuButtonConfig——
MenuButtonConfig(2)
フィールド型デフォルト説明
itemItem——
loreList<String>empty—プレースホルダーカラー複数行
questPreviousMenuButtonConfig——
MenuButtonConfig(2)
フィールド型デフォルト説明
itemItem——
loreList<String>empty—プレースホルダーカラー複数行
questNextMenuButtonConfig——
MenuButtonConfig(2)
フィールド型デフォルト説明
itemItem——
loreList<String>empty—プレースホルダーカラー複数行
questSortMenuButtonConfig——
MenuButtonConfig(2)
フィールド型デフォルト説明
itemItem——
loreList<String>empty—プレースホルダーカラー複数行
previousWeekMenuButtonConfig——
MenuButtonConfig(2)
フィールド型デフォルト説明
itemItem——
loreList<String>empty—プレースホルダーカラー複数行
nextWeekMenuButtonConfig——
MenuButtonConfig(2)
フィールド型デフォルト説明
itemItem——
loreList<String>empty—プレースホルダーカラー複数行
questBackMenuButtonConfig——
MenuButtonConfig(2)
フィールド型デフォルト説明
itemItem——
loreList<String>empty—プレースホルダーカラー複数行
closeMenuButtonConfig——
MenuButtonConfig(2)
フィールド型デフォルト説明
itemItem——
loreList<String>empty—プレースホルダーカラー複数行
tierMenuOpenMenuButtonConfig——
MenuButtonConfig(2)
フィールド型デフォルト説明
itemItem——
loreList<String>empty—プレースホルダーカラー複数行
tierMenuPreviousMenuButtonConfig——
MenuButtonConfig(2)
フィールド型デフォルト説明
itemItem——
loreList<String>empty—プレースホルダーカラー複数行
tierMenuNextMenuButtonConfig——
MenuButtonConfig(2)
フィールド型デフォルト説明
itemItem——
loreList<String>empty—プレースホルダーカラー複数行
tierMenuBackMenuButtonConfig——
MenuButtonConfig(2)
フィールド型デフォルト説明
itemItem——
loreList<String>empty—プレースホルダーカラー複数行
infoMenuButtonConfig——
MenuButtonConfig(2)
フィールド型デフォルト説明
itemItem——
loreList<String>empty—プレースホルダーカラー複数行
xpBattlePassXpConfig——
BattlePassXpConfig(2)
フィールド型デフォルト説明
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.カラー
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.