Compatibility
Minecraft: Java Edition
26.2
26.1
Platforms
Tags
Creators
Details
Licensed ARR
Published 2 days ago
Updated last month
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
- 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.


