You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
deco-packs/README.md

88 lines
2.6 KiB
Markdown

# 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 " "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.