Meet Beet

The Minecraft pack development kit

Beet Logo

Powered by Bolt

Python in MCFunction

Create reusable variables and use loops directly in your .mcfunction-files.

store result score #rotation temp random value 0..7
for i in range(0, 8):
    r = i * 45
    if score #rotation temp matches i data modify entity @s Rotation[0] set value r
scoreboard players reset #rotation temp

Powered by Mecha

Check for Errors

Beet can show errors in your functions without you even having to start Minecraft - clear, readable and not buried in a huge log file. And it can even show you some stats!

ERROR  | mecha  Expected bracket ']' but got curly '}'.
       | logging.mcfunction:1:29
       |      1 |  tellraw @a[scores={foo=1, bar=2] "Hello, World!"
       |        :                                 ^

Error: Reported 1 error.

Powered by Bolt

Nested Commands

Stack /execute-commands or define custom functions in a single file - Beet generates the function files for you.

as @a[predicate=is_sneaking,tag=is_dev,gamemode=creative]:
    effect give @s regeneration 1 255 true
    effect give @s saturation 1 255 true

    if score .debug code matches 1:
        title @s actionbar "Applying effects"