btc_reward_definition
Defines a reward type that can be given and claimed by players — manifest entry.
Entry Information
| Property | Value |
|---|---|
| Entry ID | btc_reward_definition |
| Type | Manifest |
| Color | Gold |
| Icon | mdi:gift |
Fields
| Field | Type | Description |
|---|---|---|
rewardId | String | Unique identifier for this reward type (used to reference this reward) |
source | String | Origin of this reward, free-form (e.g. event, vote, daily_login). Used to group and filter rewards in menus and placeholders. Empty = uncategorised |
displayItem | Item | Display item shown in the rewards menu |
requiredInventorySlots | Int | Required free inventory slots to claim this reward (0 = no requirement) |
onClaimActions | List<Ref<TriggerableEntry>> | Actions triggered when this reward is successfully claimed |
onClaimFailActions | List<Ref<TriggerableEntry>> | Actions triggered if claim fails (inventory full) |
additionalLore | List<String> | Description lines shown at the top of the reward lore (supports MiniMessage) |
displayNameOverride | String | Display name override for the menu (empty = use item name, supports MiniMessage) |
Lore layout
The rendered lore follows the layout shared by BTC menus:
description additionalLore
───────── separator
details source line, required free slots
───────── separator
tip closing hint
Every label comes from btc_rewards_config — nothing is hardcoded.
A section that produces no line also drops its separator, so a reward with no source and no
inventory requirement never renders an empty block. Leave additionalLore empty to show only
the details and the tip.
hinweis
source is free-form on purpose: adding a new origin never requires recompiling the extension.
It only needs to match the value queried by <rewards_source:...>, case-insensitively.
Usage Example
- entry: btc_reward_definition
name: "Defines a reward type that can be given and claimed by players"
rewardId: ""
source: ""
displayItem: ""
requiredInventorySlots: 0
onClaimActions: []
onClaimFailActions: []
additionalLore: []
displayNameOverride: ""