2 Commits
232 changed files with 269 additions and 1882 deletions
+143
View File
@@ -0,0 +1,143 @@
# 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:
```json
[
"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:
```json
{
"my_tab": { "label": "itemGroup.decocraft.my_tab", "icon": "some_block_id" }
}
```
Then add the display name in `lang/en_us.json`:
```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
```json
{
"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)
```json
"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.
+6 -6
View File
@@ -10,14 +10,14 @@ minecraft_version_range=[26.1,)
neoforge_loader_range=[4,)
fabric_loader_version=0.18.2
## Mod Properties
mod_id=decocraft_cottagecore
mod_name=Decocraft Cottagecore Addon
## Mod Properties - CHANGE THESE for your pack
mod_id=decocraft_mypack
mod_name=Decocraft My Pack
mod_license=All Rights Reserved
mod_version=1.0.0
mod_group_id=com.razz.decocraft.cottagecore
mod_authors=Momo, Razz, ProfMobius, CiciHoneyBee
mod_description=Adds cottagecore decorations to Decocraft
mod_group_id=com.razz.decocraft.mypack
mod_authors=YourName
mod_description=Adds new decorations to Decocraft
# Decocraft minimum version
decocraft_version=3.0.7
Binary file not shown.
+1 -1
View File
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-9.0.0-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.0-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
Vendored
+1 -1
View File
@@ -1,7 +1,7 @@
#!/bin/sh
#
# Copyright © 2015 the original authors.
# Copyright © 2015-2021 the original authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
+1 -1
View File
@@ -8,4 +8,4 @@ plugins {
id 'org.gradle.toolchains.foojay-resolver-convention' version '0.9.0'
}
rootProject.name = 'decocraft-cottagecore'
rootProject.name = 'decocraft-mypack'
File diff suppressed because it is too large Load Diff
@@ -1,4 +1,4 @@
[
"groups.json",
"cottagecore.json"
"mypack.json"
]
@@ -1,3 +1,3 @@
{
"cottagecore": { "label": "itemGroup.decocraft.cottagecore", "icon": "cottage_armchair" }
"mypack": { "label": "itemGroup.decocraft.mypack", "icon": "example_block" }
}
@@ -0,0 +1,5 @@
{
"itemGroup.decocraft.mypack": "Decocraft - My Pack",
"block.decocraft.example_block": "Example Block",
"item.decocraft.example_block": "Example Block"
}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,13 @@
{
"models": [
{
"name": "Example Block",
"model": "example_block",
"material": "example_block",
"scale": 1.0,
"tabs": "mypack",
"crafting_color": [50.0, 50.0, 50.0],
"decoref": "example_block"
}
]
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 402 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 487 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 464 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 471 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 471 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 466 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 585 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 483 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 486 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 458 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 467 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 481 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 479 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 467 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 804 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 557 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 558 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 575 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 580 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 560 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 571 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 623 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 564 B

Some files were not shown because too many files have changed in this diff Show More