Body Part (Data Type)
A named part of a humanoid body — a limb, a skin layer, a region such as a hand or the chest, or a group such as both arms.
A named part of a humanoid body — a limb, a skin layer, a region such as a hand or the chest, or a group such as both arms. Every field that names a body part reads the same list:
model_partin a Model Part Transformation, apoli:particle and apoli:spawn_particlespartin apoli:model_colorbody_partsin apoli:custom_model_renderbody_partin the apoli:body_part damage condition
Given as a String. Matching ignores case, spaces, _ and -, so right_arm, RightArm and right-arm are the same part.
Limbs and skin layers
These map onto the parts of the vanilla biped model. On a player, a limb also covers its skin-overlay layer; the layer names on their own target only the layer.
| Name | Also accepts | Covers |
|---|---|---|
head | The head and the hat layer. | |
hat | headwear, hat_layer, head_layer | The hat layer only. |
body | torso, waist | The torso and the jacket layer. |
jacket | body_layer | The jacket layer only. |
right_arm / left_arm | arm_right / arm_left | The arm and its sleeve. |
right_sleeve / left_sleeve | right_arm_layer / left_arm_layer | The sleeve only. |
right_leg / left_leg | leg_right / leg_left | The leg and its trouser layer. |
right_pants / left_pants | right_leg_layer / left_leg_layer | The trouser layer only. |
Regions
A region is a piece of a limb rather than a whole model part. Regions are what a particle anchors to and what a hit can land on; they are not separate pieces of the model, so they do nothing in apoli:model_color, apoli:modify_model_parts or body_parts.
| Name | Also accepts | Where |
|---|---|---|
right_hand / left_hand | hand_right, right_fist / hand_left, left_fist | The last quarter of that arm, where a held item sits. |
main_hand / off_hand | hand_main / hand_off | The hand on the entity’s main or off side — right_hand for a right-handed entity, left_hand for a left-handed one. |
hands | Either hand. | |
right_foot / left_foot | foot_right / foot_left | The last quarter of that leg. |
feet | Either foot. | |
chest | The front of the upper half of the torso. | |
back | The back half of the torso. | |
achilles_heel | The back of either foot. |
Groups
A group names several limbs at once. In apoli:modify_model_parts a group moves as one piece — a pitch on upper bends the whole upper body forward at the waist instead of tipping the head, arms and torso over each on its own pivot. Everywhere else a group simply means all of its parts.
| Name | Also accepts | Covers | Pivot |
|---|---|---|---|
arms | Both arms and their sleeves. | Halfway between the shoulders. | |
legs | Both legs and their trouser layers. | Halfway between the hips. | |
upper | upper_body | Head, torso and both arms, with their layers. | The waist — the bottom of the torso, following it when it leans. |
lower | lower_body | Torso and both legs, with their layers. | The neck — the top of the torso. |
whole | any, all | Every part of the model, including any extra limbs. | The feet, at ground level. |
Each pivot is the joint that holds the group to the rest of the body, so a rotated group stays attached: upper swings around the waist the legs hang from, and lower around the neck the head sits on. whole turns around the feet, which keeps the model standing on the ground when it is scaled. A transformation can move the pivot with its pivot field — see Moving a group.
Other names
A name that is not in the lists above is passed through unchanged. That is how the extra limbs of the built-in models are reached — right_second_arm on apoli:four_arms, right_second_leg on apoli:stinkfly, horse_body on apoli:centaur — and how a minion’s main, flat2 and flat3 parts are named in body_parts. On those models the groups pick up the extra limbs too: arms covers all four arms of apoli:four_arms, and legs covers all four legs of apoli:stinkfly.
The apoli:body_part condition only accepts the names on this page, and fails to load with an unknown one, because it can only ever narrow down which hits it matches.
Example
{
"type": "apoli:modify_model_parts",
"transformations": [
{
"model_part": "arms",
"type": "pitch",
"value": -1.5708,
"override_animation": true
}
]
} Both arms held straight out in front, swinging together around the line between the shoulders.