HOOK_PLAYER_USED_BLOCK


Index:
Articles
Classes
Hooks

Quick navigation:
BLOCK_SPREAD
BLOCK_TO_PICKUPS
BREWING_COMPLETED
BREWING_COMPLETING
CHAT
CHUNK_AVAILABLE
CHUNK_GENERATED
CHUNK_GENERATING
CHUNK_UNLOADED
CHUNK_UNLOADING
COLLECTING_PICKUP
CRAFTING_NO_RECIPE
DISCONNECT
DROPSPENSE
ENTITY_ADD_EFFECT
ENTITY_CHANGED_WORLD
ENTITY_CHANGING_WORLD
ENTITY_TELEPORT
EXECUTE_COMMAND
EXPLODED
EXPLODING
HANDSHAKE
HOPPER_PULLING_ITEM
HOPPER_PUSHING_ITEM
KILLED
KILLING
LOGIN
LOGIN_FORGE
PLAYER_ANIMATION
PLAYER_BREAKING_BLOCK
PLAYER_BROKEN_BLOCK
PLAYER_CROUCHED
PLAYER_DESTROYED
PLAYER_EATING
PLAYER_FISHED
PLAYER_FISHING
PLAYER_FOOD_LEVEL_CHANGE
PLAYER_JOINED
PLAYER_LEFT_CLICK
PLAYER_MOVING
PLAYER_OPENING_WINDOW
PLAYER_PLACED_BLOCK
PLAYER_PLACING_BLOCK
PLAYER_RIGHT_CLICK
PLAYER_RIGHT_CLICKING_ENTITY
PLAYER_SHOOTING
PLAYER_SPAWNED
PLAYER_TOSSING_ITEM
PLAYER_USED_BLOCK
PLAYER_USED_ITEM
PLAYER_USING_BLOCK
PLAYER_USING_ITEM
PLUGINS_LOADED
PLUGIN_MESSAGE
POST_CRAFTING
PRE_CRAFTING
PROJECTILE_HIT_BLOCK
PROJECTILE_HIT_ENTITY
SERVER_PING
SPAWNED_ENTITY
SPAWNED_MONSTER
SPAWNING_ENTITY
SPAWNING_MONSTER
TAKE_DAMAGE
TICK
UPDATED_SIGN
UPDATING_SIGN
WEATHER_CHANGED
WEATHER_CHANGING
WORLD_STARTED
WORLD_TICK

This hook is called after a player has right-clicked a block that can be used, such as a chest or a lever. It is called after Cuberite processes the usage (sends the UI handling packets / toggles redstone). Note that for UI-related blocks, the player is most likely still using the UI. This is a notification-only event.

Note that the block coords given in this callback are for the (solid) block that is being clicked, not the air block between it and the player.

To get the world at which the right-click occurred, use the cPlayer:GetWorld() function.

See also the HOOK_PLAYER_USING_BLOCK for a similar hook called before the use, the HOOK_PLAYER_USING_ITEM and HOOK_PLAYER_USED_ITEM for similar hooks called when a player interacts with any block with a usable item in hand, such as a bucket.


Callback function

The default name for the callback function is OnPlayerUsedBlock. It has the following signature:

function MyOnPlayerUsedBlock(Player, BlockX, BlockY, BlockZ, BlockFace, CursorX, CursorY, CursorZ, BlockType, BlockMeta)

Parameters:

NameTypeNotes
PlayercPlayerThe player who used the block
BlockXnumberX-coord of the clicked block
BlockYnumberY-coord of the clicked block
BlockZnumberZ-coord of the clicked block
BlockFacenumberFace of clicked block which has been clicked. One of the BLOCK_FACE_ constants
CursorXnumberX-coord of the cursor crosshair on the block being clicked
CursorYnumberY-coord of the cursor crosshair on the block being clicked
CursorZnumberZ-coord of the cursor crosshair on the block being clicked
BlockTypenumberBlock type of the clicked block
BlockMetanumberBlock meta of the clicked block

If the function returns false or no value, other plugins' callbacks are called. If the function returns true, no other callbacks are called for this event.


Code examples

Registering the callback

cPluginManager:AddHook(cPluginManager.HOOK_PLAYER_USED_BLOCK, MyOnPlayerUsedBlock);
Generated by APIDump on 2024-10-25 05:01:00, Build ID Unknown, Commit approx: 0325de7dacaf1e2feaea5eaab4791bc23d78f9e7