This is the repository for the decocraft/decocraft-nature pack template. Designed to be used with fabric and neoforge with the same jar, it's very simple to set a pack up
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.
Go to file
MomokoKoigakubo aa162ff3ee Remove system specific java home path from gradle.properties 1 month ago
gradle/wrapper Decocraft pack template master 2 months ago
src/main Decocraft pack template master 2 months ago
.gitignore Decocraft pack template master 2 months ago
README.md Decocraft pack template master 2 months ago
build.gradle Decocraft pack template master 2 months ago
gradle.properties Remove system specific java home path from gradle.properties 1 month ago
gradlew Decocraft pack template master 2 months ago
gradlew.bat Decocraft pack template master 2 months ago
settings.gradle Decocraft pack template master 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

  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 and groups.json
  6. Edit groups.json to define your creative tabs
  7. Add your content (see below)
  8. ./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.

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.