-
Notifications
You must be signed in to change notification settings - Fork 418
/
cem_part.txt
86 lines (86 loc) · 5.21 KB
/
cem_part.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
######################################################################
# Json Part Model
# Reference configuration for OptiFine's feature Custom Entity Models
######################################################################
# This file contains the definition of one model part and it can be
# referenced as "model" from the entity model.
# The file extension ".jpm" is recommended, but not required.
# It should be located in the "assets/minecraft/optifine/cem" folder of your resource pack.
#
# Texture UV can be specified in box format with "textureOffset" or
# individually with "uvDown", "uvUp", "uvNorth", "uvSouth", "uvWest" and "uvEast".
# Either the box format or the individual face UV should be used, they can not be mixed.
# The box format UV mapping is shown in "model_box.png".
#
# Textures can be specified as:
# "texture" - (no '/' in name), look in current folder
# "./folder/texture" - relative to current folder
# "~/folder/texture" - relative to folder "assets/minecraft/optifine/"
# "folder/texture" - relative to folder "assets/minecraft/"
# "mod:folder/texture - resolves as "assets/mod/folder/texture.png"
#
# The texture suffix ".png" is optional.
#
# Required elements:
# - "textureOffset" or individual face UV
# - "coordinates"
#
# Entities can have items/blocks attached to them. The attachments system allows you to render these items/blocks attached to model parts of your choice.
#
# Attachment name Supported models
# ======================== ======================================================
# left_handheld_item allay, armor_stand, drowned, evoker, giant, husk, illusioner, piglin, piglin_brute, pillager, skeleton, stray, vex, vindicator,
# wither_skeleton, zombie, zombie_villager, zombified_piglin
# right_handheld_item allay, armor_stand, drowned, evoker, giant, husk, illusioner, piglin, piglin_brute, pillager, skeleton, stray, vex, vindicator,
# wither_skeleton, zombie, zombie_villager, zombified_piglin
#
# Note: This is not a valid JSON format and it should only be used as a reference
######################################################################
{
# Part model definition
"texture": <texture.png>, - Texture used by the part model
"textureSize": [<width>, <height>], - Texture size in pixels
"invertAxis": <axis_to_invert>, - Axis to invert, for example "xyz" inverts all axes
"translate": [<x>, <y>, <z>], - Translate (pixels)
"rotate": [<angle_x>, <angle_y>, <angle_z>], - Rotate (degrees)
"mirrorTexture": <axis_to_mirror>, - Texture axis to mirror, for example "uv" mirrors both U and V axis
"attachments": - Attachment points for vanilla rendering
{
"attachment_name": [tx, ty, tz] - Render an attachment with translation (tx, ty, tz). See attachment section for details.
},
"boxes": - List of part model boxes
[
{
"textureOffset": [<u>, <v>], - Texture offset for box format, see "model_box.png"
"uvDown": [<u1>, <v1>, <u2>, <v2>], - UV for face down
"uvUp": [<u1>, <v1>, <u2>, <v2>], - UV for face up
"uvNorth": [<u1>, <v1>, <u2>, <v2>], - UV for face north, alias "uvFront"
"uvSouth": [<u1>, <v1>, <u2>, <v2>], - UV for face south, alias "uvBack"
"uvWest": [<u1>, <v1>, <u2>, <v2>], - UV for face west, alias "uvLeft"
"uvEast": [<u1>, <v1>, <u2>, <v2>], - UV for face east, alias "uvRight"
"coordinates": [<x>, <y>, <z>, <width>, <height>, <depth>], - Box position and dimensions
"sizeAdd": <size_add> - Size increment (added to all dimensions) can be used for asymmetric scaling
},
...
],
"sprites" - List of 3D sprite models (depth 1)
[
{
"textureOffset": [<u>, <v>], - Texture offset (pixels)
"coordinates": [<x>, <y>, <z>, <width>, <height>, <depth>], - Box position and dimensions
"sizeAdd": <size_add> - Size increment (added to all dimensions) can be used for asymmetric scaling
},
...
],
"submodel": - Sub-model (attached to the parent, moving and rotating with it)
{
# Part model definition - Sub-model definition
},
"submodels": - List of sub-models (attached to the parent, moving and rotating with it)
[
{
# Part model definition - Sub-model definition
},
...
]
}