|
|
1 month ago | |
|---|---|---|
| gradle/wrapper | 2 months ago | |
| src/main | 2 months ago | |
| .gitignore | 2 months ago | |
| README.md | 2 months ago | |
| build.gradle | 2 months ago | |
| gradle.properties | 1 month ago | |
| gradlew | 2 months ago | |
| gradlew.bat | 2 months ago | |
| settings.gradle | 2 months ago | |
README.md
Decocraft Pack Template
Universal addon pack for Decocraft. No Java code needed. Single jar works on both NeoForge and Fabric.
Quick Start
- Clone this repo
- Edit
gradle.properties- changemod_id,mod_name,mod_description,mod_authors - Edit
settings.gradle- changerootProject.name - Rename
src/main/resources/assets/decocraft/mypack.jsonto your pack name - Update
decocraft.jsonto point to your renamed file andgroups.json - Edit
groups.jsonto define your creative tabs - Add your content (see below)
./gradlew build- jar goes tobuild/libs/
The output jar contains both fabric.mod.json and META-INF/neoforge.mods.toml,
so it loads on either mod loader without separate builds.
File Structure
assets/decocraft/
decocraft.json - manifest: lists groups.json + your content files
groups.json - creative tab definitions
mypack.json - block/item definitions
models/bbmodel/{model}.bbmodel - BlockBench 3D models
textures/block/{material}.png - block textures
textures/item/{material}.png - item/inventory textures
lang/en_us.json - display names + tab labels
All assets go under the decocraft namespace.
Blockstates, block models, item models, item definitions, and loot tables are all generated dynamically at runtime by the main Decocraft mod. You do NOT need to create these files.
Per Block Checklist
For each block you add, you need:
| File | Purpose |
|---|---|
mypack.json |
Entry in the models array |
models/bbmodel/{model}.bbmodel |
BlockBench 3D model |
textures/block/{material}.png |
Block texture |
textures/item/{material}.png |
Item texture |
lang/en_us.json |
"block.decocraft.{decoref}": "Display Name" |
That is it. Everything else is handled automatically.
Manifest (decocraft.json)
Simple array listing files to load. Include groups.json first:
[
"groups.json",
"mypack.json"
]
Decocraft merges manifests from all jars, so your pack's files are loaded alongside the base decocraft files.
Creative Tabs (groups.json)
Declare tabs with a translation key and icon block:
{
"my_tab": { "label": "itemGroup.decocraft.my_tab", "icon": "some_block_id" }
}
Then add the display name in lang/en_us.json:
"itemGroup.decocraft.my_tab": "Decocraft - My Tab"
The icon must match a block's decoref from your content JSON. Tabs from
all packs are merged. If the base decocraft already defines a tab key, your
blocks will appear in that existing tab.
Content JSON Entry
{
"name": "Display Name",
"model": "bbmodel_filename_without_extension",
"material": "texture_name",
"scale": 1.0,
"tabs": "your_tab_name",
"crafting_color": [50.0, 50.0, 50.0],
"decoref": "unique_block_id"
}
Common Types
| type | behavior |
|---|---|
| (empty/omitted) | Basic decoration block (default) |
"underlayer" |
Wall/floor mounted virtual overlay (paintings, carpets) |
"animated" |
Block with keyframe animations |
"rotatable" |
Block that places at 45 degree increments |
"bed" |
Sleepable bed |
"seat" |
Sittable block |
"chain" |
Chain/rope connector |
Optional Fields
"hidden": true- registered but not in creative tabs"transparency": true- translucent rendering"passable": true- no collision"loot": "other_decoref"- override what drops when broken"flipbook": {"frametime": 4, "images": 6}- animated texture"script"- tool_modelswitch, on_use, sounds, particles, etc.
Model Switching (cycle variants with decobrush)
"script": {
"tool_modelswitch": {
"link": "next_variant_id"
}
}
Chain the last variant back to the first to create a cycle.
Full Documentation
See json_documentation.md in the main Decocraft mod for the complete
field reference with examples of every block type.
Version Compatibility
Version ranges are open ended, so the pack works with any Decocraft 4.0+
on Minecraft 26.1+. Bump decocraft_version in gradle.properties if you
use features from a newer decocraft release.