Back to mods
Basically Util Commands project artwork

Modrinth · Minecraft mod

Basically Util Commands

a serverside mod adding commands useful to mapmakers and others

Choose a version Pick your version below, then grab the matching file.

Quick answer

Which Basically Util Commands release should I use?

Updated 6 days ago
Latest stable file 3.5
Game version 1.21, 1.21.1, 1.21.2
Loader Fabric, Quilt

Basically Util Commands 3.5 targets 1.21, 1.21.1, 1.21.2 with Fabric, Quilt. Do not install it on the client. It must be installed on the dedicated server. No extra mods listed for this file.

Where it goes

Is Basically Util Commands required on the client, server, or both?

Do not install it on the client. It must be installed on the dedicated server.

Client Not supported
Dedicated server Required
Loader for this release Fabric, Quilt
Required install it here Optional supported, not mandatory Not supported do not install here Source doesn’t say do not assume

This file is marked server-only.

What else does Basically Util Commands 3.5 need?

3.5. Change the file and its required mods may change too.

No extra mods listed for this file

This file does not list any required mods. Do not add a library just because a different file uses it.

This file does not list any required or optional mods.

Before you install it

Add Basically Util Commands without breaking your instance.

Built for Basically Util Commands 3.5. Pick another file and the loader, install side or required mods may change.

  1. 01

    Stick to this file

    Use 3.5. It targets 1.21, 1.21.1, 1.21.2 with Fabric, Quilt; another release may have different loader, side or dependency requirements.

  2. 02

    Bring the mods it needs

    This file does not list any required mods. Do not add a library just because a different file uses it.

  3. 03

    Put it on the correct side

    Do not install it on the client. It must be installed on the dedicated server.

  4. 04

    Pick the file you checked

    Use the “Get this file” button beside 3.5. It opens that exact file at the source.

About this project

What does Basically Util Commands add?

keep in mind, the description is of the latest mod version, older versions might not be maintained!!!

fully serverside mod adding new commands and more!

datapackers or mapmakers may find this useful

commands

Eval

/eval

  • allows you to input any mathematical expression, the command will calculate it and return its result
  • has support for some functions:

    min(n1,n2,...), avg(n1,n2,...), len(n1,n2,...), abs(n1,n2,...), floor(n1,n2,...), etc...

  • you can use scores in expressions like so: <name>?<objective>
  • you can use storages in expressions like so: $storage$path$
  • you can use the command position and rotation context with px py pz and rx ry
full list of functions and variables

min(n1, n2, ...)

max(n1, n2, ...)

sum(n1, n2, ...)

avg(n1, n2, ...)

len(n1, n2, ...)

abs(v)

floor(v)

ceil(v)

round(v)

sqrt(v)

pow(base, exp)

sin(rad)

cos(rad)

tan(rad)

log(v, base)

ln(v)

clamp(v, min, max)

lerp(a, b, t)

smoothstep(edge0, edge1, v)

map(v, inMin, inMax, outMin, outMax)

rand(min, max)

rand(min, max, seed)

dot(x1, y1, z1, x2, y2, z2)

euler_dot(pitch1, yaw1, pitch2, yaw2)

"pi"

"tau"

"e"

"rx"

"ry"

"px"

"py'

"pz"

String

/string <set|append|concat|tojson|length> <...>

  • allows you to manipulate strings through storages

this command is new, and is currently being tested for bugs, syntax or implementation may change in the future

Raycast

/raycast run

  • summons a marker entity with the tag "BUC.raycast"
  • moves it forward by , times
  • runs at each step

Distance

/distance

  • returns the distance between the command pos and the target position multiplied by the scale

Check

/check <blocks|intersect|collision>

  • /check blocks
  • /check intersection
  • /check collision

/check blocks returns how many matching blocks it found in a cuboid area

/check intersection returns how many of the selected entities hitboxes are intersecting with the position the command is executed at

/check collision returns how many blocks the entity is intersecting with

Motion

/motion <set/add> <with|to|at>

  • applies motion in the direction of the executed command
  • with allows a 3d direction input
  • to allows a 3d position input
  • at allows a 2d rotation input

/motion multiply

  • multiplies the motion of the target by the factor, masked to the set axes

Heal

/heal

  • heals entities by set amount of health

Ignite

/ignite <set/add>

  • sets the selected entities on fire for the specified duration

Entitify

/entitify <block_display/falling_block> [keep/remove] [tag(s)]

  • turns the block at the target pos into an entity
  • multiple tags can be added: /entitify ~ ~ ~ block_display keep tag","another tag
    (thanks to json formatting: Tags:["+ <tag> +"])

Repeat

/repeat run

  • runs times
  • waits ticks before each execution, including the first one

MultiCommand

/multicommand

  • runs listed commands in order
  • commands must be encased in tags, otherwise the parser wont recognize them
    • example: /multicommand <c:you can do comments like this>say 1</c> <c>say 2</c:comments can be at the end too>

Execute expansions

...if text

... if text <inрut> ...

  • text operations
  • theres not much else to it
full list of operators

endswith

startswith

contains

exact

ignorecase

matches

...if eval

... if eval ...

  • evaluates the expression
  • if the result is < 0 test fails, if > 0 test succeeds
  • statements are allowed, as they are in /eval
    • example: /eval 1=0 would return 0, since the statement is false
    • example: /eval 0<=-10 || 1=1 would return 1, because of the OR operator, and the second, true, statement
...positioned over closest_ground

... positioned over closest_ground ...

  • snaps the commands position context to the closest up-facing surface within range
  • doesnt use heightmaps, meaning works under surfaces
...positioned over closest_ground_down

... positioned over closest_ground_down ...

  • snaps the commands position context to the closest up-facing surface within range below the previous position context
  • doesnt use heightmaps, meaning works under surfaces
...positioned over closest_view

... positioned over closest_view ...

  • performs a raycast and changes the position context to the first block collision of type conforming to
  • filter can be disabled by using "*"
...positioned over closest_view_entity

... positioned over closest_view_entity ...

  • performs a raycast and changes the position context to the first entity collision matching the selector
  • if is true, it will use the entities exact position, if false itll use the collision point

  • the mod also adds new player NBT called PlayerName which simply contains the players name

more features will be added in the future, feel free to suggest features via github issues

keep in mind, the description is of the latest mod version, older versions might not be maintained!!!

i know i said the same thing at the start im not an NPC

Project description from Modrinth.

Pick your setup

Basically Util Commands by Minecraft version and loader

Choose the version and loader you play, then open the matching release.

50 available setups

Showing the newest 12 of 19 game versions. Older files are in the list below.

Check the dependencies, then try the file in a copied instance before changing a world you care about.

Recent files

Basically Util Commands versions and loaders

32 of 32 releases match

Looking for an older file? The official Modrinth project page is in Resources.