ModelPart Indexing - KitCat962/FiguraRewriteRewrite GitHub Wiki
This page describes the process to access any ModelPart from the global ModelPart models
A property of all ModelParts is that you can get a child ModelPart of a parent ModelPart by indexing the parent with the child's name.
models
itself is a ModelPart. All bbmodel files in the avatar act as child ModelParts to models
.
Everything in the root of a Blockbench project is a child of the bbmodel ModelPart.
After that, parenting follows the parent structure as defined in the Blockbench OUTLINER.
For example the cube
RightArm
,
-
model.bbmodel
--
Head
---
Head
---
Head Layer
--
RightArm
---
RightArm
---
RightArm Layer
Would be accessed via models.model.RightArm.RightArm
As there is nothing special about indexing straight from models
all the time (its just another ModelPart), if a specific ModelPart is used multiple times in a script we can store it in a variable for ease of access.
--sets a World parented part to match the player's position and body rotation
local worldPart=models.model.World
function events.RENDER(delta,context)
worldPart:setPos(player:getPos(delta)*16)
worldPart:setRot(0, -player:getBodyYaw(delta) + 180, 0)
end
bbmodel files in subfolders are a special case. For them, the folder itself acts as another ModelPart.
-
subfolderA
--
Pet.bbmodel
--
bow.bbmodel
-
subfolderB
--
model.bbmodel
--
bow.bbmodel
The bbmodel
Pet.bbmodel
would be accessed by models.subfolderA.Pet
.