🎯 Hitbox#

#bs.hitbox:help

Get and check the hitboxes of blocks or entities.

“Talent hits a target no one else can hit; Genius hits a target no one else can see.”

—Arthur Schopenhauer


🔧 Functions#

You can find below all functions available in this module.


Get#

#bs.hitbox:get_block

Get the hitbox of a block as a shape, represented by a list of boxes coordinates. Dimensions range from 0 to 16 as for models.

Inputs:

Execution at <entity> or positioned <x> <y> <z>: Position from which to get the block hitbox.

Outputs:

Storage bs:out hitbox:

  • Block collision box
    • shape: A list of cube coordinates (format: [[xmin, ymin, zmin, xmax, ymax, zmax]]).
    • offset: Hitbox offset (used for exemple by flowers).
      • x: Number describing the X coordinate offset.
      • z: Number describing the Z coordinate offset.

Get the hitbox of stairs:

setblock 0 0 0 minecraft:oak_stairs
execute positioned 0 0 0 run function #bs.hitbox:get_block
data get storage bs:out hitbox
#bs.hitbox:get_entity

Get the width and height of an entity.

Inputs:

Execution as <entities>: Entity to get the hitbox from.

Outputs:

Storage bs:out hitbox:

  • Block collision box
    • height: Height of the entity.
    • width: Width of the entity.
    • scale: Scaling of the hitbox.

Get the hitbox of an armor_stand:

execute summon minecraft:armor_stand run function #bs.hitbox:get_entity
data get storage bs:out hitbox

Important

Static entities, such as paintings and item frames, do not provide height and width information. Instead, they return a shape similar to blocks in bs:out hitbox.

Credits: Aksiome


Is inside#

#bs.hitbox:is_in_block

Check if the execution position is inside the hitbox of a block.

Inputs:

Execution at <entity> or positioned <x> <y> <z>: Position to check.

Outputs:

Return: Success or failure.

Say “My name is Pavel” if you are inside a block:

execute if function #bs.hitbox:is_in_block run say My name is Pavel
#bs.hitbox:is_in_entity

Check if the execution position is inside the entity executing the command.

Inputs:

Execution as <entities>: Entity to check.

Execution at <entity> or positioned <x> <y> <z>: Position to check.

Outputs:

Return: Success or failure.

Check if you are inside an entity:

execute summon minecraft:cow if function #bs.hitbox:is_in_entity run say Oh no...

Credits: Aksiome


💬 Did it help you?

Feel free to leave your questions and feedbacks below!