Skip to main content

TextTask

A task for rendering text from newText

For this entire page assume:

local myText = models:newText("myCoolTextsName")

setText(text: string): TextTask​

Sets the Text for this task render

Example:

myText:setText("Hi mom!")

getText(): string​

Returns the Text from this task

Example:

myText:getText()

setAlignment(alignment: "LEFT" | "RIGHT" | "CENTER"): TextTask​

Sets this Text alignment Can be either "LEFT", "RIGHT" or "CENTER" Default "LEFT"

Example:

myText:setAlignment("CENTER")

getAlignment(): "LEFT" | "RIGHT" | "CENTER"​

Returns this Text alignment Default "LEFT"

Example:

myText:getAlignment()

setShadow(shadow: boolean): TextTask​

Sets if the Text should render with a drop shadow Not compatible with "Outline" mode

Example:

myText:setShadow(true)

hasShadow(): boolean​

Checks if this task text has shadow

Example:

myText:hasShadow()

setOutline(outline: boolean): TextTask​

Toggles if the Text should render with a outline Always renders at full bright Not compatible with "Shadow" and "Emissive" modes

Example:

myText:setOutline(true)

hasOutline(): boolean​

Checks if this task text has outline

Example:

myText:hasOutline()

setOutlineColor(color: Vector3): TextTask​

Sets the outline color this Text should render. Takes a Vector3 of rgb values or a number per value. Only compatible with "Outline" mode.

Example:

myText:setOutline(true)
myText:setOutlineColor(255 / 255, 192 / 255, 203 / 255)

getOutlineColor(): Vector3​

Gets this tasks text outline color

Example:

myText:getOutlineColor()

setWidth(width: number): TextTask​

Sets this Text max width, wrapping the text into multiple lines Width of 0 or less do not wraps the text Default 0

Example:

myText:setWidth(1)

getWidth(): number​

Gets this Text max width Default 0

Example:

myText:getWidth()

setWrap(wrap: boolean): TextTask​

Sets if this Text should wrap lines

Example:

myText:setWrap(true)

hasWrap(): boolean​

Check if this Text should wrap lines

Example:

myText:hasWrap()

setSeeThrough(seeThrough: boolean): TextTask​

Sets if this Text can be seen behind walls Default false

Example:

myText:setSeeThrough(true)

isSeeThrough(): boolean​

Check if this Text can be seen behind walls Default false

Example:

myText:isSeeThrough()

setBackground(background: boolean): TextTask​

Sets if this Text should render its background Default false

Example:

myText:setBackground(true)

hasBackground(): boolean​

Check if this Text should render its background Default false

Example:

myText:hasBackground()

setBackgroundColor(argb: Vector4): TextTask​

Sets the background colour of this Text. Takes a Vector4 of argb values or a number per value. If the alpha value is not given, it will uses the vanilla value (as in the accessibility settings).

Example:

myText:setBackgroundColor(63 / 255, 255 / 255, 192 / 255, 203 / 255)

getBackgroundColor(): Vector4​

Gets the this Text background color

Example:

myText:getBackgroundColor()

setOpacity(opacity: number): TextTask​

Sets the opacity of this text

Example:

myText:setOpacity(0.5)

getOpacity(): number​

Gets the opacity of this text

Example:

myText:getOpacity()

remove(): TextTask​

Removes this text task from the parent model part

Example:

myBlock:remove()

getName(): string​

Get this task's name

Example:

myBlock:getName()

setVisible(state: boolean): TextTask​

Sets whether or not this task should be rendered

Example:

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

isVisible(): boolean​

Checks if this task is visible

Example:

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

setLight(blockLight: number?, skyLight: number?): TextTask​

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())
myBlock:setLight(blockLight, skyLight)

getLight(): Vector2​

Returns the light override value of this task

Example:

myBlock:getLight()

setOverlay(whiteOverlay: number?, hurtOverlay: number?): TextTask​

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
myBlock:setOverlay(hurt and 0 or nil, 1)

getOverlay(): Vector2​

Returns the overlay override value of this task

Example:

myBlock:getOverlay()

setPos(pos: Vector3): TextTask​

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

Example:

myBlock:setPos(0, 16, 0)

getPos(): Vector3​

Gets this task position

Example:

myBlock:getPos()

setRot(rot: Vector3): TextTask​

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

Example:

myBlock:setRot(0, 45, 22.5)

getRot(): Vector3​

Gets this task rotation

Example:

myBlock:getRot()

setScale(scale: Vector3): TextTask​

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

Example:

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

getScale(): TextTask​

Gets this task scale

Example:

myBlock:getScale()

setMatrix(matrix: Matrix4): TextTask​

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

Example:

myBlock:setMatrix(matrices.mat4())

getPositionMatrix(): Matrix4​

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

Example:

myBlock:getPositionMatrix()

getPositionMatrixRaw(): Matrix4​

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

Example:

myBlock:getPositionMatrixRaw()

getNormalMatrix(): Matrix3​

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

Example:

myBlock:getNormalMatrix()

getNormalMatrixRaw(): Matrix3​

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

Example:

myBlock:getNormalMatrixRaw()