Repository navigation
Resource Pack Backpack Models
Pack type: Resource pack · Location:
assets/fxntstorage/Part of Customizing Create: Storage. New to resource packs? Start with Resource packs there.
Every backpack appearance (in the inventory and hand, placed in the world, and worn on a player) comes from standard Minecraft model and texture files, so a resource pack can replace any of them without code.
Contents
| Type | File prefix |
|---|---|
| Industrial Iron | backpack |
| Andesite | andesite_backpack |
| Copper | copper_backpack |
| Brass | brass_backpack |
| Hardened | hardened_backpack |
Below, <type> means one of the prefixes above. All paths are under assets/fxntstorage/.
| Appearance | Model | Default parent |
|---|---|---|
| Placed block | models/block/<type>.json |
models/block/backpack.json (the shared geometry) |
| Inventory / hand / dropped | models/item/<type>.json |
models/block/<type>.json + display transforms |
| Worn on player | models/block/<type>_worn.json |
models/block/<type>.json |
Textures live at textures/block/<type>.png (128×128 by default) and are referenced from the models' textures block,
so you can also point a model at any texture of your own.
Because each model inherits from the one above it, overriding a parent changes everything below it:
-
Retexture everything — replace
textures/block/<type>.png. -
Reshape every appearance — replace
models/block/backpack.json(all types) ormodels/block/<type>.json(one type). -
Change only the worn look — replace
models/block/<type>_worn.jsonwith its own elements, or point itsparentat a different model. -
Change only the item look — replace
models/item/<type>.json.
The worn model uses the same 0–16 block grid as the placed model and is attached to the player's body, following it as the player walks and crouches:
- North (−Z) faces away from the player's back (the front pocket side).
- South (+Z) rests against the player's back.
- Y = 0 is the bottom of the backpack.
The easiest workflow is to edit the block model in Blockbench (Java Block/Item format), check it placed in the world,
then copy it to <type>_worn.json if you want the worn version to differ.
Notes:
- Models render with cutout transparency, so pixels are either fully opaque or fully transparent.
The black outline shown when looking at a placed backpack, and the area you can click, follow the placed block model
(models/block/<type>.json and its parents). Each of the model's elements becomes a box in the outline, so a reshaped
backpack gets a matching outline automatically after F3 + T.
- Element rotations are ignored: a rotated element is outlined as if it weren't rotated.
- If the model has no
elements(for example, a model from a custom model loader), the default outline is used. - The collision shape (what players and mobs bump into) doesn't change. It has to be the same on the server and every client, and resource packs are client-only.
A backpack with an active Portable Workshop upgrade shows small spinning flywheels. By default, there are two, one on each side. Their position, size and count can be set per backpack type, and they have their own model.
| File | Used for |
|---|---|
backpack_flywheels/<type>.json |
One backpack type |
backpack_flywheels/default.json |
Every type without its own file |
The default file ships with the mod:
{
"flywheels": [
{
"position": [ 1.92, 6.4, 8 ],
"size": 2.4,
"axis": "x"
},
{
"position": [ 14.08, 6.4, 8 ],
"size": 2.4,
"axis": "x"
}
]
}| Field | Required | Description |
|---|---|---|
flywheels |
Yes | A list of flywheels. Each entry draws one flywheel, and an empty list hides them. |
worn |
No | Replaces flywheels while the backpack is worn. Use it if your <type>_worn.json model is shaped differently from the block model. |
Each flywheel entry has:
| Field | Default | Description |
|---|---|---|
position |
— | The flywheel's centre as [x, y, z], in the backpack model's 0–16 pixel grid. |
size |
2.4 |
Diameter in pixels on the pixel grid. |
axis |
"x" |
The axis the flywheel spins around: "x", "y" or "z". |
reverse |
false |
Set to true to spin the flywheel the other way, e.g. a counter-rotating pair. |
Positions use the same grid as the backpack model, so you can read coordinates straight from Blockbench. The flywheels stay lined up with the placed, held and worn backpack, including while the player crouches.
A single, larger flywheel on the back, at the south side against the player:
{
"flywheels": [
{
"position": [ 8, 6, 13 ],
"size": 4,
"axis": "z"
}
]
}No flywheels for this backpack type:
{
"flywheels": []
}A counter-rotating pair:
{
"flywheels": [
{
"position": [ 1.92, 6.4, 8 ]
},
{
"position": [ 14.08, 6.4, 8 ],
"reverse": true
}
]
}Flywheels on the placed block only, hidden while worn:
{
"flywheels": [
{
"position": [ 1.92, 6.4, 8 ]
},
{
"position": [ 14.08, 6.4, 8 ]
}
],
"worn": []
}The flywheels use models/block/backpack_flywheel.json, which by default points to Create's flywheel mesh. Replacing it
changes only the backpack flywheels. Create's flywheel blocks keep their normal look.
- Build the model as a full 0–16 block, lying flat and spinning around the Y axis, like Create's flywheel. It is
scaled down to
sizeand turned onto theaxisset in the layout. - The model is shared by all backpack types.
Notes:
- Press
F3 + Tto reload resource packs and see layout or model changes. - If a layout file has an error, the error is logged in
latest.logand the file is ignored, so that backpack type uses the default layout. - Players can still turn the flywheels off entirely with the
workshopFlywheelVisualsclient config option.