Module block
Block related variables and functions
Functions
move (direction, moveDelay, movePlayer) | Tries to move the block to a specified direction. |
teleportto (xpos, ypos, removecurrentblock, removetargetspot) | Teleports the block to the given relative position. |
teleporttopos (xpos, ypos, removecurrentblock, removetargetspot) | Teleports the block to the given absolute position. |
bulkteleportto (removecurrentblock, removetargetspot, ...) | Teleports the block to multiple positions. |
vanish (time, vanishduration) | Makes the block vanish and reappear later. |
freeze (time, xpos, ypos) | Freezes the block for some number of ticks. |
explode (damage, vel, recovery) | Makes the block explode, damaging the player in the process. |
hurtplayer (damage, vel, recovery, checkRecovery) | Makes the block hurt the player by a specific amount and with a specified velocity. |
crumble (particles, damageModifier, damageThreshold) | Calculates crumble damage to the block depending on the player's velocity. |
shatter () | Destroys the block by shattering it. |
remove () | Removes the block from the map. |
dye (color, duration, alpha) | Applies paint to the block, altering its appearance until the paint wears off. |
blackhole (duration, strength, offsetx, offsety, speedx, speedy) | Summons a (client-sided) black hole. |
getblock (x, y, keepPlayerReference) | Finds another block by given coordinates. |
setmetadata (key, value) | Sets a metadata with a specified key-value pair to the block. |
getmetadata (key, defaultValue) | Gets a block metadata value with the specified key. |
Fields
health | Current health of the block. |
paused | Is the block paused? |
canmove | Can the block be moved |
xpos | The absolute x-position of the block. |
ypos | The absolute y-position of the block. |
onBreak | The event handler for block break. |
Functions
- move (direction, moveDelay, movePlayer)
-
Tries to move the block to a specified direction. Move delay and the option to move the player can be passed, too.
Parameters:
- direction string The direction to move the block to.
- moveDelay number The delay of how long it takes to the block to be able to be moved again. By default 100 (ms).
- movePlayer boolean Is the player also moved? By default false.
Returns:
-
boolean
Returns whatever the move was successful
Usage:
block.move("right")
block.move("right", 200, true)
- teleportto (xpos, ypos, removecurrentblock, removetargetspot)
-
Teleports the block to the given relative position. NOTE: This is only client-side, meaning this function will only work on the person's client who touched the block.
Parameters:
- xpos int The amount to move the block among the x-axis.
- ypos int The amount to move the block among the y-axis.
- removecurrentblock boolean If the original block should be deleted upon a successful teleportation. True by default.
- removetargetspot boolean If true, the teleporting block teleports to its specified location and deletes the block if its spot is taken up. False by default.
Returns:
-
boolean
Returns whether the move was successful.
Usage:
block.teleportto(0, -7, false, true)
- teleporttopos (xpos, ypos, removecurrentblock, removetargetspot)
-
Teleports the block to the given absolute position. NOTE: This is only client-side, meaning this function will only work on the person's client who touched the block.
Parameters:
- xpos int The x-position to teleport the block to.
- ypos int The y-position to teleport the block to.
- removecurrentblock boolean If the original block should be deleted upon a successful teleportation. True by default.
- removetargetspot boolean If true, the teleporting block teleports to its specified location and deletes the block if its spot is taken up. False by default.
Returns:
-
boolean
Returns whether the move was successful.
Usage:
block.teleporttopos(0, -7, false, true)
- bulkteleportto (removecurrentblock, removetargetspot, ...)
-
Teleports the block to multiple positions. NOTE: This is only client-side, meaning this function will only work on the person's client who touched the block.
This is equivalent to calling block.teleportto() multiple times, but in a cleaner and more performant way.
Parameters:
- removecurrentblock boolean If the original block should be deleted upon a successful teleportation. True by default.
- removetargetspot boolean If true, the teleporting block teleports to its specified location and deletes the block if its spot is taken up. False by default.
- ... vararg You may pass any number of pairs of xpos and ypos, or you may instead (or additionally) pass a call to tovararg() as the final argument.
Returns:
-
array
Returns an array of booleans, in which the n-th value represents whether the n-th move was successful.
See also:
Usage:
block.bulkteleportto(false, true, 0, -7, 0, -8, 1, -8, 0, -8)
block.bulkteleportto(false, true, tovararg({{x = 0, y = -7}, {x = 0, y = -8}, {x = 1, y = -8}, {x = 1, y = -7}}))
- vanish (time, vanishduration)
-
Makes the block vanish and reappear later. The vanish delay can be passed.
Parameters:
- time int The amount of time until vanishing. Vanishes instantly by default.
- vanishduration int The amount of time it takes for the block to reappear after being vanished. 2000 by default.
- freeze (time, xpos, ypos)
-
Freezes the block for some number of ticks. The position of a block can be passed to replace the default ice block.
Parameters:
- time int The amount of time, in ticks, for which the block will be frozen. By default 50.
- xpos int The x-position of the target block that will replace the default ice block. If omitted, the default ice block will be used.
- ypos int The y-position of the target block that will replace the default ice block. If omitted, the default ice block will be used.
- explode (damage, vel, recovery)
-
Makes the block explode, damaging the player in the process.
Parameters:
- damage int The amount of damage done to the player. By default 1.
- vel number The strength of the impact that pushes the player. By default 0.3.
- recovery number The number of seconds the player takes to recover. By default 2.5.
Usage:
block.explode(3, 1.1)
- hurtplayer (damage, vel, recovery, checkRecovery)
-
Makes the block hurt the player by a specific amount and with a specified velocity.
Parameters:
- damage int The amount of damage done to the player. By default 1.
- vel number The strength of the impact that pushes the player. By default 0.3.
- recovery number The number of seconds the player takes to recover. By default 2.5.
- checkRecovery boolean Prevents pushing the player if they have invulnerability received by recovering from damage. By default true.
Usage:
block.hurtplayer(3, 1.1)
- crumble (particles, damageModifier, damageThreshold)
-
Calculates crumble damage to the block depending on the player's velocity.
Causes the block's health to drop and shatters the block if it goes to zero or below.
Parameters:
- particles boolean Whatever to show particles when damage. By default true.
- damageModifier number Modifier used to calculate the velocity to damage. By default 100.
- damageThreshold number The threshold for how high the damage has to be to damage this block. By default 7.
Usage:
block.crumble(true, 120, 20)
- shatter ()
- Destroys the block by shattering it.
- remove ()
- Removes the block from the map.
- dye (color, duration, alpha)
-
Applies paint to the block, altering its appearance until the paint wears off.
Parameters:
- color int The decimal (or hex) value of the RGB color of the paint. By default 16777215.
- duration int How long does the paint last? By default 999999.
- alpha number Strength of the paint, ranges from 0 to 1.
Usage:
block.dye(255, 50, 0.5)
- blackhole (duration, strength, offsetx, offsety, speedx, speedy)
-
Summons a (client-sided) black hole.
Parameters:
- duration number The duration of the black hole. By default 9900.
- strength number The strength of the player pulling/pushing effect of the black hole. By default 1.
- offsetx int How many blocks away to the right does the black hole spawn? By default 0.
- offsety int How many blocks away downwards does the black hole spawn? By default 0.
- speedx int How fast does the black hole move to right? By default 0.
- speedy int How fast does the black hole move downwards? By default 0.
Usage:
block.blackhole(9900, 1, 0, 0, 0, 0)
- getblock (x, y, keepPlayerReference)
-
Finds another block by given coordinates. A player reference can be passed.
Parameters:
- x int How many blocks to the right the wanted block is?
- y int How many blocks downwards the wanted block is?
- keepPlayerReference boolean Is the player reference kept? By default false.
Returns:
-
block
The found block as an object. Returns nil if a block isn't found.
Usage:
block.getblock(0,-1).shatter()
- setmetadata (key, value)
-
Sets a metadata with a specified key-value pair to the block.
Parameters:
- key string Name of the metadata variable (the key)
- value Value of the metadata variable
Usage:
block.setmetadata("coins", 10)
block.setmetadata("block name", "aqua")
- getmetadata (key, defaultValue)
-
Gets a block metadata value with the specified key.
Parameters:
- key string The key (metadata variable name) that's used to find its value.
- defaultValue The value to return if the searched key does not exists. By default no specific value is returned.
Returns:
-
Returns the key's value. Returns defaultValue instead if the key isn't found.
Usage:
block.getmetadata("coins", 0)
block.getmetadata("block name", "unnamed")
Fields
- health
- Current health of the block. The block is shattered if its health goes to zero or below.
- paused
- Is the block paused? Paused blocks can't move or change into different blocks.
- canmove
- Can the block be moved
- xpos
- The absolute x-position of the block.
- ypos
- The absolute y-position of the block.
- onBreak
-
The event handler for block break. This event may be cancelled to prevent the block from breaking.
Provides the broken block, the side from which it was broken, and the reason; the reason may be either a Projectile, a Player (which may also be a LocalPlayer), or nil
See also:
Usage:
game.level.getBlockAt(5, 7).onBreak.addListener(function(event) event.cancelled = true --Prevents the block from breaking local block = tolua(event.block) local side = tolua(event.side) local reason = tolua(event.reason) if tolua(instanceof(reason, Projectile)) then --Checks if an item was used to break the block local shooter = tolua(reason.shooter) if tolua(instanceof(shooter, LocalPlayer)) then --Checks if the shooter is the local player shooter.hurt() end end end)