Shine Pack Authoring
A Shine Pack is a normal client resource pack with an opt-in Shine manifest. Its definitions add, replace, filter, or disable Shine bird species and interactive flower variants without Java code.
Birds and interactive flowers are the content types supported by this format. Presets, resource defaults, and the .shinepack archives used by Custom Particle Packs use separate formats.
Pack Layout
my-shine-pack/
|-- pack.mcmeta
`-- assets/example/
|-- shine/
| |-- pack.json
| |-- birds/
| | `-- cardinal.json
| `-- flowers/
| `-- bluebell.json
`-- textures/particle/
|-- birds/
| `-- cardinal_*.png
`-- flowers/
`-- bluebell.pngManifest
assets/<namespace>/shine/pack.json opts the resource pack into Shine:
{
"schema": "shine-pack-v1",
"name": "Example Nature Pack",
"description": "Cardinals and bluebells for Shine.",
"author": "Example Author",
"version": "1.0.0"
}Only definitions from a resource pack with a valid manifest are loaded. Shine reads the pack during the normal Minecraft resource reload.
Definition IDs and Priority
The definition path becomes its namespaced ID:
assets/example/shine/birds/cardinal.json -> example:cardinal
assets/example/shine/flowers/bluebell.json -> example:bluebellA new ID adds content. A matching ID replaces the lower-priority definition, and the highest enabled resource pack wins when multiple packs provide the same path. Setting enabled to false removes that ID.
Bird Species
Bird files belong under assets/<namespace>/shine/birds/ and use shine-bird-v1:
{
"schema": "shine-bird-v1",
"weight": 1.5,
"sizeMultiplier": 1.0,
"flightAnimation": "ping_pong",
"hingedWingStyle": "none",
"biomes": ["#minecraft:is_forest"],
"excludeBiomes": ["minecraft:snowy_taiga"],
"dimensions": ["minecraft:overworld"],
"weather": "clear",
"time": "day",
"frames": {
"idleLeft": "example:birds/cardinal_idle_left",
"idleRight": "example:birds/cardinal_idle_right",
"checkingLeft": "example:birds/cardinal_checking_left",
"checkingRight": "example:birds/cardinal_checking_right",
"flyingLeft": [
"example:birds/cardinal_flying_left_1",
"example:birds/cardinal_flying_left_2"
],
"flyingRight": [
"example:birds/cardinal_flying_right_1",
"example:birds/cardinal_flying_right_2"
]
}
}Texture IDs are relative to assets/<namespace>/textures/particle/ and omit .png. All four static frame IDs and both flying-frame arrays are required. A flying array can contain 1 to 16 textures.
| Field | Values |
|---|---|
weight | Relative selection weight from 0.01 to 100; defaults to 1. |
sizeMultiplier | Scale from 0.1 to 4; defaults to 1. |
flightAnimation | loop or ping_pong; defaults to loop. |
hingedWingStyle | none, brown, or black; none uses the supplied billboard frames. |
Interactive Flowers
Flower files belong under assets/<namespace>/shine/flowers/ and use shine-flower-v1:
{
"schema": "shine-flower-v1",
"texture": "example:flowers/bluebell",
"weight": 2.0,
"sizeMultiplier": 0.9,
"tint": "#A9C8FF",
"biomes": ["minecraft:meadow", "#minecraft:is_forest"],
"excludeBiomes": ["minecraft:dark_forest"],
"dimensions": ["minecraft:overworld"],
"blocks": ["minecraft:grass_block", "#minecraft:dirt"],
"excludeBlocks": ["minecraft:coarse_dirt"],
"weather": "any",
"time": "any"
}texture uses the same textures/particle/ path rules as bird frames. weight and sizeMultiplier use the bird ranges, and tint accepts #RRGGBB or a color integer. When blocks is omitted, the flower uses minecraft:grass_block.
Shared Filters
| Field | Accepted Values |
|---|---|
enabled | true or false |
biomes, excludeBiomes | Biome IDs and #biome_tag entries |
dimensions, excludeDimensions | Dimension IDs |
weather | any, clear, rain, or thunder |
time | any, day, or night |
blocks, excludeBlocks | Flower-only block IDs and #block_tag entries |
Omitted or empty biome and dimension lists do not restrict those environments. Exclusion fields are applied after inclusion fields.
Built-In Definitions
Shine loads its built-in definitions before resource-pack content:
assets/shine/shine/birds/brown_bird.json
assets/shine/shine/birds/black_bird.json
assets/shine/shine/flowers/flower_00.json ... flower_07.jsonProvide one of these matching paths to replace it. To disable it, the matching file only needs its schema and enabled: false:
{
"schema": "shine-bird-v1",
"enabled": false
}Diagnostics
Shine > Custom > Shine Packs lists detected packs, contributed definition counts, and load errors. A malformed definition or missing texture disables only the affected bird or flower; other valid definitions continue loading.
Shine also limits pack counts, definition counts, flight frames, texture dimensions, and atlas size to keep resource reloads bounded.