ItemTask
A task for rendering an Item from newItem
This page is a WIP. It contains all the information in Figura's documentation but we're working on adding more helpful descriptions.
For this entire page assume:
local myItem = models:newItem("myCoolItemName")
Item Task
setItem()
Aliases: item()
Sets the Item for this task render
- Overload 1
- Overload 2
Example:
myItem:setItem("slime_ball")
setDisplayMode()
Aliases: displayMode()
Sets the item display mode for this task
setDisplayMode(displayMode)
Parameters:
Name | Type | Description | Default |
---|---|---|---|
displayMode | String | - | - |
Returns:
Type | Description |
---|---|
ItemTask | Returns self for chaining |
Example:
myItem:setDisplayMode("GROUND")
getDisplayMode()
Gets this task item display mode
getDisplayMode()
Returns:
Type | Description |
---|---|
String | - |
Example:
myItem:getDisplayMode()
Render Task
setLight()
Aliases: light()
Sets the light override value of this task
Values are given from 0 to 15, indicating the block light and sky light levels you want to use
Passing nil will reset the lighting override for this task
- Overload 1
- Overload 2
setLight(light)
Parameters:
Name | Type | Description | Default |
---|---|---|---|
light | Vector2 | - | - |
Returns:
Type | Description |
---|---|
RenderTask | - |
setLight(blockLight, skyLight)
Parameters:
Name | Type | Description | Default |
---|---|---|---|
blockLight | Integer | - | - |
skyLight | Integer | - | - |
Returns:
Type | Description |
---|---|
RenderTask | - |
Example:
local blockLight = world.getLightLevel(player:getPos())
local skyLight = world.getSkyLightLevel(player:getPos())
myItem:setLight(blockLight, skyLight)
getLight()
Returns the light override value of this task
getLight()
Returns:
Type | Description |
---|---|
Vector2 | - |
Example:
myItem:getLight()
setMatrix()
Aliases: matrix()
Sets the given matrix as the position matrix for this render task
The normal matrix is automatically calculated as the inverse transpose of this matrix
Calling this DOES NOT CHANGE the values of position, rot, or scale in the render task
If you call setPos() or a similar function, the effects of setMatrix() will be overwritten
setMatrix(matrix)
Parameters:
Name | Type | Description | Default |
---|---|---|---|
matrix | Matrix4 | - | - |
Returns:
Type | Description |
---|---|
RenderTask | - |
Example:
myItem:setMatrix(matrices.mat4())
getName()
Get this task's name
getName()
Returns:
Type | Description |
---|---|
String | - |
Example:
myItem:getName()
getNormalMatrix()
Recalculates the normal matrix for this render task, based on its current position, rotation, scale, and pivot, then returns this matrix
getNormalMatrix()
Returns:
Type | Description |
---|---|
Matrix3 | - |
Example:
myItem:getNormalMatrix()
getNormalMatrixRaw()
Returns the normal matrix for this render task
The Raw version of the function is different in that it doesn't recalculate the matrix before returning it
getNormalMatrixRaw()
Returns:
Type | Description |
---|---|
Matrix3 | - |
Example:
myItem:getNormalMatrixRaw()
setOverlay()
Aliases: overlay()
Sets the overlay override value of this task
Values you give are 0 to 15, indicating the white overlay and the damage overlay levels you want to use
Passing nil will reset the overlay override for this task
- Overload 1
- Overload 2
setOverlay(overlay)
Parameters:
Name | Type | Description | Default |
---|---|---|---|
overlay | Vector2 | - | - |
Returns:
Type | Description |
---|---|
RenderTask | - |
setOverlay(whiteOverlay, hurtOverlay)
Parameters:
Name | Type | Description | Default |
---|---|---|---|
whiteOverlay | Integer | - | - |
hurtOverlay | Integer | - | - |
Returns:
Type | Description |
---|---|
RenderTask | - |
Example:
local hurt = player:getNbt.HurtTime > 0
myItem:setOverlay(hurt and 0 or nil, 1)
getOverlay()
Returns the overlay override value of this task
getOverlay()
Returns:
Type | Description |
---|---|
Vector2 | - |
Example:
myItem:getOverlay()
setPos()
Aliases: pos()
Sets the position of the task, relative to its attached part
Uses model coordinates
- Overload 1
- Overload 2
setPos(x, y, z)
Parameters:
Name | Type | Description | Default |
---|---|---|---|
x | Number | - | - |
y | Number | - | - |
z | Number | - | - |
Returns:
Type | Description |
---|---|
RenderTask | - |
Example:
myItem:setPos(0, 16, 0)
getPos()
Gets this task position
getPos()
Returns:
Type | Description |
---|---|
Vector3 | - |
Example:
myItem:getPos()
getPositionMatrix()
Recalculates the matrix for this render task, based on its current position, rotation, scale, and pivot, then returns this matrix
getPositionMatrix()
Returns:
Type | Description |
---|---|
Matrix4 | - |
Example:
myItem:getPositionMatrix()
getPositionMatrixRaw()
Returns the position matrix for this render task
The Raw version of the function is different in that it doesn't recalculate the matrix before getting it
getPositionMatrixRaw()
Returns:
Type | Description |
---|---|
Matrix4 | - |
Example:
myItem:getPositionMatrixRaw()
setRot()
Aliases: rot()
Sets the rotation of the task, relative to its attached part
- Overload 1
- Overload 2
setRot(x, y, z)
Parameters:
Name | Type | Description | Default |
---|---|---|---|
x | Number | - | - |
y | Number | - | - |
z | Number | - | - |
Returns:
Type | Description |
---|---|
RenderTask | - |
Example:
myItem:setRot(0, 45, 22.5)
getRot()
Gets this task rotation
getRot()
Returns:
Type | Description |
---|---|
Vector3 | - |
Example:
myItem:getRot()
setScale()
Aliases: scale()
Sets the scale of the task, relative to its attached part
- Overload 1
- Overload 2
setScale(scale)
Parameters:
Name | Type | Description | Default |
---|---|---|---|
scale | Vector3 | - | - |
Returns:
Type | Description |
---|---|
RenderTask | - |
setScale(x, y, z)
Parameters:
Name | Type | Description | Default |
---|---|---|---|
x | Number | - | - |
y | Number | - | - |
z | Number | - | - |
Returns:
Type | Description |
---|---|
RenderTask | - |
Example:
myItem:setScale(0.4, 0.4, 0.4) -- myItem:setScale(0.4) also works
getScale()
Gets this task scale
getScale()
Returns:
Type | Description |
---|---|
Vector3 | - |
Example:
myItem:getScale()
setVisible()
Aliases: visible()
Sets whether or not this task should be rendered
setVisible(visible)
Parameters:
Name | Type | Description | Default |
---|---|---|---|
visible | Boolean | - | - |
Returns:
Type | Description |
---|---|
RenderTask | - |
Example:
local myPage = action_wheel.newPage()
myPage:newAction():setOnToggle(function(state)
myItem:setVisible(state)
end)
isVisible()
Checks if this task is visible
isVisible()
Returns:
Type | Description |
---|---|
Boolean | - |
Example:
if myItem:isVisible() then
-- do something
end
remove()
Removes this render task from the parent model part
remove()
Returns:
Type | Description |
---|---|
RenderTask | - |
Example:
myItem:remove()