Skip to main content

ItemTask

A task for rendering an Item from newItem

For this entire page assume:

local myItem = models:newItem("myCoolItemsName")

setItem(item: ItemStack): ItemTask

Sets the Item for this task render

Example:

myItem:setItem("slime_ball")

setDisplayMode(displayMode: DisplayMode): ItemTask

Sets the item display mode for this task

Example:

myItem:setDisplayMode("GROUND")

getDisplayMode(): DisplayMode

Gets this task item display mode

Example:

myItem:getDisplayMode()

remove(): ItemTask

Removes this item task from the parent model part

Example:

myItem:remove()

getName(): string

Get this task's name

Example:

myItem:getName()

setVisible(state: boolean): ItemTask

Sets whether or not this task should be rendered

Example:

local myPage = action_wheel.newPage()
myPage:newAction():setOnToggle(function(state)
myItem:setVisible(state)
end)

isVisible(): boolean

Checks if this task is visible

Example:

if myItem:isVisible() then
-- do something
end

setLight(blockLight: number?, skyLight: number?): ItemTask

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

Example:

local blockLight = world.getLightLevel(player:getPos())
local skyLight = world.getSkyLightLevel(player:getPos())
myItem:setLight(blockLight, skyLight)

getLight(): Vector2

Returns the light override value of this task

Example:

myItem:getLight()

setOverlay(whiteOverlay: number?, hurtOverlay: number?): ItemTask

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

Example:

local hurt = player:getNbt.HurtTime > 0
myItem:setOverlay(hurt and 0 or nil, 1)

getOverlay(): Vector2

Returns the overlay override value of this task

Example:

myItem:getOverlay()

setPos(pos: Vector3): ItemTask

Sets the position of the task, relative with its attached part Uses model coordinates

Example:

myItem:setPos(0, 16, 0)

getPos(): Vector3

Gets this task position

Example:

myItem:getPos()

setRot(rot: Vector3): ItemTask

Sets the rotation of the task, relative with its attached part

Example:

myItem:setRot(0, 45, 22.5)

getRot(): Vector3

Gets this task rotation

Example:

myItem:getRot()

setScale(scale: Vector3): ItemTask

Sets the scale of the task, relative with its attached part

Example:

myItem:setScale(0.4, 0.4, 0.4) -- myItem:setScale(0.4) also works

getScale(): ItemTask

Gets this task scale

Example:

myItem:getScale()

setMatrix(matrix: Matrix4): ItemTask

Sets the given matrix as the position matrix for this item 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 item task If you call setPos() or a similar function, the effects of setMatrix() will be overwritten

Example:

myItem:setMatrix(matrices.mat4())

getPositionMatrix(): Matrix4

Recalculates the matrix for this item task, based on its current position, rotation, scale, and pivot, then returns this matrix

Example:

myItem:getPositionMatrix()

getPositionMatrixRaw(): Matrix4

Returns the position matrix for this item task The Raw version of the function is different in that it doesn't recalculate the matrix before getting it

Example:

myItem:getPositionMatrixRaw()

getNormalMatrix(): Matrix3

Recalculates the normal matrix for this item task, based on its current position, rotation, scale, and pivot, then returns this matrix

Example:

myItem:getNormalMatrix()

getNormalMatrixRaw(): Matrix3

Returns the normal matrix for this item task The Raw version of the function is different in that it doesn't recalculate the matrix before returning it

Example:

myItem:getNormalMatrixRaw()