
AngryCow 🐄
A Paper plugin that makes cows aggressive with an invasion mode to turn your server into bovine chaos at will.
Table of Contents
- Demo
- Features
- Compatibility
- Installation
- Configuration
- Commands
Demo
Features
- Aggressive cows: spot and attack players within a configurable radius; health, damage, speed, and melee reach fully adjustable.
- Invasion mode (
/angrycow invasion start): spawns cows in successive waves around each player, with an extended attack radius for the entire duration of the event. - Fine targeting: allowed/excluded worlds via whitelist or blacklist, immune game modes (creative/spectator by default).
- 100% config-driven: radii, stats, worlds, message texts (with colors and placeholders) — nothing is hardcoded.
- Granular permissions:
angrycow.reloadandangrycow.invasionare independent, grouped underangrycow.*. - Designed for performance: path recalculation is throttled (configurable), important when an invasion makes dozens of cows run at the same time.
Compatibility
Paper / Purpur 1.21 → 26.2. Relies entirely on stable public APIs (Mob Goal API, Entity Pathfinder API, MAX_HEALTH / MOVEMENT_SPEED attributes); none of the 26.2 API breakages ("Chaos Cubed": Adventure 5 migration, BookMeta, AbstractCubeMob hierarchy) are used.
Installation
- Get the
.jar(download it on Modrinth). - Drop it into the
plugins/folder of your Paper or Purpur server. - Restart the server — a default
config.ymlis generated inplugins/AngryCow/.
Configuration
Everything is set in config.yml, nothing is hardcoded in the code.
| Section | Key | Default | Description |
|---|---|---|---|
aggressive-cow | enabled | true | Enables aggressive behavior |
radius | 5.0 | Player detection radius (blocks) | |
health | 20.0 | Max health points | |
attack-damage | 4.0 | Damage per hit | |
speed | 0.3 | Movement speed (vanilla attribute) | |
chase-speed-multiplier | 1.3 | Speed multiplier during chase (distinct from speed) | |
attack-cooldown-ticks | 20 | Minimum delay between two hits | |
melee-reach | 2.0 | Melee reach (blocks) | |
path-recalc-ticks | 10 | Target path recalculation frequency | |
worlds | whitelist / blacklist | [] / [] | Worlds affected by the plugin |
immune-gamemodes | — | [CREATIVE, SPECTATOR] | Game modes never targeted |
invasion | radius | 60.0 | Attack radius of all cows during invasion |
spawn-radius | 60.0 | Spawn radius around each player | |
cows-per-player | 20 | Cows per wave and per online player | |
wave-interval-seconds | 20 | Interval between two waves (0 = single wave on start) | |
duration-seconds | 120 | Duration before automatic stop (0 = unlimited) | |
despawn-invasion-cows-on-end | true | Despawns invasion cows at the end | |
broadcast | true | Broadcasts start/end to the whole server | |
messages | — | — | All plugin texts (& colors, {count} / {radius} placeholders on invasion-started) |
Commands
| Command | Permission | Description |
|---|---|---|
/angrycow reload | angrycow.reload | Hot reloads config.yml |
/angrycow invasion start | angrycow.invasion | Starts an invasion |
/angrycow invasion stop | angrycow.invasion | Stops the ongoing invasion |
Aliases: /acow, /ac. By default, both permissions are granted to ops (grouped under angrycow.*).
© 2026 Zyumie. All rights reserved.
No use, modification, or redistribution without explicit permission.
Сервер для плагина AngryCow - как у профи
Плагин AngryCow создан для серверов: на своём сервере вы настраиваете его под себя и решаете, кому играть. Создать сервер с плагином AngryCow для друзей можно за пару минут - BungeeHost всё уже подготовил.
