Modscraper Modscraper Minecraft
HeroBot logo

HeroBot

Mod

Framework for fabric based server side players (and extra helpful settings)

Type

Mod

Modrinth Downloads

317,562

Modrinth ID

wt23fpWX

Last Updated

Apr 12, 2026

Description

This mod is made for datapack makers to make bots that can fight back

The bots have a much higher parity with a vanilla client compared to carpet, with things like Auto-Jump and the spear working.

Incompatible With Carpet Mod and Carpet PVP

Views and modifies HeRoBot settings via the /herobot command. Running /herobot with no arguments displays the mod version.

Usage

  • /herobot <setting> - Displays the current value and description
  • /herobot <setting> <value> - Sets the setting temporarily for this session
  • /herobot <setting> <value> <perm> - Sets the setting permanently (saved to config)

Bots

Spawn offline players in online mode if an online-mode player with the specified name does not exist.

Default: true

Allows bot players to appear in the multiplayer player list.

Default: true

Changes the ping to tick conversion rate for bot players. Used when converting a bot's ping (in ms) to a tick delay for knockback.

Default: 25

[Experimental] Makes left clicks (attack) on bot players delayed by the bot's ping value.

Default: false

[Experimental] Makes right clicks (use) on bot players delayed by the bot's ping value.

Default: false

Bot players disconnect from the server on death instead of automatically respawning.

Default: false

Creative

Creative no clip mode. Allows creative players who are flying to phase through blocks.

Default: false

Changes the creative flying speed multiplier. Higher values make the client fly faster.

Default: 1.0

Changes creative air drag. Lower values reduce air resistance while flying.

Default: 0.09

Combat

Enables shield stunning, allowing entities to be damaged immediately after a shield is disabled.

Default: false

Removes randomness from projectiles, making them perfectly accurate.

Default: false

Explosions

Controls whether explosions destroy blocks.

Values:

  • FALSE - vanilla behavior
  • MOST - affects non-solid blocks except glowstone and redstone-interaction blocks
  • TRUE - prevents all block damage

Default: FALSE

Prevents explosions from beds and respawn anchors from creating fire.

Default: false

Wind charges won't activate redstone blocks.

Default: false

World / Misc

If false, makes client players ignore slower tick rates.

Default: true

Allows editing player NBT data directly. Also allows mounting players via /ride when enabled.

Default: false

Players absorb experience instantly without delay.

Default: false

Shulker boxes will always drop, regardless of the doTileDrops gamerule.

Default: false

When enabled, chunk reset/deletion also deletes entity data files within those chunks.

Default: false

Allows rain to fall through blocks being moved by pistons.

Default: false

Remove the experimental world setting. If set on the client, disables all experimental screens. If set on a world, only disables it for that world.

Default: false

Bot players are fake players that join the server and can be controlled entirely through commands. They are spawned with /playerspawn and controlled with /player. Bot players have correct server-side behavior for combat, movement, and item usage.

Bot players automatically respawn on death with full health, empty inventory, and no XP (unless botLeaveOnDeath is enabled).

Spawns a bot player with optional position, rotation, gamemode, and dimension.

  • /playerspawn <name> - spawns at the executor's position
  • /playerspawn <name> at <pos> - spawns at a specific position
  • /playerspawn <name> at <pos> facing <rotation> - spawns with specific yaw/pitch
  • /playerspawn <name> at <pos> facing <cardinal> - spawns facing a cardinal direction (north, south, east, west, up, down)
  • /playerspawn <name> ... in <gamemode> - spawns in a specific gamemode (defaults to creative)
  • /playerspawn <name> ... on <dimension> - spawns in a specific dimension

Prevents duplicate names. Respects whitelist and bans. Spectators spawn flying, survival players spawn grounded.

Controls bot players using action packs. All subcommands target with /player <targets> ... and support selectors for targeting multiple bots.

Action commands that make the bot perform player actions.

  • /player <targets> <action> - stops that action
  • /player <targets> <action> once - performs the action once
  • /player <targets> <action> continuous - performs the action every tick
  • /player <targets> <action> interval <ticks> - performs the action every N ticks

use without parameters stops using without triggering another use (unlike carpet where it behaved like use once).

swing swings a hand without performing an action and resets the attack cooldown.

attack with a spear/kinetic weapon will perform a stab action instead.

Controls automatic jumping over one-block obstacles while moving

  • /player <targets> autojump - attempts a single autojump (jumps if the bot is moving and would need to step up)
  • /player <targets> autojump true - enables continuous autojump
  • /player <targets> autojump false - disables continuous autojump

Controls bot movement direction.

  • /player <targets> move - stops all movement
  • /player <targets> move forward
  • /player <targets> move backward
  • /player <targets> move left
  • /player <targets> move right
  • /player <targets> sneak - starts sneaking
  • /player <targets> unsneak - stops sneaking
  • /player <targets> sprint - starts sprinting
  • /player <targets> unsprint - stops sprinting

Sneaking slows movement to 30% speed. Using an item (non-spear) slows to 20% speed.

Controls where the bot is looking. Most look commands support delta <ticks> for smooth transitions over multiple ticks.

Cardinal Directions

  • /player <targets> look north|south|east|west|up|down
  • /player <targets> look north delta <ticks>

Exact Rotation

  • /player <targets> look <yaw> <pitch>
  • /player <targets> look <yaw> <pitch> delta <ticks>

Relative Turns

  • /player <targets> look left - turns 90 degrees left
  • /player <targets> look right - turns 90 degrees right
  • /player <targets> look back - turns 180 degrees
  • /player <targets> look relative <rotation> - turns by the given relative rotation
  • All support delta <ticks>

Look at Position

  • /player <targets> look at <pos>
  • /player <targets> look at <pos> delta <ticks>

Look at Entity

  • /player <targets> look upon <entity> - looks at the entity's eyes (default)
  • /player <targets> look upon <entity> eyes - looks at the entity's eyes
  • /player <targets> look upon <entity> feet - looks at the entity's feet
  • /player <targets> look upon <entity> closest - looks at the closest point of the entity's hitbox
  • All support delta <ticks>

Random

  • /player <targets> look random - looks in a random direction

Selects a hotbar slot.

  • /player <targets> hotbar <slot> - selects slot 1 through 9

Controls item cooldowns.

  • /player <targets> itemCd - resets all item cooldowns (returns how many were reset)
  • /player <targets> itemCd <item> - shows remaining cooldown ticks (returns tick count)
  • /player <targets> itemCd <item> reset - resets the cooldown for that item
  • /player <targets> itemCd <item> set - applies the item's default cooldown without using it
  • /player <targets> itemCd <item> set <ticks> - applies a custom cooldown duration

Controls the bot's simulated ping. Knockback is delayed by the equivalent number of ticks based on the botPingToTicks setting.

  • /player <targets> ping - shows the bot's current ping and equivalent tick delay
  • /player <targets> ping <value> - sets the ping in milliseconds (suggested: 0, 25, 50, 100, 150, 200)

The tick delay has some randomness when the ping doesn't divide evenly by botPingToTicks. For example, with ping 30 and botPingToTicks 25, there is a 5/25 chance each tick to add 1 extra tick of delay.

Copies another player's inventory and action pack onto the bot.

  • /player <targets> copycat <source>

Toggles visibility of individual skin parts on the bot.

Skin parts:

  • /player <targets> skin cape
  • /player <targets> skin jacket
  • /player <targets> skin leftSleeve
  • /player <targets> skin rightSleeve
  • /player <targets> skin leftPant
  • /player <targets> skin rightPant
  • /player <targets> skin hat

Each call toggles the part on/off.

Left/Right Handedness:

  • /player <targets> handedness left
  • /player <targets> handedness right
  • /player <targets> stop - stops all actions and movement
  • /player <targets> kill - kills the bot (triggers death and respawn)
  • /player <targets> disconnect - removes the bot from the server without a death

Measures distance between two positions, entities, or hitboxes and stores the result as the command return value (scoreboard-friendly). Default distance is spherical (3D).

Point-to-point distance using exact positions.

  • /distance from <pos> to <pos>
  • /distance from <pos> to <entity>
  • /distance from <entity> to <pos>
  • /distance from <entity> to <entity>

Uses the full bounding box of the source instead of its center point.

  • /distance fromHitbox <block> to <pos|entity>
  • /distance fromHitbox <entity> to <pos|entity>

Can also be combined with toHitbox:

  • /distance from <pos|entity> toHitbox <block>
  • /distance from <pos|entity> toHitbox <entity>
  • /distance fromHitbox <block|entity> toHitbox <block|entity>
  • /distance ... e <exp>
  • Multiplies the distance by 10^exp before returning
  • Example: 4 blocks with e 3 returns 4000

Measures XZ distance only (ignores Y).

  • /distance ... horizontal
  • Supports e <exp>

Measures Y distance only (ignores XZ).

  • /distance ... vertical
  • Supports e <exp>

Schedules commands or functions to run after a tick delay.

Schedules a command or function to execute after a specified number of ticks.

  • /delayed tickDelay <ticks> command <command> - runs a command after the delay, supports full auto-completion
  • /delayed tickDelay <ticks> function <function> - runs a datapack function after the delay

View and manage pending delayed commands.

  • /delayed queue - lists all pending delayed commands
  • /delayed queue entity <entity> - lists delayed commands for a specific entity
  • /delayed queue entity - lists delayed commands for the executing entity
  • /delayed queue remove <index> - removes a specific delayed command by index
  • /delayed clear - clears all pending delayed commands

Resets (deletes) chunk data so they regenerate fresh on next load. Loaded chunks are skipped and must be unloaded first.

Resets specific chunks by block column position.

  • /chunk-resetter chunk <pos> - resets the single chunk at the given position
  • /chunk-resetter chunk <from> <to> - resets all chunks in the rectangular range (max 256 chunks)

Entities in reset chunks are discarded.

Resets all unloaded chunks in an entire dimension. Also deletes POI data. Entity data files are only deleted if deleteChunkEntities is enabled.

  • /chunk-resetter world - resets chunks in the current dimension
  • /chunk-resetter world <dimension> - resets chunks in the specified dimension

Compatibility

Mod Loaders

Fabric

Game Versions

1.21.11

Similar Mods

Included in Modpacks

External Resources