Repository navigation
Parent Components
Parent components are components capable of holding other components (children). They typically don't render anything on their own and are only there to serve as a grouping and way to transform/rotate/animate groups of model components that are otherwise static.
Haschildren, Rotateable, Texturable, Nameable
Default type for children: mson:compound.
Default type for cubes: mson:box.
A compound. Serves as the parent to other boxes and compounds. It supports rotations and translations, and is typically needed to build more complex models that can be moved.
Fabric (Yarn)
- ModelPartForge (MCP)
- ModelRendererBlockbench
- Group| Attribute Name | Attribute Type | Default Value | Supports Variables | Description |
|---|---|---|---|---|
center |
number[3] | [0, 0, 0] | Yes | Defines the rotation point, the centre around which this component is rotated. |
offset |
number[3] | [0, 0, 0] | Yes | An offset applied to all children of this compound. |
rotate |
number_angle[3] | [0, 0, 0] | Yes | Defines the rotation around the centre, in degrees. |
mirror |
boolean[3] | [f, f, f] | No | Defines the XYZ mirroring of this component's textures. |
visible |
boolean | t | No | Whether this component is visible or not. |
texture |
texture | {inherited} | Yes | Defines the texture u, v, w, and h for this component. #see Textures for more details. |
name |
text | {none} | No | If given, this component will be made available to the model code at runtime by this name. |
cubes |
Box[*] | [] | No | A list of boxes or box-compatible components to display inside this compound. |
children |
Component[*] | [] | No | A list of other components (typically other Compounds to nest inside this component. |
Haschildren, Rotateable, Texturable, Nameable
Default type for children: mson:compound.
Default type for cubes: mson:box.
Extends: mson:compound.
A special case of the mson:compound intended for adding sets of related planes more. This component supports all of the same attributes, with one small additions: You can define a list of planes to include, and each plane facing the same direction will be stitched together in a way that stretching does not cause them to overlap.
There is no equivalent to this in vanilla or blockbench, sorry.
Supports all the attributes from mson:compound plus the following:
| Attribute Name | Attribute Type | Default Value | Supports Variables | Description |
|---|---|---|---|---|
stretch |
number[3] | {inherited} | No | The XYZ stretch factor. The elements inside this component will be expanded along each axis as determined by this value. |
{face} |
compactplane* | [] | No | Attribute where {face} can be replaced by any of the supported directions. #See Facing for more details. When initialised, the planes in this attribute will all have the same facing, and will be stitched together into one face. |
Special case of a plane defined as an array of its components. Can be either one compact plane, or an array of multiples to be combined.
Typically a compact plane are defined in one of two ways:
[ x, y, z, width, height ] or [ x, y, z, width, height, u, v ]. U and V are optional, and when not defined will be inherited from the parent.