Skip to main content

ParentTypes

ParentTypes are applied to ModelParts to apply specific transformations, or change how the ModelPart behaves.

Applying ParentTypes via BlockBench

To apply a ParentType through BlockBench, the group name must start with the ParentType. Only groups can have ParentTypes applied via BlockBench.

tip

Keywords

When setting the ParentType via group names, ParentTypes are commonly referred to as Keywords or BlockBench Keywords.

Examples:

Blockbench NameHead ParentTypeReason
Head✔️Group's name starts with a ParentType.
HeadPhones✔️Group's name starts with a ParentType.
MagicHeadGroup's name does not start with a ParentType.
headGroup's name does not start with a ParentType. head is not an alias for Head.
HeadParentTypes can only be applied to groups in BlockBench

Applying ParentTypes via Script

To apply a ParentType through script, index the ModelPart you want to set the ParentType of, then call the setParentType method on it, passing in a ParentType as a string as the parameter.
After an avatar is loaded, there is no difference between groups, cubes, or bbmodels. Everything is a ModelPart, meaning everything can have a ParentType.

Example:

models.myModel.myHat:setParentType("Head")
models.myOtherModel.Pet:setParentType("World")

List of ParentTypes

All ParentTypes have an alternate way of spelling it, an alias, though internally they do the same thing. They will be listed just underneath what Figura considers to be the true ParentType.
Many ParentTypes share similar properties. You can roughly put them into 3 distinct groups: Mimic, Pivot, and Special. These groupings are not recognized by the mod itself and just serve to make explaining similar ParentTypes more convenient.


None

The default ParentType.
Using this ParentType as a Keyword has no purpose, as groups with no Keyword will have this ParentType, but it can still be used in scripts.


Player Mimic Types

Player Mimic ParentTypes copy transformations (position, rotation, scale) from elsewhere, typically a Vanilla Part, and apply it to the ModelPart. This allows for a script-free way of making a ModelPart behave like a Vanilla Part. These transformations are added on top of any transformations set via script or transformations set via a BlockBench Animation. To prevent this ParentTypes transformations from being applied while a BlockBench Animation is playing, enable the Animation's Override property.


Mimics the transformation offsets of the Vanilla HEAD
If there is no ModelParts with the Skull ParentType, ModelParts with this ParentType will replace the Vanilla Skull.


Body

Mimics the transformation offsets of the Vanilla BODY


RightArm

Mimics the transformation offsets of the Vanilla RIGHT_ARM
This ParentType will appear in First Person under the same conditions as the Vanilla RightArm.


LeftArm

Mimics the transformation offsets of the Vanilla LEFT_ARM
This ParentType will appear in First Person under the same conditions as the Vanilla LeftArm.


RightLeg

Mimics the transformation offsets of the Vanilla RIGHT_LEG


LeftLeg

Mimics the transformation offsets of the Vanilla LEFT_LEG


RightElytra

  • RIGHT_ELYTRA

  • RightElytron

  • RIGHT_ELYTRON

Mimics the transformation offsets of the Vanilla RIGHT_ELYTRA
ModelParts with this ParentType are only visible while an Elytra is equipped.


LeftElytra

  • LEFT_ELYTRA

  • LeftElytron

  • LEFT_ELYTRON

Mimics the transformation offsets of the Vanilla LEFT_ELYTRA
ModelParts with this ParentType are only visible while an Elytra is equipped.


Cape

Mimics the transformation offsets of the Vanilla CAPE
This ParentType works even if you don't own a vanilla Cape.


Special Types

Special ParentTypes are ParentTypes that provide unique rendering functionality that is either difficult or impossible to recreate with script alone.


World

This ParentType will cause the ModelPart to be parented to the Minecraft World itself rather than your Player.
Position (0,0,0) will be at the world's origin. 1 block is 16 ModelPart units, so multiply the world coordinates by 16 before setting the position of a World ParentType ModelPart.
Rotation (0,0,0) will be facing South instead of what BlockBench defines as North.
ModelParts with this ParentType will be visible while in First Person.


Hud

  • HUD

  • HeadsUpDisplay

  • Gui

  • GUI

  • GraphicalUserInterface

  • JraficalUserInterface

This ParentType causes the ModelPart to render on the Hud instead of on your player. This only affects the owner's Hud, or players that spectate the owner of the avatar.
(0,0,0) is the top left of the screen. 1 ModelPart unit is 1 Minecraft Gui unit. -X moves the ModelPart Right on the screen, and -Y moves the ModelPart Down on the screen. The Z axis determines which ModelParts render on top of others, with -Z moving the ModelPart closer. You can even have ModelParts render on top of the vanilla GUI.


Camera

This ParentType causes the ModelPart to always face the camera. It behaves like the vanilla nameplate or particles.


Skull

This ParentType causes the ModelPart to replace the Vanilla Skull.


Portrait

This ParentType will change the player icon in the TAB LIST.
Blockbench 0, 0, 0 is the bottom center and the valid area extends 4 units horizontally on each since and 8 units up.


Arrow

This ParentType replaces the model of arrows fired by you. The pivot point of the ModelPart that has this ParentType does not matter.
(0,0,0) in BlockBench is the point on the vanilla arrow's shaft that is just before the arrow head.


Trident

This ParentType replaces the model of tridents thrown by you. The pivot point of the ModelPart that has this ParentType does not matter.


Item

This ParentType designates a Custom Item Model that can be used in the ITEM_RENDER event.


Pivot Types

Pivot ParentTypes move the location of specific Vanilla Parts to the pivot point of the ModelPart. If multiple of the same Pivot ParentType are in a bbmodel, multiple of them are rendered. These ParentTypes will only render their Vanilla Part if the part in the vanilla_model global is visible.


RightItemPivot

  • RIGHT_ITEM_PIVOT

This ParentType renders the right held item at the ModelPart's pivot point.


LeftItemPivot

  • LEFT_ITEM_PIVOT

This ParentType renders the left held item at the ModelPart's pivot point.


RightElytraPivot

  • RIGHT_ELYTRA_PIVOT

  • RightWingPivot

  • RIGHT_WING_PIVOT

This ParentType renders the right elytra wing at the ModelPart's pivot point.


LeftElytraPivot

  • LEFT_ELYTRA_PIVOT

  • LeftWingPivot

  • LEFT_WING_PIVOT

This ParentType renders the left elytra wing at the ModelPart's pivot point.


RightParrotPivot

  • RIGHT_PARROT_PIVOT

This ParentType renders the entity riding on your right shoulder at the ModelPart's pivot point. I say entity, but that entity will always be a parrot.


LeftParrotPivot

  • LEFT_PARROT_PIVOT

This ParentType renders the entity riding on your left shoulder at the ModelPart's pivot point. I say entity, but that entity will always be a parrot.


RightSpyglassPivot

  • RIGHT_SPYGLASS_PIVOT

This ParentType renders a spyglass at this ModelPart's pivot point when you are using a spyglass in the RightHand.


LeftSpyglassPivot

  • LEFT_SPYGLASS_PIVOT

This ParentType renders a spyglass at this ModelPart's pivot point when you are using a spyglass in the LeftHand.


Armor Pivot Types

Armor Pivot ParentTypes move the location of specific Vanilla Parts to the pivot point of the ModelPart. If multiple of the same Pivot ParentType are in a bbmodel, multiple of them are rendered. These ParentTypes will only render their Vanilla Part if the part in the vanilla_model global is visible.


HelmetPivot

  • HELMET_PIVOT

This ParentType renders the helmet at the ModelPart's pivot point. For rendering an item in the helmet slot see HelmetItemPivot.


ChestplatePivot

  • CHESTPLATE_PIVOT

This ParentType renders the chestplate at the ModelPart's pivot point.


ChestplateBodyPivot

  • CHESTPLATE_BODY_PIVOT

This ParentType renders the body of the chestplate at the ModelPart's pivot point.


LeftShoulderPivot

  • LEFT_SHOULDER_PIVOT

This ParentType renders the left shoulder of the chestplate at the ModelPart's pivot point.


RightShoulderPivot

  • RIGHT_SHOULDER_PIVOT

This ParentType renders the right shoulder of the chestplate at the ModelPart's pivot point.


BeltPivot

  • BELT_PIVOT

This ParentType renders the belt of the leggings at the ModelPart's pivot point.


LeggingsPivot

  • LEGGINGS_PIVOT

This ParentType renders the leggings at the ModelPart's pivot point.


LeftLeggingPivot

  • LEFT_LEGGING_PIVOT

This ParentType renders the left legging at the ModelPart's pivot point.


RightLeggingPivot

  • RIGHT_LEGGING_PIVOT

This ParentType renders the right legging at the ModelPart's pivot point.


LeftBootPivot

  • LEFT_BOOT_PIVOT

This ParentType renders the left boot at the ModelPart's pivot point.


RightBootPivot

  • RIGHT_BOOT_PIVOT

This ParentType renders the right boot at the ModelPart's pivot point.


HelmetItemPivot

  • HELMET_ITEM_PIVOT

This ParentType renders the item that is currently in the Helmet slot. This is for stull like pumpkins, banners, bones. For rendering the vanilla helmet in a different location see see HelmetPivot.