Compatibility
Minecraft: Java Edition
Platforms
Links
Tags
Creators
Details
Herobrine Sightings
A harmless, server side Herobrine prank for Paper. Every now and then a player spots Herobrine standing in the distance, just at the edge of their view. Look at him, walk towards him, or wait too long, and he is gone in a puff of smoke.
Only the targeted player sees him. No damage, no resource pack, no client mod, and by default no block changes. Perfect for Halloween, or just to keep your players wondering.
⨠Features
- đī¸ Sightings: Herobrine appears 30 to 50 blocks away, 45 to 70 degrees off the player's view direction, and vanishes when looked at, approached, or after a timeout.
- đ Per player and harmless: only the targeted player sees him. He is a vanilla Mannequin entity with no AI, collision or gravity, and nothing is saved to the world.
- đ Spooky sounds: footsteps sneaking up behind you, a door opening and closing, cave ambience, a fake "Herobrine joined the game" in one player's chat, breathing right behind you, a chest opening nearby, distant mining, a low far-away moan, breaking glass, someone building behind you, and soul sand valley mood. Each sound has its own toggle.
- đ Halloween mode: all chances are multiplied between two dates (default Oct 25 to Nov 1).
- đŠī¸ Event night:
/herobrine eventruns extra rolls with a higher chance for a set time, with an optional broadcast, night and thunderstorm. - đ Opt out: any player can use
/herobrine optout. This is saved across restarts. - đ§ą World traces (optional, off by default): 2x2 tunnels, leafless trees, small sand pyramids and torch messages. See World traces below.
- đ¨ Classic skin: the signed
_Herobrinetexture is built in, or set any Mojang username.
đŦ Commands
All commands need herobrine.admin, except optout.
| Command | Description |
|---|---|
/herobrine spawn <player> |
Make him appear for a player now |
/herobrine spawnat <player> <x> <y> <z> |
Place him at an exact spot for a player |
/herobrine sound <player> [type] |
Play a spooky sound for a player now |
/herobrine event [start [minutes]|stop|status] |
Start, stop or check an event night |
/herobrine toggle |
Turn random appearances on or off |
/herobrine status |
Show state and active apparitions |
/herobrine clear |
Remove all active apparitions |
/herobrine reload |
Reload config.yml |
/herobrine traces list |
List world traces with id and coordinates |
/herobrine traces undo <id> |
Restore the original blocks of one trace |
/herobrine traces undoall |
Restore all traces |
/herobrine traces place <player> [type] |
Test: place a trace near a player (safety checks still apply) |
/herobrine optout |
Opt out of (or back into) Herobrine |
đ Permissions
| Permission | Default | Description |
|---|---|---|
herobrine.admin |
op | All admin commands |
herobrine.optout |
everyone | Use /herobrine optout |
âī¸ How it works
- Every
check-interval-seconds(default 600), each eligible player (survival, alive, allowed world, not excluded, not opted out) gets a roll with probabilitychance(default 0.05). night-or-cave-multipliercan boost the chance at night or in dark spots. Setonly-night-or-cave: trueto limit him to those.- After a sighting the player gets a cooldown (
player-cooldown-seconds, default 900). - He vanishes when the player looks within
look-angledegrees of him (with line of sight), comes closer thanvanish-distance, or aftertimeout-seconds.
đ ī¸ Configuration
The main options (defaults shown):
enabled: true
check-interval-seconds: 600
chance: 0.05
night-or-cave-multiplier: 1.0
only-night-or-cave: false
player-cooldown-seconds: 900
min-distance: 30
max-distance: 50
vanish-distance: 15
look-angle: 5.0
timeout-seconds: 60
worlds: [] # empty = all worlds
excluded-players: []
skin-name: '' # empty = built in _Herobrine skin
sounds:
enabled: true
chance: 0.05
footsteps: true
door: true
cave: true
fake-join: true
breathing: true
chest: true
mining: true
moan: true
glass: true
building: true
mood: true
halloween:
enabled: true
start: "10-25"
end: "11-01"
chance-multiplier: 2.0
event:
duration-minutes: 60
chance-multiplier: 5.0
set-night: false
thunder: false
traces:
enabled: false # world traces are OFF by default
The full config with every option and comment is generated on first start in plugins/Herobrine/config.yml.
đ§ą World traces (off by default)
Traces are the only feature that changes blocks, so they have their own toggle (traces.enabled, default false) and every type can be switched off separately.
- Placed only far from players, far from spawn, in rarely visited chunks, and never near player made blocks (chests, beds, planks, rails and more).
- Every trace is logged to the console and to
plugins/Herobrine/traces.log. - The original blocks are stored, so
/herobrine traces undo <id>orundoallrestores everything exactly. - Claim plugins (WorldGuard, GriefPrevention) are not checked. The distance and block checks are the protection.
â Compatibility
| Tested | Paper 26.3 (Java 25) |
| Untested | Purpur and other Paper forks |
| Not supported | Folia, Spigot/Bukkit |
| Bedrock | Works with Geyser and Floodgate (Bedrock players get the skin) |
| Client | Nothing to install, fully server side |
đĻ Installation
- Download the jar and put it in your
plugins/folder. - Restart the server.
- Edit
plugins/Herobrine/config.ymland run/herobrine reload.
Updating from 1.0: your existing config keeps working. New options use their defaults, and traces stay off.
đ Support
Found a bug or have an idea? Open an issue on GitHub.
MIT licensed. Not affiliated with Mojang or Microsoft.


