Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
aa162ff3ee | ||
|
|
1db17ed64e |
@@ -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.
|
||||
+7
-7
@@ -10,14 +10,14 @@ minecraft_version_range=[26.1,)
|
||||
neoforge_loader_range=[4,)
|
||||
fabric_loader_version=0.18.2
|
||||
|
||||
## Mod Properties
|
||||
mod_id=decocraft_medieval
|
||||
mod_name=Decocraft Medieval 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.medieval
|
||||
mod_authors=Momo, Razz, ProfMobius
|
||||
mod_description=Adds medieval 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
|
||||
decocraft_version=3.0.7
|
||||
Vendored
BIN
Binary file not shown.
+1
-3
@@ -1,9 +1,7 @@
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-9.5.0-bin.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.0-bin.zip
|
||||
networkTimeout=10000
|
||||
retries=0
|
||||
retryBackOffMs=500
|
||||
validateDistributionUrl=true
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
|
||||
@@ -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.
|
||||
|
||||
Vendored
+94
-94
@@ -1,94 +1,94 @@
|
||||
@rem
|
||||
@rem Copyright 2015 the original author or authors.
|
||||
@rem
|
||||
@rem Licensed under the Apache License, Version 2.0 (the "License");
|
||||
@rem you may not use this file except in compliance with the License.
|
||||
@rem You may obtain a copy of the License at
|
||||
@rem
|
||||
@rem https://www.apache.org/licenses/LICENSE-2.0
|
||||
@rem
|
||||
@rem Unless required by applicable law or agreed to in writing, software
|
||||
@rem distributed under the License is distributed on an "AS IS" BASIS,
|
||||
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
@rem See the License for the specific language governing permissions and
|
||||
@rem limitations under the License.
|
||||
@rem
|
||||
@rem SPDX-License-Identifier: Apache-2.0
|
||||
@rem
|
||||
|
||||
@if "%DEBUG%"=="" @echo off
|
||||
@rem ##########################################################################
|
||||
@rem
|
||||
@rem Gradle startup script for Windows
|
||||
@rem
|
||||
@rem ##########################################################################
|
||||
|
||||
@rem Set local scope for the variables with windows NT shell
|
||||
if "%OS%"=="Windows_NT" setlocal
|
||||
|
||||
set DIRNAME=%~dp0
|
||||
if "%DIRNAME%"=="" set DIRNAME=.
|
||||
@rem This is normally unused
|
||||
set APP_BASE_NAME=%~n0
|
||||
set APP_HOME=%DIRNAME%
|
||||
|
||||
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
|
||||
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
|
||||
|
||||
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
|
||||
|
||||
@rem Find java.exe
|
||||
if defined JAVA_HOME goto findJavaFromJavaHome
|
||||
|
||||
set JAVA_EXE=java.exe
|
||||
%JAVA_EXE% -version >NUL 2>&1
|
||||
if %ERRORLEVEL% equ 0 goto execute
|
||||
|
||||
echo. 1>&2
|
||||
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
|
||||
echo. 1>&2
|
||||
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
|
||||
echo location of your Java installation. 1>&2
|
||||
|
||||
goto fail
|
||||
|
||||
:findJavaFromJavaHome
|
||||
set JAVA_HOME=%JAVA_HOME:"=%
|
||||
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
|
||||
|
||||
if exist "%JAVA_EXE%" goto execute
|
||||
|
||||
echo. 1>&2
|
||||
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
|
||||
echo. 1>&2
|
||||
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
|
||||
echo location of your Java installation. 1>&2
|
||||
|
||||
goto fail
|
||||
|
||||
:execute
|
||||
@rem Setup the command line
|
||||
|
||||
set CLASSPATH=
|
||||
|
||||
|
||||
@rem Execute Gradle
|
||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %*
|
||||
|
||||
:end
|
||||
@rem End local scope for the variables with windows NT shell
|
||||
if %ERRORLEVEL% equ 0 goto mainEnd
|
||||
|
||||
:fail
|
||||
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
|
||||
rem the _cmd.exe /c_ return code!
|
||||
set EXIT_CODE=%ERRORLEVEL%
|
||||
if %EXIT_CODE% equ 0 set EXIT_CODE=1
|
||||
if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
|
||||
exit /b %EXIT_CODE%
|
||||
|
||||
:mainEnd
|
||||
if "%OS%"=="Windows_NT" endlocal
|
||||
|
||||
:omega
|
||||
@rem
|
||||
@rem Copyright 2015 the original author or authors.
|
||||
@rem
|
||||
@rem Licensed under the Apache License, Version 2.0 (the "License");
|
||||
@rem you may not use this file except in compliance with the License.
|
||||
@rem You may obtain a copy of the License at
|
||||
@rem
|
||||
@rem https://www.apache.org/licenses/LICENSE-2.0
|
||||
@rem
|
||||
@rem Unless required by applicable law or agreed to in writing, software
|
||||
@rem distributed under the License is distributed on an "AS IS" BASIS,
|
||||
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
@rem See the License for the specific language governing permissions and
|
||||
@rem limitations under the License.
|
||||
@rem
|
||||
@rem SPDX-License-Identifier: Apache-2.0
|
||||
@rem
|
||||
|
||||
@if "%DEBUG%"=="" @echo off
|
||||
@rem ##########################################################################
|
||||
@rem
|
||||
@rem Gradle startup script for Windows
|
||||
@rem
|
||||
@rem ##########################################################################
|
||||
|
||||
@rem Set local scope for the variables with windows NT shell
|
||||
if "%OS%"=="Windows_NT" setlocal
|
||||
|
||||
set DIRNAME=%~dp0
|
||||
if "%DIRNAME%"=="" set DIRNAME=.
|
||||
@rem This is normally unused
|
||||
set APP_BASE_NAME=%~n0
|
||||
set APP_HOME=%DIRNAME%
|
||||
|
||||
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
|
||||
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
|
||||
|
||||
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
|
||||
|
||||
@rem Find java.exe
|
||||
if defined JAVA_HOME goto findJavaFromJavaHome
|
||||
|
||||
set JAVA_EXE=java.exe
|
||||
%JAVA_EXE% -version >NUL 2>&1
|
||||
if %ERRORLEVEL% equ 0 goto execute
|
||||
|
||||
echo. 1>&2
|
||||
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
|
||||
echo. 1>&2
|
||||
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
|
||||
echo location of your Java installation. 1>&2
|
||||
|
||||
goto fail
|
||||
|
||||
:findJavaFromJavaHome
|
||||
set JAVA_HOME=%JAVA_HOME:"=%
|
||||
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
|
||||
|
||||
if exist "%JAVA_EXE%" goto execute
|
||||
|
||||
echo. 1>&2
|
||||
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
|
||||
echo. 1>&2
|
||||
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
|
||||
echo location of your Java installation. 1>&2
|
||||
|
||||
goto fail
|
||||
|
||||
:execute
|
||||
@rem Setup the command line
|
||||
|
||||
set CLASSPATH=
|
||||
|
||||
|
||||
@rem Execute Gradle
|
||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %*
|
||||
|
||||
:end
|
||||
@rem End local scope for the variables with windows NT shell
|
||||
if %ERRORLEVEL% equ 0 goto mainEnd
|
||||
|
||||
:fail
|
||||
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
|
||||
rem the _cmd.exe /c_ return code!
|
||||
set EXIT_CODE=%ERRORLEVEL%
|
||||
if %EXIT_CODE% equ 0 set EXIT_CODE=1
|
||||
if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
|
||||
exit /b %EXIT_CODE%
|
||||
|
||||
:mainEnd
|
||||
if "%OS%"=="Windows_NT" endlocal
|
||||
|
||||
:omega
|
||||
|
||||
+1
-1
@@ -8,4 +8,4 @@ plugins {
|
||||
id 'org.gradle.toolchains.foojay-resolver-convention' version '0.9.0'
|
||||
}
|
||||
|
||||
rootProject.name = 'decocraft-medieval'
|
||||
rootProject.name = 'decocraft-mypack'
|
||||
@@ -1,4 +1,4 @@
|
||||
[
|
||||
"groups.json",
|
||||
"medieval.json"
|
||||
]
|
||||
"mypack.json"
|
||||
]
|
||||
@@ -1,3 +1,3 @@
|
||||
{
|
||||
"medieval": { "label": "itemGroup.decocraft.medieval", "icon": "spinning_wheel" }
|
||||
}
|
||||
"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 it is too large
Load Diff
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
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
@@ -1,289 +0,0 @@
|
||||
{
|
||||
"bedrock_animation_mode": "entity",
|
||||
"elements": [
|
||||
{
|
||||
"autouv": 0,
|
||||
"box_uv": false,
|
||||
"color": 7,
|
||||
"faces": {
|
||||
"east": {
|
||||
"texture": 6,
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
1.5,
|
||||
16.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": 6,
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
1.5,
|
||||
16.0
|
||||
]
|
||||
}
|
||||
},
|
||||
"from": [
|
||||
0.0,
|
||||
0.0,
|
||||
-0.75
|
||||
],
|
||||
"isReference": false,
|
||||
"locked": false,
|
||||
"name": "chain",
|
||||
"origin": [
|
||||
0.0,
|
||||
10.50393009185791,
|
||||
0.0
|
||||
],
|
||||
"rescale": false,
|
||||
"rotation": [
|
||||
0.0,
|
||||
90.0,
|
||||
0.0
|
||||
],
|
||||
"to": [
|
||||
0.0,
|
||||
16.0,
|
||||
0.75
|
||||
],
|
||||
"type": "cube",
|
||||
"uuid": "07fca44e-b395-94c4-416b-da66e20530f6",
|
||||
"visibility": true
|
||||
},
|
||||
{
|
||||
"autouv": 0,
|
||||
"box_uv": false,
|
||||
"color": 7,
|
||||
"faces": {
|
||||
"east": {
|
||||
"texture": 6,
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
1.5,
|
||||
16.0
|
||||
]
|
||||
},
|
||||
"west": {
|
||||
"texture": 6,
|
||||
"uv": [
|
||||
0.0,
|
||||
0.0,
|
||||
1.5,
|
||||
16.0
|
||||
]
|
||||
}
|
||||
},
|
||||
"from": [
|
||||
0.0,
|
||||
0.0,
|
||||
-0.75
|
||||
],
|
||||
"isReference": false,
|
||||
"locked": false,
|
||||
"name": "chain",
|
||||
"origin": [
|
||||
0.0,
|
||||
-29.924999237060547,
|
||||
-0.014720000326633453
|
||||
],
|
||||
"rescale": false,
|
||||
"to": [
|
||||
0.0,
|
||||
16.0,
|
||||
0.75
|
||||
],
|
||||
"type": "cube",
|
||||
"uuid": "5aea2e77-03bf-1a98-d8b5-affa9a0ca70f",
|
||||
"visibility": true
|
||||
}
|
||||
],
|
||||
"groups": [
|
||||
{
|
||||
"color": 0,
|
||||
"export": true,
|
||||
"isOpen": true,
|
||||
"isReference": false,
|
||||
"locked": false,
|
||||
"name": "chain",
|
||||
"origin": [
|
||||
0.0,
|
||||
8.0,
|
||||
0.0
|
||||
],
|
||||
"rotation": [
|
||||
0.0,
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"scale": [
|
||||
1.0,
|
||||
1.0,
|
||||
1.0
|
||||
],
|
||||
"uuid": "41031679-9394-79dc-9da9-6796ea742e3f",
|
||||
"visibility": true
|
||||
}
|
||||
],
|
||||
"meta": {
|
||||
"box_uv": false,
|
||||
"format_version": "5.0",
|
||||
"model_format": "bedrock"
|
||||
},
|
||||
"model_identifier": "chandelier_chain",
|
||||
"multi_file_ruleset": "",
|
||||
"name": "chain",
|
||||
"outliner": [
|
||||
{
|
||||
"children": [
|
||||
"07fca44e-b395-94c4-416b-da66e20530f6",
|
||||
"5aea2e77-03bf-1a98-d8b5-affa9a0ca70f"
|
||||
],
|
||||
"color": 0,
|
||||
"isOpen": true,
|
||||
"isReference": false,
|
||||
"locked": false,
|
||||
"name": "chain",
|
||||
"origin": [
|
||||
0.0,
|
||||
8.0,
|
||||
0.0
|
||||
],
|
||||
"rotation": [
|
||||
0.0,
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"scale": [
|
||||
1.0,
|
||||
1.0,
|
||||
1.0
|
||||
],
|
||||
"uuid": "41031679-9394-79dc-9da9-6796ea742e3f",
|
||||
"visibility": true
|
||||
}
|
||||
],
|
||||
"resolution": {
|
||||
"height": 16,
|
||||
"width": 16
|
||||
},
|
||||
"textures": [
|
||||
{
|
||||
"frame_time": 1,
|
||||
"height": 32,
|
||||
"id": "0",
|
||||
"interpolate": false,
|
||||
"name": "chain_black.png",
|
||||
"render_mode": "default",
|
||||
"render_sides": "auto",
|
||||
"source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABYElEQVR4XmNkAAJDK5f/54/tAbMZaABc/OP+//r5k+HXz+8MP39+Y/j1/SeQ/s7w68c3BkaQ5J6NixhVtEz+37l2hiaOOHrmwv/3nz4xfALi3z9+MHz49Jnh8+fPDD++f2NgAbkM5GmQaxhoBKy+rmX4+fYLw/fPPxm+ff3J8OXLN4b3Hz4zvHz2moEuUfDtovX/r2//MPz8/Ifh17c/DN+//Wb4/OkHw7tXHxlY6BEFx47JM3z68pnh48fPDF++AzEwFD5//Mnw6fMv+kRBxun7DH+//2ZgAON/DAw/2RgYfvMz/P3FRZ8oACa+/z+BueD3798MIPoHMCH++vWL4evXr/TJBZaWlv9Blv79+5cBhP/8+cMAw3TJBcePH8efvUEFEcNAAVAuANkNKogGwg1M9CiICHpsNApoXReMRgG+EBjNBQyjBRGsUTpaF9CyUTpaEI0WRHjTwGhBNOILIgB2siFV/NknLQAAAABJRU5ErkJggg==",
|
||||
"uuid": "60aee482-c499-d167-63ac-c3d8acc2cf9a",
|
||||
"uv_height": 32,
|
||||
"uv_width": 32,
|
||||
"width": 32,
|
||||
"wrap_mode": "limited"
|
||||
},
|
||||
{
|
||||
"frame_time": 1,
|
||||
"height": 32,
|
||||
"id": "0",
|
||||
"interpolate": false,
|
||||
"name": "chain_silver.png",
|
||||
"render_mode": "default",
|
||||
"render_sides": "auto",
|
||||
"source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABS0lEQVR4XmNkAIKFK9b8j48IAbMZaACOnrnw//2nTwyfgPj3jx8MHz59Zvj8+TPDj+/fGJhAkiDLW3on/WcYAMACchnIXpBraGW/1de1DD/ffmH4/vknw7evPxm+fPnG8P7DZ4aXz14z0CUKvl20/v/17R+Gn5//MPz69ofh+7ffDJ8//WB49+ojAwsoCqxNDBhBUVBTnEeTdHDsmDzDpy+fGT5+/Mzw5TsQA0Ph88efDJ8+/2KgSxRknL7P8Pf7bwYGMP7HwPCTjYHhNz/D319c9IkCYOr///PnT4bfv38zgOgfwJzw69cvhq9fvzIw0iMKLC0t/4Ms/fv3LwMI//nzhwGG6RIFx48fx5+2QAURw0ABUBSA7B6ogoiJHgURwcAdjQJa1wWjUYAvBEZzAcNoQQRrlI7WBbRslI4WRKMFEd40MFoQjfiCCABonSqbWf4z4gAAAABJRU5ErkJggg==",
|
||||
"uuid": "704b804c-2219-32c1-1131-16f76d175b21",
|
||||
"uv_height": 32,
|
||||
"uv_width": 32,
|
||||
"width": 32,
|
||||
"wrap_mode": "limited"
|
||||
},
|
||||
{
|
||||
"frame_time": 1,
|
||||
"height": 32,
|
||||
"id": "0",
|
||||
"interpolate": false,
|
||||
"name": "chain_rose_gold.png",
|
||||
"render_mode": "default",
|
||||
"render_sides": "auto",
|
||||
"source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABKklEQVR4XmNkAIKnk5P/S+fOBbMZaAD+H6z9//PVF4bvn38yfPv6k+HLl28M7z98Znj57DUDE0gSZPmJcp//DAMAmEAuA9kLcs1AOIAuUfDtovX/r2//MPz8/Ifh17c/DN+//Wb4/OkHw7tXHxlYQFHAaN/MCIoCi84tNEkHx47JM3z68pnh48fPDF++AzEwHXz++JPh0+dfDCz0iIKM0/cZ/n7/zcAAxv8YGH6yMTD85mf4+4uLgS5R8OnTp/8/f/5k+P37NwOI/vHjB8OvX78Yvn79ysBIjyiwtLT8D7L079+/DCD8588fBhimSxQcP34cf9oCFUQMAwVAUQCye8QWRAywumA0CgaqLhiNggGvjkejYDQKGEbrgtG6YKD7BaMF0WhBNOAFEQBFJRMX4ux9pAAAAABJRU5ErkJggg==",
|
||||
"uuid": "a0133f5c-ad57-0f90-ebae-d746c4cba034",
|
||||
"uv_height": 32,
|
||||
"uv_width": 32,
|
||||
"width": 32,
|
||||
"wrap_mode": "limited"
|
||||
},
|
||||
{
|
||||
"frame_time": 1,
|
||||
"height": 32,
|
||||
"id": "0",
|
||||
"interpolate": false,
|
||||
"name": "chain_gold.png",
|
||||
"render_mode": "default",
|
||||
"render_sides": "auto",
|
||||
"source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABFElEQVR4XmNkAIJ7y/X/K0VeBLMZaAC+XbT+//XtH4afn/8w/Pr2h+H7t98Mnz/9YHj36iMDE0gSZPmJfqX/DAMAmEAuA9kLcs1AOIBF1OkkI62jAJ/HWEBRwKV/lBEUBRaF92iSDo4dk2f49OUzw8ePnxm+fAfirz8ZPn/8yfDp8y8GFnpEQcbp+wx/v/9mYADjfwwMP9kYGH7zM/z9xcVAl1zw6dOn/z9//mT4/fs3A4j+8eMHw69fvxi+fv3KwEiPKLC0tPwPsvTv378MIPznzx8GGKZLFBw/fhx/2gLlAoaBAqAoANk9YgsiBlhdMBoFA1UXjEbBgFfHo1EwGgUMo3XBaF0w0P2C0YJotCAa8IIIAPK4/P4KuKmKAAAAAElFTkSuQmCC",
|
||||
"uuid": "15dbd349-7074-181c-f4cb-678bb3606e98",
|
||||
"uv_height": 32,
|
||||
"uv_width": 32,
|
||||
"width": 32,
|
||||
"wrap_mode": "limited"
|
||||
},
|
||||
{
|
||||
"frame_time": 1,
|
||||
"height": 32,
|
||||
"id": "0",
|
||||
"interpolate": false,
|
||||
"name": "chain_brass.png",
|
||||
"render_mode": "default",
|
||||
"render_sides": "auto",
|
||||
"source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAA9UlEQVR4XmNkAILJxcb/c3vPgtkMNAB7pkf9//TlM8PHj58ZvnwH4q9fGT4D2Z8+f2JgAkmCLK+KlP7PMACACeQykL0g1wyIA4JKNzOComDKls+MA+KAgY4CFnpEQcbp+wx/v/9mYADjfwwMP9kYGH7zM/z9xcVAl1zw6dOn/z9//mT4/fs3A4j+8eMHw69fvxi+AnMDIygKXDKXMYJyQdvypzRJB5aWlv9Blv79+5cBhP/8+cMAw3SJguPHj+P3GCgXMAwUAEUByO4RWxAxwOqC0SgYqLpgNAoGvDoejYLRKGAYrQtG64KB7heMFkSjBdGAF0QA2mjd9D9GS7YAAAAASUVORK5CYII=",
|
||||
"uuid": "5d59e65a-8033-7854-c3ff-4a9665cdac79",
|
||||
"uv_height": 32,
|
||||
"uv_width": 32,
|
||||
"width": 32,
|
||||
"wrap_mode": "limited"
|
||||
},
|
||||
{
|
||||
"frame_time": 1,
|
||||
"height": 32,
|
||||
"id": "0",
|
||||
"interpolate": false,
|
||||
"name": "chain_green.png",
|
||||
"render_mode": "default",
|
||||
"render_sides": "auto",
|
||||
"source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAA2UlEQVR4XmNkAAJFd93/93deBrMZaABUkiz///3+m4EBjP8xMPwEWvX7D8PfX78ZmECSIMsVrbX+MwwAYAK7DGgxyDUD4oD7y88wgqLg0enbjAPigBEfBXTJBZ8+ffr/8+dPht+/fzOA6B8/fjD8+vWL4evXrwyMoCi4M+84IygX3D96jSbpwNLS8j/I0r9//zKA8J8/fxhgmIUeueD48eP4PQbKBQwDBUBRAC4NR2pBxACrC0ajYKDqgtEoGPDqeDQKRqOAYbQuGK0LBrpfMFoQjRZEA14QAQCu3bzqO7ckKwAAAABJRU5ErkJggg==",
|
||||
"uuid": "29d8baba-825e-5845-5716-04c70bfb2fa9",
|
||||
"uv_height": 32,
|
||||
"uv_width": 32,
|
||||
"width": 32,
|
||||
"wrap_mode": "limited"
|
||||
},
|
||||
{
|
||||
"frame_time": 1,
|
||||
"height": 32,
|
||||
"id": "0",
|
||||
"interpolate": false,
|
||||
"name": "chain_white.png",
|
||||
"render_mode": "default",
|
||||
"render_sides": "auto",
|
||||
"source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAu0lEQVR4XmNkAIL79+//V1RUBLMZaAA+ffr0/+fPnwy/f/9mANE/fvxg+PXrF8PXr18ZmECSIMsvXrz4n2EAABPIRSB7Qa4ZCAewiIqKMtI6CvB5bDQKBjwKGEG5gI+PjxGUC/T19WmSFS0tLf+Dst7fv38ZQPjPnz8MMMxCj1xw/Phx/B4D5QKGgQKgKADZPWILIgZYXTAaBQNVF4xGwYBXx6NRMBoFDKN1wWhdMND9gtGCaLQgGvCCCAAGCt/6J2djSAAAAABJRU5ErkJggg==",
|
||||
"uuid": "3d5ca7c7-27ce-141c-226c-348d472840db",
|
||||
"uv_height": 32,
|
||||
"uv_width": 32,
|
||||
"width": 32,
|
||||
"wrap_mode": "limited"
|
||||
}
|
||||
],
|
||||
"timeline_setups": [],
|
||||
"unhandled_root_fields": {},
|
||||
"variable_placeholder_buttons": [],
|
||||
"variable_placeholders": "",
|
||||
"visible_box": [
|
||||
1,
|
||||
1,
|
||||
0
|
||||
]
|
||||
}
|
||||
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
-9756
File diff suppressed because one or more lines are too long
-9909
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
-9756
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 it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
-18565
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
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
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user