Creative Tabs
Addon packs can register their own creative mode tabs, fill them with items, and, thanks to the bundled FancyTabSections integration, split them into labelled sections. Tabs can also pull in multiversal variants automatically through variant groups.
Defining a Tab
A tab is an addon object. You need to create a JSON file at:
addon/<namespace>/creative_mode_tab/<id>.json
| Field | Type | Required | Fallback | Description |
|---|---|---|---|---|
name | Text Component | Yes | - | The tab's display name. A raw string or a full text component (e.g. { "translate": "..." }). |
icon | Item ID | Yes | - | Item shown as the tab's icon. |
background_texture | Identifier | No | vanilla | Background texture of the tab window. |
items | Array | No | [] | The tab's contents. See Filling a Tab. |
sections | Array | No | [] | Sections to split the tab into. See Sections. Requires the FancyTabSections integration. |
A minimal tab:
{
"name": "My Pack",
"icon": "mypack:emerald_sword",
"items": [
"mypack:emerald_sword",
"mypack:basic_item"
]
}
Filling a Tab
Every entry in an items list (both a tab's own items and a section's items) is one of:
- an item ID: added as a single stack, or
- a variant group: an object that expands into all matching multiversal variants.
Variant Groups
A variant group lists a set of base items (like four armor pieces for example) and expands into every variant that covers those items' categories. Variants are grouped and ordered automatically: variants sharing a category's default stay together, the default first, and each variant's armor pieces are sorted helmet to boots.
| Field | Type | Required | Description |
|---|---|---|---|
variant_group | List of IDs | Yes | The base items to expand. They must carry the palladium:multiversal_category component. |
universe | ID | No | Only include variants of this universe. Omit to include variants from every universe. |
"items": [
"mypack:basic_item",
{
"variant_group": [
"mypack:wooden_helmet",
"mypack:wooden_chestplate",
"mypack:wooden_leggings",
"mypack:wooden_boots"
]
}
]
Sections
Sections split a tab into labelled bands, each with its own banner. They are provided by the bundled
FancyTabSections mod. When a tab declares
sections, its content is built from those sections instead of the top-level items list.
Each entry in sections is an object with a type (the section type) plus that type's fields.
Every section has its own items list, which accepts the exact same entries as a tab (plain item IDs
and variant groups).
{
"name": "My Pack",
"icon": "mypack:emerald_sword",
"sections": [
{
"type": "fancytabsections:colored",
"id": "mypack:items",
"banner_color": "#ee9b50",
"items": [
"mypack:emerald_sword",
"mypack:basic_item"
]
},
{
"type": "fancytabsections:colored",
"id": "mypack:armors",
"banner_color": "#7ba05b",
"items": [
{
"variant_group": [
"mypack:wooden_helmet",
"mypack:wooden_chestplate",
"mypack:wooden_leggings",
"mypack:wooden_boots"
]
}
]
}
]
}
Section Types
Animated Textured
fancytabsections:animated_textured- Settings
- Example
| Key | Type | Description | Required | Fallback |
|---|---|---|---|---|
id | Identifier | Unique identifier of the section. | / | |
text_color | Color | Color of the title text. | / | |
text_outline | Color | Outline color of the title text. | / | |
text_shadow | Boolean | Whether the title text is rendered with a shadow. | / | |
frames | Integer | Number of vertically stacked frames in the texture. | / | |
frame_time | Float | Duration of each frame in milliseconds. | / | |
texture | Identifier | Texture used for the banner. Defaults to a texture derived from the id. | / | |
horizontal_size | Integer | Width of a single frame. | / | |
vertical_size | Integer | Height of a single frame. | / | |
texture_offset_x | Integer | Horizontal offset at which the texture is rendered. | / | |
texture_offset_y | Integer | Vertical offset at which the texture is rendered. | / | |
items | Item ID or variant group array | Items and/or multiversal variant groups displayed in this section. | / |
{
"type": "fancytabsections:animated_textured",
"id": "palladium:example"
}
Colored
fancytabsections:colored- Settings
- Example
| Key | Type | Description | Required | Fallback |
|---|---|---|---|---|
id | Identifier | Unique identifier of the section. | / | |
banner_color | Color | Color of the banner background. | / | |
text_color | Color | Color of the title text. | / | |
text_outline | Color | Outline color of the title text. | / | |
text_shadow | Boolean | Whether the title text is rendered with a shadow. | / | |
items | Item ID or variant group array | Items and/or multiversal variant groups displayed in this section. | / |
{
"type": "fancytabsections:colored",
"id": "palladium:example",
"text_shadow": true
}
Textured
fancytabsections:textured- Settings
- Example
| Key | Type | Description | Required | Fallback |
|---|---|---|---|---|
id | Identifier | Unique identifier of the section. | / | |
text_color | Color | Color of the title text. | / | |
text_outline | Color | Outline color of the title text. | / | |
text_shadow | Boolean | Whether the title text is rendered with a shadow. | / | |
texture | Identifier | Texture used for the banner. Defaults to a texture derived from the id. | / | |
horizontal_size | Integer | Width of the banner texture. | / | |
vertical_size | Integer | Height of the banner texture. | / | |
texture_offset_x | Integer | Horizontal offset at which the texture is rendered. | / | |
texture_offset_y | Integer | Vertical offset at which the texture is rendered. | / | |
items | Item ID or variant group array | Items and/or multiversal variant groups displayed in this section. | / |
{
"type": "fancytabsections:textured",
"id": "palladium:example"
}