@nodecraft/rendermite 1.1.3 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +27 -2
- package/assets/builtin/renderchest/models/block/banner_standing.json +225 -0
- package/assets/builtin/renderchest/models/block/banner_wall.json +155 -0
- package/assets/builtin/renderchest/models/block/bed_foot.json +44 -0
- package/assets/builtin/renderchest/models/block/bed_head.json +44 -0
- package/assets/builtin/renderchest/models/block/chest_left.json +182 -0
- package/assets/builtin/renderchest/models/block/chest_right.json +182 -0
- package/assets/builtin/renderchest/models/block/copper_golem_statue.json +709 -0
- package/assets/builtin/renderchest/models/block/fluid.json +83 -0
- package/assets/builtin/renderchest/models/block/fluid_tinted.json +89 -0
- package/assets/builtin/renderchest/models/block/hanging_sign.json +54 -0
- package/assets/builtin/renderchest/models/block/standing_sign.json +32 -0
- package/assets/builtin/renderchest/models/block/wall_sign.json +19 -0
- package/dist/atlas/registry.js +1 -1
- package/dist/atlas/sources.js +1 -1
- package/dist/atlas-pack-CoOih7By.js +130 -0
- package/dist/atlas-pack-DRTrWcSU.d.ts +41 -0
- package/dist/block-entities-BbS1kv0m.js +481 -0
- package/dist/blocks/atlas-pack.d.ts +2 -0
- package/dist/blocks/atlas-pack.js +2 -0
- package/dist/blocks/block-entities.d.ts +93 -0
- package/dist/blocks/block-entities.js +2 -0
- package/dist/blocks/blockstate-eval.d.ts +2 -0
- package/dist/blocks/blockstate-eval.js +2 -0
- package/dist/blocks/cli.d.ts +9 -0
- package/dist/blocks/cli.js +2 -0
- package/dist/blocks/export.d.ts +2 -0
- package/dist/blocks/export.js +2 -0
- package/dist/blocks/obj-mesh.d.ts +2 -0
- package/dist/blocks/obj-mesh.js +2 -0
- package/dist/blocks/tints.d.ts +2 -0
- package/dist/blocks/tints.js +2 -0
- package/dist/{blockstate-CdstnW2-.js → blockstate-DVb8Mhxc.js} +1 -1
- package/dist/blockstate-eval-Ckjlyxn4.js +231 -0
- package/dist/blockstate-eval-DDArZs1P.d.ts +107 -0
- package/dist/cli-D7_oUuPT.js +161 -0
- package/dist/cli.js +9 -7
- package/dist/{descriptor-DWebtkI1.js → descriptor-BVIoEpPO.js} +3 -3
- package/dist/{discovery-B9aqV_Rz.js → discovery-CsZu08re.js} +1 -1
- package/dist/dynamic/generators.js +1 -1
- package/dist/{entity-fallback-Cu22uEIK.js → entity-fallback-DNO0Ta9C.js} +3 -155
- package/dist/entity-textures-DFRIVdF1.js +209 -0
- package/dist/export-BIpqNU3H.d.ts +44 -0
- package/dist/export-DxREy3qA.js +701 -0
- package/dist/{face-cQ-pVHoe.d.ts → face-BKwkeTps.d.ts} +1 -1
- package/dist/{fluid-bucket-BzoLofB_.js → fluid-bucket-B-I4ZYHl.js} +1 -1
- package/dist/{generators-BlG4KmtP.js → generators-BCZVlWig.js} +1 -1
- package/dist/{geo-w9HHIrb5.js → geo-BguldlU-.js} +5 -5
- package/dist/{geometry-w0yQbzDZ.d.ts → geometry-Bkur58Vi.d.ts} +1 -1
- package/dist/index.d.ts +10 -5
- package/dist/index.js +21 -16
- package/dist/{item-styles-upgEO1yP.js → item-styles-DjYRdyHi.js} +1 -1
- package/dist/items/blockstate.js +1 -1
- package/dist/items/discovery.js +1 -1
- package/dist/{jar-D9z-X7tA.js → jar-5aLDI0nT.js} +2 -2
- package/dist/{legacy-reshape-C05SfAPR.js → legacy-reshape-CcdstKyI.js} +2 -2
- package/dist/{legacy-tints-B09J0Rxh.js → legacy-tints-l-541wgI.js} +1 -1
- package/dist/{loader-CWsTZgrk.js → loader-BvLcevlN.js} +100 -9
- package/dist/{loader-Lb0ZeILz.js → loader-C18GpurU.js} +1 -1
- package/dist/{loader-DD83d80u.d.ts → loader-C_1_amsq.d.ts} +18 -1
- package/dist/{locator-ycZzh_6z.js → locator-COMEtEn9.js} +23 -1
- package/dist/{manager-CkletR5K.js → manager-CYbAkWuT.js} +2 -2
- package/dist/models/loader.d.ts +1 -1
- package/dist/models/loader.js +1 -1
- package/dist/models/types.d.ts +1 -1
- package/dist/{models-BKxGkPS7.js → models-CQwcTZcg.js} +1 -1
- package/dist/mods/models.js +1 -1
- package/dist/mods/prepare.js +1 -1
- package/dist/mods/synthesize.js +1 -1
- package/dist/mods/tints.js +1 -1
- package/dist/{renderer-DB1Oe7xs.js → obj-BEjq3_Ao.js} +234 -234
- package/dist/obj-mesh-C6Sp4Ysc.d.ts +41 -0
- package/dist/obj-mesh-CiHiqrlm.js +97 -0
- package/dist/output/item-styles.js +1 -1
- package/dist/{pipeline-Bp6amYz_.d.ts → pipeline-BDvXcw20.d.ts} +1 -1
- package/dist/{pipeline-CgJaVpoL.js → pipeline-DRMsBiod.js} +14 -14
- package/dist/{prepare-D56Z-9cg.js → prepare-B8oPdGYz.js} +5 -5
- package/dist/{prepare-Cc8QZ3j0.js → prepare-C95vjt_o.js} +5 -5
- package/dist/{registry-DS5PZ57l.js → registry-DlduyjtM.js} +2 -2
- package/dist/render/entity-fallback.d.ts +3 -3
- package/dist/render/entity-fallback.js +1 -1
- package/dist/render/face.d.ts +1 -1
- package/dist/render/face.js +1 -1
- package/dist/render/fluid-bucket.js +1 -1
- package/dist/render/geo.d.ts +2 -2
- package/dist/render/geo.js +1 -1
- package/dist/render/geometry.d.ts +1 -1
- package/dist/render/legacy-tints.d.ts +1 -1
- package/dist/render/legacy-tints.js +1 -1
- package/dist/render/obj.d.ts +10 -3
- package/dist/render/obj.js +2 -2
- package/dist/render/pipeline.d.ts +1 -1
- package/dist/render/pipeline.js +1 -1
- package/dist/render/renderer.d.ts +1 -1
- package/dist/render/renderer.js +1 -1
- package/dist/render/tints.d.ts +1 -1
- package/dist/render/tints.js +1 -1
- package/dist/{renderer-C79EQDSn.d.ts → renderer-U20hnhbi.d.ts} +2 -2
- package/dist/resources/descriptor.js +1 -1
- package/dist/resources/entity-textures.d.ts +51 -0
- package/dist/resources/entity-textures.js +2 -0
- package/dist/resources/jar.js +1 -1
- package/dist/resources/locator.js +1 -1
- package/dist/resources/manager.js +1 -1
- package/dist/resources/synthetic.js +1 -1
- package/dist/{run-uq8_hUx9.d.ts → run-CvIqiZ6T.d.ts} +1 -1
- package/dist/{run-BPfpBZyZ.js → run-D2S_W5As.js} +10 -7
- package/dist/run.d.ts +1 -1
- package/dist/run.js +1 -1
- package/dist/{sources-Bxk-WOzH.js → sources-BlUriDCs.js} +1 -1
- package/dist/{synthesize-3Q0aaOnK.js → synthesize-jTjVjPAt.js} +2 -2
- package/dist/{synthetic-ZAUjXT7E.js → synthetic-rc9BPT4P.js} +0 -0
- package/dist/textures/loader.js +1 -1
- package/dist/tints-2k3ZhkY3.d.ts +41 -0
- package/dist/{tints-3VI_2SNy.js → tints-B3WQcPtx.js} +1 -1
- package/dist/{tints-Do9Sh3dg.d.ts → tints-DqhgFi8a.d.ts} +1 -1
- package/dist/tints-a9FWZLma.js +176 -0
- package/dist/{tints-CebmvjmP.js → tints-nxtGrqv5.js} +3 -3
- package/dist/{types-DpRSF9Vj.d.ts → types-qlp3I8_-.d.ts} +11 -0
- package/dist/versions/download.js +1 -1
- package/dist/versions/legacy-reshape.js +1 -1
- package/dist/versions/prepare.js +1 -1
- package/dist/workers/render-worker.d.ts +1 -1
- package/dist/workers/render-worker.js +2 -2
- package/package.json +1 -1
- package/dist/{download-D9aARBFp.js → download-1wAfrGKx.js} +1 -1
- package/dist/{face-CMJ3b3Ae.js → face-CKHboPfh.js} +1 -1
package/README.md
CHANGED
|
@@ -58,12 +58,37 @@ icons/
|
|
|
58
58
|
rc-<namespace>-failures.json # per-item failures with reasons, never silent
|
|
59
59
|
```
|
|
60
60
|
|
|
61
|
+
### Block packs
|
|
62
|
+
|
|
63
|
+
A second output mode emits block **geometry and textures as data**, for a renderer that draws blocks itself rather than consuming finished icons. Java Edition, 1.13 (the Flattening) and up.
|
|
64
|
+
|
|
65
|
+
```sh
|
|
66
|
+
rendermite blocks --version 1.21.8 --output ./blocks/1.21.8
|
|
67
|
+
rendermite blocks --version 1.20.4 --mod ./create-1.20.1.jar --output ./blocks/create
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
blocks/1.21.8/
|
|
72
|
+
atlas-0.png # stitched sprite page(s), 4px edge-extended padding
|
|
73
|
+
atlas.json # sprite id -> rect, render layer, animation frames
|
|
74
|
+
models.json # model id -> baked elements, OBJ meshes, stated render layer
|
|
75
|
+
blockstates.json # block id -> variants/multipart, keys and predicates pre-parsed
|
|
76
|
+
tints.json # plains tints, colormaps, ramps, per-block tint semantics
|
|
77
|
+
colormap/*.png # the version's own grass/foliage/dry_foliage maps
|
|
78
|
+
failures.json # anything not fully handled, with reasons, never silent
|
|
79
|
+
meta.json # version, counts, sha256 of every other file
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Everything is pre-resolved: no parent chains, no `#texture` references, no variant-key parsing at runtime.
|
|
83
|
+
|
|
84
|
+
Mods are first-class. Forge/NeoForge **OBJ geometry** exports as triangle meshes alongside box elements (Create's crushing wheels, Immersive Engineering's slopes and connectors, Mekanism's pipes), stated `render_type` beats inference, arbitrary element angles and a third rotation axis are carried through, and a mod's broken assets cost a magenta face rather than the whole block. Verified by exporting a pack per jar across a 3,000-mod corpus. See [docs/block-pack-export.md](docs/block-pack-export.md) for the full contract.
|
|
85
|
+
|
|
61
86
|
### As a library
|
|
62
87
|
|
|
63
|
-
Everything the CLI does is exported, from the high-level `run()` down to individual pieces (`ModelLoader`, `TextureLoader`, `renderModel`, `prepareVersionResources`, `prepareModResources`, `generateStylesheet`).
|
|
88
|
+
Everything the CLI does is exported, from the high-level `run()` and `exportBlockPack()` down to individual pieces (`ModelLoader`, `TextureLoader`, `renderModel`, `prepareVersionResources`, `prepareModResources`, `generateStylesheet`, `evaluateBlockState`, `packAtlas`).
|
|
64
89
|
|
|
65
90
|
```ts
|
|
66
|
-
import { run, prepareModResources, builtinPackPath } from '@nodecraft/rendermite';
|
|
91
|
+
import { run, exportBlockPack, prepareModResources, builtinPackPath } from '@nodecraft/rendermite';
|
|
67
92
|
```
|
|
68
93
|
|
|
69
94
|
## Performance
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
{
|
|
2
|
+
"credit": "Derived from renderchest:item/banner",
|
|
3
|
+
"texture_size": [
|
|
4
|
+
64,
|
|
5
|
+
64
|
|
6
|
+
],
|
|
7
|
+
"elements": [
|
|
8
|
+
{
|
|
9
|
+
"name": "post",
|
|
10
|
+
"from": [
|
|
11
|
+
7.3334,
|
|
12
|
+
0,
|
|
13
|
+
7.3334
|
|
14
|
+
],
|
|
15
|
+
"to": [
|
|
16
|
+
8.6666,
|
|
17
|
+
27.998,
|
|
18
|
+
8.6666
|
|
19
|
+
],
|
|
20
|
+
"faces": {
|
|
21
|
+
"north": {
|
|
22
|
+
"uv": [
|
|
23
|
+
12.5,
|
|
24
|
+
0.5,
|
|
25
|
+
13,
|
|
26
|
+
11
|
|
27
|
+
],
|
|
28
|
+
"texture": "#texture"
|
|
29
|
+
},
|
|
30
|
+
"east": {
|
|
31
|
+
"uv": [
|
|
32
|
+
12,
|
|
33
|
+
0.5,
|
|
34
|
+
12.5,
|
|
35
|
+
11
|
|
36
|
+
],
|
|
37
|
+
"texture": "#texture"
|
|
38
|
+
},
|
|
39
|
+
"south": {
|
|
40
|
+
"uv": [
|
|
41
|
+
11.5,
|
|
42
|
+
0.5,
|
|
43
|
+
12,
|
|
44
|
+
11
|
|
45
|
+
],
|
|
46
|
+
"texture": "#texture"
|
|
47
|
+
},
|
|
48
|
+
"west": {
|
|
49
|
+
"uv": [
|
|
50
|
+
11,
|
|
51
|
+
0.5,
|
|
52
|
+
11.5,
|
|
53
|
+
11
|
|
54
|
+
],
|
|
55
|
+
"texture": "#texture"
|
|
56
|
+
},
|
|
57
|
+
"up": {
|
|
58
|
+
"uv": [
|
|
59
|
+
11.5,
|
|
60
|
+
0,
|
|
61
|
+
12,
|
|
62
|
+
0.5
|
|
63
|
+
],
|
|
64
|
+
"texture": "#texture"
|
|
65
|
+
},
|
|
66
|
+
"down": {
|
|
67
|
+
"uv": [
|
|
68
|
+
12,
|
|
69
|
+
0,
|
|
70
|
+
12.5,
|
|
71
|
+
0.5
|
|
72
|
+
],
|
|
73
|
+
"rotation": 180,
|
|
74
|
+
"texture": "#texture"
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"name": "cloth",
|
|
80
|
+
"from": [
|
|
81
|
+
1.334,
|
|
82
|
+
2.6671999999999976,
|
|
83
|
+
8.6666
|
|
84
|
+
],
|
|
85
|
+
"to": [
|
|
86
|
+
14.666,
|
|
87
|
+
29.3312,
|
|
88
|
+
9.3332
|
|
89
|
+
],
|
|
90
|
+
"faces": {
|
|
91
|
+
"north": {
|
|
92
|
+
"uv": [
|
|
93
|
+
5.5,
|
|
94
|
+
0.25,
|
|
95
|
+
10.5,
|
|
96
|
+
10.25
|
|
97
|
+
],
|
|
98
|
+
"tintindex": 0,
|
|
99
|
+
"texture": "#texture"
|
|
100
|
+
},
|
|
101
|
+
"east": {
|
|
102
|
+
"uv": [
|
|
103
|
+
5.25,
|
|
104
|
+
0.25,
|
|
105
|
+
5.5,
|
|
106
|
+
10.25
|
|
107
|
+
],
|
|
108
|
+
"tintindex": 0,
|
|
109
|
+
"texture": "#texture"
|
|
110
|
+
},
|
|
111
|
+
"south": {
|
|
112
|
+
"uv": [
|
|
113
|
+
0.25,
|
|
114
|
+
0.25,
|
|
115
|
+
5.25,
|
|
116
|
+
10.25
|
|
117
|
+
],
|
|
118
|
+
"tintindex": 0,
|
|
119
|
+
"texture": "#texture"
|
|
120
|
+
},
|
|
121
|
+
"west": {
|
|
122
|
+
"uv": [
|
|
123
|
+
0,
|
|
124
|
+
0.25,
|
|
125
|
+
0.25,
|
|
126
|
+
10.25
|
|
127
|
+
],
|
|
128
|
+
"tintindex": 0,
|
|
129
|
+
"texture": "#texture"
|
|
130
|
+
},
|
|
131
|
+
"up": {
|
|
132
|
+
"uv": [
|
|
133
|
+
0.25,
|
|
134
|
+
0,
|
|
135
|
+
5.25,
|
|
136
|
+
0.25
|
|
137
|
+
],
|
|
138
|
+
"tintindex": 0,
|
|
139
|
+
"texture": "#texture"
|
|
140
|
+
},
|
|
141
|
+
"down": {
|
|
142
|
+
"uv": [
|
|
143
|
+
5.25,
|
|
144
|
+
0,
|
|
145
|
+
10.25,
|
|
146
|
+
0.25
|
|
147
|
+
],
|
|
148
|
+
"rotation": 180,
|
|
149
|
+
"tintindex": 0,
|
|
150
|
+
"texture": "#texture"
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
"name": "bar",
|
|
156
|
+
"from": [
|
|
157
|
+
1.334,
|
|
158
|
+
28,
|
|
159
|
+
7.3334
|
|
160
|
+
],
|
|
161
|
+
"to": [
|
|
162
|
+
14.666,
|
|
163
|
+
29.3312,
|
|
164
|
+
8.6666
|
|
165
|
+
],
|
|
166
|
+
"faces": {
|
|
167
|
+
"north": {
|
|
168
|
+
"uv": [
|
|
169
|
+
6,
|
|
170
|
+
11,
|
|
171
|
+
11,
|
|
172
|
+
11.5
|
|
173
|
+
],
|
|
174
|
+
"texture": "#texture"
|
|
175
|
+
},
|
|
176
|
+
"east": {
|
|
177
|
+
"uv": [
|
|
178
|
+
5.5,
|
|
179
|
+
11,
|
|
180
|
+
6,
|
|
181
|
+
11.5
|
|
182
|
+
],
|
|
183
|
+
"texture": "#texture"
|
|
184
|
+
},
|
|
185
|
+
"south": {
|
|
186
|
+
"uv": [
|
|
187
|
+
0.5,
|
|
188
|
+
11,
|
|
189
|
+
5.5,
|
|
190
|
+
11.5
|
|
191
|
+
],
|
|
192
|
+
"texture": "#texture"
|
|
193
|
+
},
|
|
194
|
+
"west": {
|
|
195
|
+
"uv": [
|
|
196
|
+
0,
|
|
197
|
+
11,
|
|
198
|
+
0.5,
|
|
199
|
+
11.5
|
|
200
|
+
],
|
|
201
|
+
"texture": "#texture"
|
|
202
|
+
},
|
|
203
|
+
"up": {
|
|
204
|
+
"uv": [
|
|
205
|
+
0.5,
|
|
206
|
+
10.5,
|
|
207
|
+
5.5,
|
|
208
|
+
11
|
|
209
|
+
],
|
|
210
|
+
"texture": "#texture"
|
|
211
|
+
},
|
|
212
|
+
"down": {
|
|
213
|
+
"uv": [
|
|
214
|
+
5.5,
|
|
215
|
+
10.5,
|
|
216
|
+
10.5,
|
|
217
|
+
11
|
|
218
|
+
],
|
|
219
|
+
"rotation": 180,
|
|
220
|
+
"texture": "#texture"
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
]
|
|
225
|
+
}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
{
|
|
2
|
+
"credit": "Derived from renderchest:item/banner",
|
|
3
|
+
"texture_size": [
|
|
4
|
+
64,
|
|
5
|
+
64
|
|
6
|
+
],
|
|
7
|
+
"elements": [
|
|
8
|
+
{
|
|
9
|
+
"name": "cloth",
|
|
10
|
+
"from": [
|
|
11
|
+
1.334,
|
|
12
|
+
-10.664000000000001,
|
|
13
|
+
1.3332
|
|
14
|
+
],
|
|
15
|
+
"to": [
|
|
16
|
+
14.666,
|
|
17
|
+
16,
|
|
18
|
+
2
|
|
19
|
+
],
|
|
20
|
+
"faces": {
|
|
21
|
+
"north": {
|
|
22
|
+
"uv": [
|
|
23
|
+
5.5,
|
|
24
|
+
0.25,
|
|
25
|
+
10.5,
|
|
26
|
+
10.25
|
|
27
|
+
],
|
|
28
|
+
"tintindex": 0,
|
|
29
|
+
"texture": "#texture"
|
|
30
|
+
},
|
|
31
|
+
"east": {
|
|
32
|
+
"uv": [
|
|
33
|
+
5.25,
|
|
34
|
+
0.25,
|
|
35
|
+
5.5,
|
|
36
|
+
10.25
|
|
37
|
+
],
|
|
38
|
+
"tintindex": 0,
|
|
39
|
+
"texture": "#texture"
|
|
40
|
+
},
|
|
41
|
+
"south": {
|
|
42
|
+
"uv": [
|
|
43
|
+
0.25,
|
|
44
|
+
0.25,
|
|
45
|
+
5.25,
|
|
46
|
+
10.25
|
|
47
|
+
],
|
|
48
|
+
"tintindex": 0,
|
|
49
|
+
"texture": "#texture"
|
|
50
|
+
},
|
|
51
|
+
"west": {
|
|
52
|
+
"uv": [
|
|
53
|
+
0,
|
|
54
|
+
0.25,
|
|
55
|
+
0.25,
|
|
56
|
+
10.25
|
|
57
|
+
],
|
|
58
|
+
"tintindex": 0,
|
|
59
|
+
"texture": "#texture"
|
|
60
|
+
},
|
|
61
|
+
"up": {
|
|
62
|
+
"uv": [
|
|
63
|
+
0.25,
|
|
64
|
+
0,
|
|
65
|
+
5.25,
|
|
66
|
+
0.25
|
|
67
|
+
],
|
|
68
|
+
"tintindex": 0,
|
|
69
|
+
"texture": "#texture"
|
|
70
|
+
},
|
|
71
|
+
"down": {
|
|
72
|
+
"uv": [
|
|
73
|
+
5.25,
|
|
74
|
+
0,
|
|
75
|
+
10.25,
|
|
76
|
+
0.25
|
|
77
|
+
],
|
|
78
|
+
"rotation": 180,
|
|
79
|
+
"tintindex": 0,
|
|
80
|
+
"texture": "#texture"
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"name": "bar",
|
|
86
|
+
"from": [
|
|
87
|
+
1.334,
|
|
88
|
+
14.668800000000001,
|
|
89
|
+
0
|
|
90
|
+
],
|
|
91
|
+
"to": [
|
|
92
|
+
14.666,
|
|
93
|
+
16,
|
|
94
|
+
1.3332
|
|
95
|
+
],
|
|
96
|
+
"faces": {
|
|
97
|
+
"north": {
|
|
98
|
+
"uv": [
|
|
99
|
+
6,
|
|
100
|
+
11,
|
|
101
|
+
11,
|
|
102
|
+
11.5
|
|
103
|
+
],
|
|
104
|
+
"texture": "#texture"
|
|
105
|
+
},
|
|
106
|
+
"east": {
|
|
107
|
+
"uv": [
|
|
108
|
+
5.5,
|
|
109
|
+
11,
|
|
110
|
+
6,
|
|
111
|
+
11.5
|
|
112
|
+
],
|
|
113
|
+
"texture": "#texture"
|
|
114
|
+
},
|
|
115
|
+
"south": {
|
|
116
|
+
"uv": [
|
|
117
|
+
0.5,
|
|
118
|
+
11,
|
|
119
|
+
5.5,
|
|
120
|
+
11.5
|
|
121
|
+
],
|
|
122
|
+
"texture": "#texture"
|
|
123
|
+
},
|
|
124
|
+
"west": {
|
|
125
|
+
"uv": [
|
|
126
|
+
0,
|
|
127
|
+
11,
|
|
128
|
+
0.5,
|
|
129
|
+
11.5
|
|
130
|
+
],
|
|
131
|
+
"texture": "#texture"
|
|
132
|
+
},
|
|
133
|
+
"up": {
|
|
134
|
+
"uv": [
|
|
135
|
+
0.5,
|
|
136
|
+
10.5,
|
|
137
|
+
5.5,
|
|
138
|
+
11
|
|
139
|
+
],
|
|
140
|
+
"texture": "#texture"
|
|
141
|
+
},
|
|
142
|
+
"down": {
|
|
143
|
+
"uv": [
|
|
144
|
+
5.5,
|
|
145
|
+
10.5,
|
|
146
|
+
10.5,
|
|
147
|
+
11
|
|
148
|
+
],
|
|
149
|
+
"rotation": 180,
|
|
150
|
+
"texture": "#texture"
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
]
|
|
155
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"__comment": "The foot half of a bed, as one block. Same slab as the head from the sheet's second box (texOffs 0,22), with its outer end and legs to the south so one `facing` rotation orients both halves.",
|
|
3
|
+
"texture_size": [64, 64],
|
|
4
|
+
"elements": [
|
|
5
|
+
{
|
|
6
|
+
"name": "slab",
|
|
7
|
+
"from": [0, 3, 0],
|
|
8
|
+
"to": [16, 9, 16],
|
|
9
|
+
"faces": {
|
|
10
|
+
"up": { "uv": [1.5, 7, 5.5, 11], "texture": "#texture" },
|
|
11
|
+
"down": { "uv": [7, 7, 11, 11], "texture": "#texture" },
|
|
12
|
+
"south": { "uv": [5.5, 5.5, 9.5, 7], "texture": "#texture" },
|
|
13
|
+
"west": { "uv": [0, 7, 1.5, 11], "texture": "#texture" },
|
|
14
|
+
"east": { "uv": [5.5, 7, 7, 11], "texture": "#texture" }
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"name": "leg_west",
|
|
19
|
+
"from": [0, 0, 13],
|
|
20
|
+
"to": [3, 3, 16],
|
|
21
|
+
"faces": {
|
|
22
|
+
"up": { "uv": [13.25, 3, 14, 3.75], "texture": "#texture" },
|
|
23
|
+
"down": { "uv": [14, 3, 14.75, 3.75], "texture": "#texture" },
|
|
24
|
+
"north": { "uv": [13.25, 3.75, 14, 4.5], "texture": "#texture" },
|
|
25
|
+
"south": { "uv": [14.75, 3.75, 15.5, 4.5], "texture": "#texture" },
|
|
26
|
+
"west": { "uv": [12.5, 3.75, 13.25, 4.5], "texture": "#texture" },
|
|
27
|
+
"east": { "uv": [14, 3.75, 14.75, 4.5], "texture": "#texture" }
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"name": "leg_east",
|
|
32
|
+
"from": [13, 0, 13],
|
|
33
|
+
"to": [16, 3, 16],
|
|
34
|
+
"faces": {
|
|
35
|
+
"up": { "uv": [13.25, 4.5, 14, 5.25], "texture": "#texture" },
|
|
36
|
+
"down": { "uv": [14, 4.5, 14.75, 5.25], "texture": "#texture" },
|
|
37
|
+
"north": { "uv": [13.25, 5.25, 14, 6], "texture": "#texture" },
|
|
38
|
+
"south": { "uv": [14.75, 5.25, 15.5, 6], "texture": "#texture" },
|
|
39
|
+
"west": { "uv": [12.5, 5.25, 13.25, 6], "texture": "#texture" },
|
|
40
|
+
"east": { "uv": [14, 5.25, 14.75, 6], "texture": "#texture" }
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
]
|
|
44
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"__comment": "The head half of a bed, as one block. Vanilla ships no model: BedRenderer draws both halves from an entity model spanning two block positions. Proportions and UVs follow that model (a 16x16x6 slab plus 3x3x3 legs on the outer end) read off the 64x64 sheet's own box unwrap. Authored with the outer end to the north, so `facing` rotates it.",
|
|
3
|
+
"texture_size": [64, 64],
|
|
4
|
+
"elements": [
|
|
5
|
+
{
|
|
6
|
+
"name": "slab",
|
|
7
|
+
"from": [0, 3, 0],
|
|
8
|
+
"to": [16, 9, 16],
|
|
9
|
+
"faces": {
|
|
10
|
+
"up": { "uv": [1.5, 1.5, 5.5, 5.5], "texture": "#texture" },
|
|
11
|
+
"down": { "uv": [7, 1.5, 11, 5.5], "texture": "#texture" },
|
|
12
|
+
"north": { "uv": [1.5, 0, 5.5, 1.5], "texture": "#texture" },
|
|
13
|
+
"west": { "uv": [0, 1.5, 1.5, 5.5], "texture": "#texture" },
|
|
14
|
+
"east": { "uv": [5.5, 1.5, 7, 5.5], "texture": "#texture" }
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"name": "leg_west",
|
|
19
|
+
"from": [0, 0, 0],
|
|
20
|
+
"to": [3, 3, 3],
|
|
21
|
+
"faces": {
|
|
22
|
+
"up": { "uv": [13.25, 0, 14, 0.75], "texture": "#texture" },
|
|
23
|
+
"down": { "uv": [14, 0, 14.75, 0.75], "texture": "#texture" },
|
|
24
|
+
"north": { "uv": [13.25, 0.75, 14, 1.5], "texture": "#texture" },
|
|
25
|
+
"south": { "uv": [14.75, 0.75, 15.5, 1.5], "texture": "#texture" },
|
|
26
|
+
"west": { "uv": [12.5, 0.75, 13.25, 1.5], "texture": "#texture" },
|
|
27
|
+
"east": { "uv": [14, 0.75, 14.75, 1.5], "texture": "#texture" }
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"name": "leg_east",
|
|
32
|
+
"from": [13, 0, 0],
|
|
33
|
+
"to": [16, 3, 3],
|
|
34
|
+
"faces": {
|
|
35
|
+
"up": { "uv": [13.25, 1.5, 14, 2.25], "texture": "#texture" },
|
|
36
|
+
"down": { "uv": [14, 1.5, 14.75, 2.25], "texture": "#texture" },
|
|
37
|
+
"north": { "uv": [13.25, 2.25, 14, 3], "texture": "#texture" },
|
|
38
|
+
"south": { "uv": [14.75, 2.25, 15.5, 3], "texture": "#texture" },
|
|
39
|
+
"west": { "uv": [12.5, 2.25, 13.25, 3], "texture": "#texture" },
|
|
40
|
+
"east": { "uv": [14, 2.25, 14.75, 3], "texture": "#texture" }
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
]
|
|
44
|
+
}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
{
|
|
2
|
+
"credit": "Derived from the vanilla double chest sheet unwrap",
|
|
3
|
+
"texture_size": [
|
|
4
|
+
64,
|
|
5
|
+
64
|
|
6
|
+
],
|
|
7
|
+
"elements": [
|
|
8
|
+
{
|
|
9
|
+
"name": "bottom",
|
|
10
|
+
"from": [
|
|
11
|
+
0,
|
|
12
|
+
0,
|
|
13
|
+
1
|
|
14
|
+
],
|
|
15
|
+
"to": [
|
|
16
|
+
15,
|
|
17
|
+
10,
|
|
18
|
+
15
|
|
19
|
+
],
|
|
20
|
+
"faces": {
|
|
21
|
+
"north": {
|
|
22
|
+
"uv": [
|
|
23
|
+
3.5,
|
|
24
|
+
8.25,
|
|
25
|
+
7.25,
|
|
26
|
+
10.75
|
|
27
|
+
],
|
|
28
|
+
"rotation": 180,
|
|
29
|
+
"texture": "#texture"
|
|
30
|
+
},
|
|
31
|
+
"east": {
|
|
32
|
+
"uv": [
|
|
33
|
+
7.25,
|
|
34
|
+
8.25,
|
|
35
|
+
10.75,
|
|
36
|
+
10.75
|
|
37
|
+
],
|
|
38
|
+
"rotation": 180,
|
|
39
|
+
"texture": "#texture"
|
|
40
|
+
},
|
|
41
|
+
"south": {
|
|
42
|
+
"uv": [
|
|
43
|
+
10.75,
|
|
44
|
+
8.25,
|
|
45
|
+
14.5,
|
|
46
|
+
10.75
|
|
47
|
+
],
|
|
48
|
+
"rotation": 180,
|
|
49
|
+
"texture": "#texture"
|
|
50
|
+
},
|
|
51
|
+
"down": {
|
|
52
|
+
"uv": [
|
|
53
|
+
3.5,
|
|
54
|
+
4.75,
|
|
55
|
+
7.25,
|
|
56
|
+
8.25
|
|
57
|
+
],
|
|
58
|
+
"texture": "#texture"
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"name": "top",
|
|
64
|
+
"from": [
|
|
65
|
+
0,
|
|
66
|
+
10,
|
|
67
|
+
1
|
|
68
|
+
],
|
|
69
|
+
"to": [
|
|
70
|
+
15,
|
|
71
|
+
14,
|
|
72
|
+
15
|
|
73
|
+
],
|
|
74
|
+
"faces": {
|
|
75
|
+
"north": {
|
|
76
|
+
"uv": [
|
|
77
|
+
3.5,
|
|
78
|
+
3.75,
|
|
79
|
+
7.25,
|
|
80
|
+
4.75
|
|
81
|
+
],
|
|
82
|
+
"rotation": 180,
|
|
83
|
+
"texture": "#texture"
|
|
84
|
+
},
|
|
85
|
+
"east": {
|
|
86
|
+
"uv": [
|
|
87
|
+
7.25,
|
|
88
|
+
3.75,
|
|
89
|
+
10.75,
|
|
90
|
+
4.75
|
|
91
|
+
],
|
|
92
|
+
"rotation": 180,
|
|
93
|
+
"texture": "#texture"
|
|
94
|
+
},
|
|
95
|
+
"south": {
|
|
96
|
+
"uv": [
|
|
97
|
+
10.75,
|
|
98
|
+
3.75,
|
|
99
|
+
14.5,
|
|
100
|
+
4.75
|
|
101
|
+
],
|
|
102
|
+
"rotation": 180,
|
|
103
|
+
"texture": "#texture"
|
|
104
|
+
},
|
|
105
|
+
"up": {
|
|
106
|
+
"uv": [
|
|
107
|
+
11,
|
|
108
|
+
0,
|
|
109
|
+
7.25,
|
|
110
|
+
3.5
|
|
111
|
+
],
|
|
112
|
+
"rotation": 180,
|
|
113
|
+
"texture": "#texture"
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"name": "lock",
|
|
119
|
+
"from": [
|
|
120
|
+
0,
|
|
121
|
+
7,
|
|
122
|
+
15
|
|
123
|
+
],
|
|
124
|
+
"to": [
|
|
125
|
+
1,
|
|
126
|
+
11,
|
|
127
|
+
16
|
|
128
|
+
],
|
|
129
|
+
"faces": {
|
|
130
|
+
"north": {
|
|
131
|
+
"uv": [
|
|
132
|
+
0.25,
|
|
133
|
+
0.25,
|
|
134
|
+
0.5,
|
|
135
|
+
1.25
|
|
136
|
+
],
|
|
137
|
+
"rotation": 180,
|
|
138
|
+
"texture": "#texture"
|
|
139
|
+
},
|
|
140
|
+
"east": {
|
|
141
|
+
"uv": [
|
|
142
|
+
0.5,
|
|
143
|
+
0.25,
|
|
144
|
+
0.75,
|
|
145
|
+
1.25
|
|
146
|
+
],
|
|
147
|
+
"rotation": 180,
|
|
148
|
+
"texture": "#texture"
|
|
149
|
+
},
|
|
150
|
+
"south": {
|
|
151
|
+
"uv": [
|
|
152
|
+
0.75,
|
|
153
|
+
0.25,
|
|
154
|
+
1,
|
|
155
|
+
1.25
|
|
156
|
+
],
|
|
157
|
+
"rotation": 180,
|
|
158
|
+
"texture": "#texture"
|
|
159
|
+
},
|
|
160
|
+
"up": {
|
|
161
|
+
"uv": [
|
|
162
|
+
0.75,
|
|
163
|
+
0,
|
|
164
|
+
0.5,
|
|
165
|
+
0.25
|
|
166
|
+
],
|
|
167
|
+
"rotation": 180,
|
|
168
|
+
"texture": "#texture"
|
|
169
|
+
},
|
|
170
|
+
"down": {
|
|
171
|
+
"uv": [
|
|
172
|
+
0.25,
|
|
173
|
+
0,
|
|
174
|
+
0.5,
|
|
175
|
+
0.25
|
|
176
|
+
],
|
|
177
|
+
"texture": "#texture"
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
]
|
|
182
|
+
}
|