diff --git a/README.md b/README.md index 9a5c675..d25dd89 100644 --- a/README.md +++ b/README.md @@ -1,90 +1,44 @@ -# Decocraft Pack Template +# Decocraft Paintings Pack -Universal resource-only addon pack for Decocraft. No Java code needed. -Single jar works on both **NeoForge** and **Fabric**. +Universal addon pack adding 48 paintings to Decocraft. +Single jar works on both NeoForge and Fabric. -## Quick Start +## Contents -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/` +- 5 painting series with variants (48 total) +- Painting 1: 10 variants (A-J) +- Painting 2: 11 variants (A-K) +- Painting 3: 11 variants (A-K) +- Painting 4: 11 variants (A-K) +- Painting 5: 5 variants (A-E) -The output jar contains both `fabric.mod.json` and `META-INF/neoforge.mods.toml`, -so it loads on either mod loader without separate builds. +Each series shares a BBModel shape with different textures per variant. +Variants cycle with the decobrush tool. -## Adding Content +## File Structure -For each block you add, you need: - -| File | Purpose | -|------|---------| -| `mypack.json` | Entry in the `models` array defining the block | -| `blockstates/{id}.json` | 4 facing variants pointing to block model | -| `models/block/{id}.json` | Block model referencing bbmodel + texture | -| `models/item/{id}.json` | Item model referencing item texture | -| `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" - } -} +assets/decocraft/ + decocraft.json - manifest + groups.json - paintings creative tab + paintings.json - all 48 painting definitions + models/bbmodel/ - 5 BBModel files (one per series) + textures/block/ - 48 block textures + textures/item/ - 48 item textures + lang/en_us.json - display names ``` -Chain the last variant back to the first to create a cycle. +Blockstates, block models, item models, item definitions, and loot tables +are all generated dynamically at runtime by the main Decocraft mod. -## Creative Tab +## Building -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" ``` +./gradlew build +``` + +Output jar goes to `build/libs/`. ## 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. \ No newline at end of file +Works with Decocraft 4.0+ on Minecraft 26.1+.