Compatibility
Minecraft: Java Edition
1.21–1.21.1
Platforms
Supported environments
Links
Creators
Details
Licensed MIT
Published 6 months ago
Updated last week
Vanilla Essentials
A mod that adds useful tools for technical players, command block users, and mapmakers — designed to blend naturally with vanilla Minecraft.
Feel free to send feedback here
Features
Entities
- Hitbox entity
Commands
/raycast/compare/rename/advancedsummon/count/activate/convert/iftick/distance/rtp/coords/nearfill/scan/ifat/area/findblock/ifpowered
Keybinds
- Copy block position (
F6) - Change fly speed (
backtick) - Quick fill (
F8)
Scoreboard Criteria
- Right-click
- OP permission
Other
- Antikill
- Antitp
- Entity selector count argument
- Exclude self argument
Usage
Hitbox Entity
- An invisible entity with a hitbox.
- Has NBT data
scaleto adjust its size andIsEnabledto toggle collision. - This is a server-side feature.
Commands
/raycast
- Performs a raycast from the player's perspective to detect a block.
- Usage:
/raycast <player> block <axis> [<max_distance>]/raycast <player> ifblock <block> [<max_distance>]
- With
block, returns the coordinate along the given axis (x,y, orz) of the block the player is looking at. - With
ifblock, returns1if the block the player is looking at matches the given block state. - If no block is hit, the command fails.
- Returns the result or error if conditions are not met.
- Runs on the server side.
/compare
- Runs command on entities whose NBT values match a comparison source (another entity or storage).
- Usage:
/compare <target> <target-path> entity <compare-target> <compare-path> <command>/compare <target> <target-path> storage <storage-id> <storage-path> <command>
- Runs on the server side.
/rename
- Renames the item you're holding in your main hand.
- Usage:
/rename <text> - Supports only plain text — no color codes or JSON components.
- Runs on the client side.
/advancedsummon
- Spawns entities with advanced options.
- Usage:
/advancedsummon area <from> <to> <entity> [<nbt>]— summons one entity per block in the cuboid area./advancedsummon multiple <amount> <entity> [<nbt>]— summons the specified number of entities.
- Runs on the server side.
/count
- Counts entities and players matching the target selector.
- Usage:
/count <target> - Returns the count as the command result.
- Runs on the server side.
/activate
- Toggles interactable blocks at the specified position.
- Can activate command blocks.
- For levers, it flips the state (on/off).
- For buttons and pressure plates, it simulates pressing and automatically releases after 1 second.
- Usage:
/activate <pos> - Runs on the server side.
/convert
- Converts blocks into entities.
- Usage:
/convert <from> <to> (falling_block|block_display) [<nbt>] - Runs on the server side.
/iftick
- Checks if the current game tick matches the specified tick number.
- Usage:
/iftick <tick> - Succeeds only if the current tick count modulo
<tick>is zero. - Useful for timing functions to run periodically.
- Runs on the server side.
/distance
-
Measures the straight-line (Euclidean) distance between two blocks or two entities.
-
Usage:
/distance block <from> <to>/distance entity <from> <to>
-
Outputs the integer distance in chat.
-
Returns the integer distance as the command result.
-
Runs on the server side.
/rtp
- Teleports target entities to a random grid-aligned position within the specified cuboid area.
- Usage:
/rtp <targets> <from> <to> - Runs on the server side.
/coords
- Client-side command to save, list, remove, and copy named block positions.
- Positions are saved per world/server in a JSON file (
saved_cords.json) inside your Minecraft folder. - Usage:
/coords save <name>— saves your current player block position under<name>./coords list— lists all saved positions for the current world/server./coords remove <name>— deletes the saved position<name>./coords copy <name>— copies the saved coordinates<name>to your clipboard asx y z.
- Saved coordinates persist between Minecraft sessions.
- Runs on the client side.
/nearfill
- Fills a volume relative to the player’s position using an offset.
- Usage:
/nearfill <dx> <dy> <dz> <block>— fills the block at the offset from the player with<block>./nearfill <dx> <dy> <dz> <block> replace <replace>— replaces blocks.
- Runs on the server side.
/scan
- Returns the specified block count in an area.
- Usage:
/scan <from> <to> <block> - Runs on the server side.
/ifat
- Executes a command as all targets in an area.
- Usage:
/ifat <from> <to> <command> - Runs on the server side.
/area
- Executes a command for every block in an area.
- Usage:
/area <from> <to> <command> - Runs on the server side.
/findblock
- Finds the closest block in a radius and returns the axis.
- Usage:
/findblock <block> <radius> [<axis>] - Runs on the server side.
/ifpowered
- Detects if a block is powered.
- Usage:
/ifpowered <pos> [<not>] - The command fails if the block is not powered but succeeds if the not boolean is set to true.
- Runs on the server side.
/snapshot
- Used to restore areas.
- Usage:
/snapshot save <from> <to> <name> [<filterAir>]/snapshot restore <name>/snapshot remove <name>
- Runs on the server side.
Keybinds
Copy Block Position (F6)
- Press
F6while looking at a block to copy its coordinates to your clipboard. - Coordinates format:
x y z.
Change Fly Speed (backtick)
- Scroll while holding
backtickto change fly speed.
Quick fill (F8)
- Press the key once to select the first corner of an area.
- Press again to select the second corner — the area will be filled with the block in your hand.
- Press Ctrl + key to manually clear the selection.
- If only the first point is selected, it will auto-clear after 30 seconds.
Scoreboard Criteria
Right-click
- Tracks when the player right-clicks with any item.
OP Permission
- Custom scoreboard criteria that detects if a player has operator permissions.
Other
Antikill
- Entities tagged
antikillcannot be killed by/kill.
Antitp
- Entities tagged
antitpcannot be teleported by/tp.
Entity selector count argument
- Can be used in any entity selector (
@e[...]) with thecountargument. - Supports a single number (
count=2) or a range (count=2..3). - The selector only targets entities if the number of matches falls within the specified range.
- If the number of matching entities is outside the range, no entities are targeted.
Exclude self argument
- When added to an entity selector (
exclude_self=true), it excludes the executor entity (@s) from the targets.



