Like 0

Creates resource pack item definitionjs from existing textures

jackz revised this gist 6 hours ago · bf3a263

1 file changed, 44 insertions

create_json.sh (file created)
@@ -0,0 +1,44 @@
1 + #!/bin/bash
2 +
3 + # Simple script that automatically creates items/ and models/item defniitions
4 + # based off the textures in the textures/item folder.
5 + # It only checks for .png files
6 +
7 + # Must run from the namespace's folder (assets/<namespace>)
8 +
9 + NAMESPACE=$1
10 + if [[ -z "$NAMESPACE" ]]; then
11 + echo Namespace is required
12 + echo Syntax: ./create_json.sh "<namespace>"
13 + exit 1
14 + fi
15 + if [ ! -d "assets/$NAMESPACE/textures" ]; then
16 + echo "The path assets/$NAMESPACE/textures does not exist"
17 + exit 1
18 + fi
19 +
20 + mkdir "assets/$NAMESPACE/models/item" -p || true
21 + mkdir "assets/$NAMESPACE/items" -p || true
22 +
23 + echo Creating files for $NAMESPACE
24 +
25 + for file in "assets/$NAMESPACE/textures/item/"*.png; do
26 + name=$(basename "$file" .png)
27 + cat > "assets/$NAMESPACE/models/item/$name.json" <<EOF
28 + {
29 + "parent": "minecraft:item/generated",
30 + "textures": {
31 + "layer0": "$NAMESPACE:item/$name"
32 + }
33 + }
34 + EOF
35 +
36 + cat > "assets/$NAMESPACE/items/$name.json" <<EOF
37 + {
38 + "model": {
39 + "type": "minecraft:model",
40 + "model": "$NAMESPACE:item/$name"
41 + }
42 + }
43 + EOF
44 + done