# Decocraft Pack Template Universal resource-only addon pack for Decocraft. No Java code needed. Single jar works on both **NeoForge** and **Fabric**. ## Quick Start 1. Clone this repo 2. Edit `gradle.properties` - change `mod_id`, `mod_name`, `mod_description`, `mod_authors` 3. Edit `settings.gradle` - change `rootProject.name` 4. Rename `src/main/resources/assets/decocraft/mypack.json` to your pack name 5. Update `decocraft.json` to point to your renamed file 6. Add your content (see below) 7. `./gradlew build` - jar goes to `build/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. ## Adding Content For each block you add, you need: | File | Purpose | |------|---------| | `mypack.json` | Entry in the `models` array defining the block | | `group.json` | Used to define groups for a pack that can be used structure is | `example` "food": { "label": "itemGroup.decocraft.food" "icon": "bowl_of_cereal_minecraft" }," | `models/bbmodel/{model}.bbmodel` | BlockBench model file | | `textures/block/{id}.png` | Block texture | | `textures/item/{id}.png` | Item/inventory texture | | `lang/en_us.json` | Display name: `"block.decocraft.{id}": "Name"` | All assets go under `assets/decocraft/` (the main decocraft namespace). ## Content JSON Entry Fields ```json { "name": "Display Name", "model": "bbmodel_filename_without_extension", "material": "texture_name", "scale": 1.0, "tabs": "your_tab_name", "type": "", "crafting_color": [50.0, 50.0, 50.0], "decoref": "unique_block_id" } ``` ### Common Types | type | behavior | |------|----------| | `""` (empty) | Standard decoration block | | `"painting"` | Wall-mounted underlay (no physical block) | | `"animated"` | Block with keyframe animations | | `"chain"` | Chain/rope entity | ### Optional Fields - `"hidden": true` - registered but not in creative tabs - `"transparency": true` - translucent rendering - `"passable": true` - no collision - `"script"` - tool_modelswitch, on_use, triggers, particles, etc. ### Model Switching (cycle variants with decobrush) ```json "script": { "tool_modelswitch": { "link": "next_variant_id" } } ``` Chain the last variant back to the first to create a cycle. ## Creative Tab Your `tabs` value becomes a creative tab. Add the tab name to `lang/en_us.json`: ```json "itemGroup.decocraft.your_tab_name": "Decocraft - Your Tab" ``` ## Version Compatibility Version ranges are open-ended (`>=`), so the pack works with any Decocraft 3.0.7+ on Minecraft 26.1+. Bump `decocraft_version` in `gradle.properties` if you use features from a newer decocraft release.