MobGuard

MobGuard is a 1.21.11 Paper plugin for granular mob griefing protection (creepers, ghasts, withers, endermen) without sacrificing vanilla gameplay. Features include per-world spawn rules, height limits, portal/projectile blocking, and drop/XP control.

118

MobGuard

MobGuard

MobGuard is for mob grief prevention and spawn control. It stops common problems like creeper block damage, ghast fire spam, wither block breaking, and enderman block moving, while still letting mobs feel like mobs. It also adds spawn rules per world, height limits per mob, portal blocking for mobs, projectile blocking, drop control, and XP control.!

Example explosion protection

A lot of people try to solve this with the mobGriefing gamerule, but that can break villager behavior and other game systems. MobGuard is more targeted, so you can block the bad stuff without turning off everything that depends on mobGriefing.

What this for

MobGuard is for servers that want mobs, but do not want mobs to ruin builds, cause lag, or mess up farms.

Common setups - Creepers still hurt players, but do not destroy blocks - Ghasts and blazes stop lighting the world on fire - Endermen stop picking up and placing blocks - Hostile mob spawns get blocked in certain worlds or at certain heights - Drops and XP get adjusted for specific mobs

Features

Stop mob grief and block damage

- Block creeper block damage - Block creeper explosions completely - Stop creepers from becoming charged by lightning - Block ghast fireball block damage - Stop ghast fire from starting - Block blaze fire ignite - Block wither skull block damage - Block wither block breaking - Stop wither fire ignite - Block ender dragon block breaking - Stop endermen from moving blocks - Stop endermen teleporting - Stop shulkers teleporting - Block ravager griefing - Block zombie door breaking for zombie, husk, drowned, zombie villager - Stop magma cubes from splitting - Stop slimes from splitting - Optional debug logging

Control mob combat and targeting

- Block mob projectiles like arrows, tridents, fireballs, potions - Use an empty list to apply to all non player shooters - Use a list to apply only to selected mob types - Stop hostile mobs from targeting players - Stop hostile mobs from targeting villagers and wandering traders

Control items and portals

- Stop mobs from picking up items - Apply to all mobs or only selected mob types - Stop mobs from dropping items they picked up - Mostly armor and held items - Stop mobs from using nether portals and end portals - Apply to all mobs or only selected mob types

Control blocks and redstone

- Stop mobs from trampling farmland - Stop mobs from activating pressure plates - Stop silverfish from infesting blocks

Player safety helpers

- Block ender pearl teleport - Block ender pearl teleport damage

Raids and zombie rules

- Stop raids from starting - Block baby zombies, including baby husk, drowned, zombie villager - Block zombie reinforcement spawns

Burning rules

- Prevent burning for selected mobs - Force burning on spawn for selected mobs with a custom burn time

Spawn control by world and by height

Spawn control can block spawns based on world rules and per mob height rules.

Main spawn options - Enable or disable spawn blocking - Allow command spawns so /summon and plugin spawns still work - Choose which spawn reasons to block - Natural spawns - Spawner spawns - Egg spawns - Clean new chunks by removing blocked hostile mobs that already exist in brand new chunks

World rules - Separate sections for overworld, nether, end - Option to block all hostile mobs in a world - Option to block only the hostile mobs you list - Per mob height limits with minimum-y-height and maximum-y-height

Drop control and XP control

MobGuard can override drops and XP on death.

For each mob you can do these things - Clear default drops first - Remove specific materials from normal drops - Add extra drops with min, max, and chance - Override XP with min, max, and chance

Drop and XP notes - Chance is a percent from 0.0 to 100.0 - If chance is missing, it is treated as 100 - Looting can increase the added drop amount

Compatibility

- Minecraft Java Edition 1.21.11 - Paper, Folia, Purpur, Leaf

Install

1. Download the jar from the MobGuard page on this site. 2. Put it into your server plugins folder. 3. Start the server once to generate plugins/MobGuard/config.yml. 4. Edit the config. 5. Restart the server to apply changes.

Config quick tips

- EntityType names are usually ALL CAPS like ZOMBIE or WITHER_SKELETON - Material names are usually ALL CAPS like IRON_INGOT or GUNPOWDER - Spawn control is split by world with world, nether, end sections - Height rules use minimum-y-height and maximum-y-height and they are inclusive

Example block mob portals for nether offenders

```yml portal-control: enabled: true blocked-types: [PIGLIN, ZOMBIFIED_PIGLIN, PIGLIN_BRUTE, BLAZE] ```

Example block mob projectiles only for a few shooters

```yml projectile-control: enabled: true blocked-shooters: [DROWNED, WITCH, SKELETON, PILLAGER, BLAZE, GHAST] ```

Example height limit magma cubes in the nether

```yml spawn-control: enabled: true block-natural-spawns: true block-spawner-spawns: true block-egg-spawns: true worlds: nether: controlled-mobs: MAGMA_CUBE: minimum-y-height: 54 maximum-y-height: 64 ```

Example custom creeper drops and XP

```yml drop-control: enabled: true mobs: CREEPER: replace-default-drops: true add-drops: GUNPOWDER: min: 2 max: 8 chance: 100.0 xp: min: 5 max: 5 chance: 100.0 ```

Default config.yml with comments

```yml

config.yml

#

Notes:

- EntityType names are usually ALL CAPS, like ZOMBIE or WITHER_SKELETON

- Material names are usually ALL CAPS, like IRON_INGOT or GUNPOWDER

#

Drop chance notes (drop-control.add-drops.*.chance):

- Chance is a PERCENT from 0.0 to 100.0

- Decimals are allowed

- Examples:

0.005 = 0.005% (very rare)

1.5 = 1.5%

90.0 = 90%

90 = 90%

100.0 = always

- If chance is missing, it is 100%

settings:

Stops creeper explosions from breaking blocks (still damages players/mobs)

block-creeper-explosions: true

Stops creepers from exploding at all

block-creeper-explosion-prime: false

Stops creepers from becoming charged from lightning

block-charged-creepers: true

Stops ghast fireballs from breaking blocks (still damages players/mobs)

block-ghast-fireballs: true

Stops ghast fireballs from starting fires

block-ghast-fire-ignite: true

Stops wither skull explosions from breaking blocks

block-wither-skull-explosions: true

Stops the wither itself from breaking blocks while moving around

block-wither-block-breaking: true

Stops wither explosions from starting fires (usually not needed, but safe)

block-wither-fire-ignite: true

Stops the ender dragon from breaking blocks

block-ender-dragon-block-breaking: true

Stops endermen from picking up OR placing blocks

block-enderman-block-moving: true

Stops endermen from teleporting

block-enderman-teleport: true

Stops shulkers from teleporting away

block-shulker-teleport: true

Ravagers can break crops/leaves and some other blocks

block-ravager-griefing: true

Covers: Zombie, Husk, Drowned, Zombie Villager

block-zombie-door-breaking: true

Stops blaze fireballs from starting fires

block-blaze-fire-ignite: true

Stops magma cubes from splitting into smaller ones

block-magma-cube-split: true

Stops slimes from splitting into smaller ones

block-slime-split: true

Extra console logging

debug: false

projectile-control:

Stops mob projectiles from being launched (arrows, tridents, fireballs, potions, etc)

enabled: false

If empty, applies to all non-player shooters

#

Example setup:

enabled: true

blocked-shooters: [DROWNED, WITCH, SKELETON, PILLAGER, BLAZE, GHAST]

blocked-shooters: []

target-control:

Stops hostile mobs from targeting players

block-hostile-targeting-players: false

Stops hostile mobs from targeting villagers (includes wandering traders)

block-hostile-targeting-villagers: false

item-pickup-control:

Stops mobs from picking up items

enabled: false

If empty, applies to all non-player mobs

#

Example setup:

enabled: true

blocked-types: [ZOMBIE, HUSK, DROWNED, ZOMBIE_VILLAGER, PIGLIN, PIGLIN_BRUTE]

blocked-types: []

Stops mobs from dropping items they picked up (mostly held/armor items)

block-picked-up-item-drops: false

If empty, applies to all non-player mobs

#

Example:

block-picked-up-item-drops: true

drop-blocked-types: [ZOMBIE, HUSK, DROWNED, ZOMBIE_VILLAGER]

drop-blocked-types: []

drop-control:

Overrides mob drops on death (remove, add, or replace)

enabled: false

Rules are by EntityType name

#

Each mob can:

- replace-default-drops: clears all normal drops first

- remove-drops: removes these Material drops if they were going to drop

- add-drops: adds extra drops with a min/max amount (inclusive)

- xp: controls how much XP is dropped (omit entirely to keep Minecraft's default)

#

"chance" is a percent (0.0 to 100.0). If missing, it is 100.0.

#

XP notes:

- If the "xp" section is absent, Minecraft's default XP is used unchanged

- If "xp" is present, it fully replaces the default XP roll

- "chance" under xp controls whether any XP drops at all (0 = never, 100 = always)

- If the chance roll fails, 0 XP is dropped

- min/max are the XP amount range (inclusive); min defaults to 0, max defaults to min

#

Example: remove arrows from skeleton drops

mobs:

SKELETON:

replace-default-drops: false

remove-drops: [ARROW]

#

Example: creepers drop 2-8 gunpowder every time, always drop exactly 5 XP

mobs:

CREEPER:

replace-default-drops: true

add-drops:

GUNPOWDER:

min: 2

max: 8

chance: 100.0

xp:

min: 5

max: 5

chance: 100.0

#

Example: wither skeleton bones with a 90% chance, coal with 50%, skull with 0.005%

XP drops 7-15 but only has a 75% chance to drop at all

mobs:

WITHER_SKELETON:

replace-default-drops: true

add-drops:

BONE:

min: 4

max: 9

chance: 90.0

COAL:

min: 0

max: 3

chance: 50.0

WITHER_SKELETON_SKULL:

min: 0

max: 1

chance: 0.005

xp:

min: 7

max: 15

chance: 75.0

mobs: {}

portal-control:

Stops mobs from using nether/end portals

enabled: false

If empty, applies to all non-player mobs

#

Example setup (common nether offenders):

enabled: true

blocked-types: [PIGLIN, ZOMBIFIED_PIGLIN, PIGLIN_BRUTE, BLAZE]

blocked-types: []

block-control:

Stops mobs from trampling farmland back into dirt

block-farmland-trample: true

Stops mobs from activating pressure plates

block-mob-pressure-plates: true

Stops silverfish from infesting blocks (hiding inside)

block-silverfish-infesting: true

ender-pearl-control:

Stops players from teleporting with ender pearls

block-ender-pearl-teleport: false

Stops ender pearl teleport damage (the 2.5 hearts)

block-ender-pearl-damage: true

raid-control:

Stops raids from starting (bad omen entering a village)

block-raid-trigger: false

zombie-control:

Stops baby zombies (and baby husks/drowned/zombie villagers)

block-baby-zombies: false

Stops zombie reinforcement spawns

block-zombie-reinforcements: false

combustion-control:

Stops listed mobs from burning for any reason (sun, fire, lava, etc)

prevent-burning: false

If empty, applies to all non-player mobs

prevent-burning-types: []

Forces listed mobs to start burning when they spawn

force-burning: false

If empty, applies to no mobs

force-burning-types: []

How long to burn on spawn (ticks). 20 ticks = 1 second

force-burning-ticks: 200

spawn-control:

Master switch for spawn blocking

enabled: true

If true, /summon and plugin-made spawns still work

allow-command-spawns: true

These decide what kinds of spawns are blocked when a mob is listed below

block-natural-spawns: true block-spawner-spawns: true block-egg-spawns: true

Removes blocked hostile mobs that already exist inside brand new chunks

clean-new-chunks: true

worlds: world:

If true, blocks ALL hostile mobs in the overworld

block-all-hostile-mobs: false

Put EntityType names here to block ONLY those mobs in the overworld

#

Example:

blocked-mobs: [CREEPER, SKELETON, ZOMBIE, SPIDER, WITCH, ENDERMAN]

blocked-mobs: [BAT]

Controls spawn heights for certain mobs in the overworld

#

If a mob is listed here, it can ONLY spawn when its Y level is inside the range (inclusive).

This is a height limiter, not an allow list.

#

This only applies to the spawn reasons you are blocking above (natural/spawner/egg).

#

Example:

controlled-mobs:

SLIME:

minimum-y-height: 50

maximum-y-height: 70

controlled-mobs: {}

nether:

If true, blocks ALL hostile mobs in the nether

block-all-hostile-mobs: false

Put EntityType names here to block ONLY those mobs in the nether

#

Example:

blocked-mobs: [BLAZE, GHAST, WITHER_SKELETON, PIGLIN_BRUTE, HOGLIN]

blocked-mobs: [SKELETON]

Controls spawn heights for certain mobs in the nether

#

Example:

controlled-mobs:

ZOMBIFIED_PIGLING:

minimum-y-height: 50

maximum-y-height: 70

controlled-mobs: MAGMA_CUBE: minimum-y-height: 54 maximum-y-height: 64

end:

If true, blocks ALL hostile mobs in the end

block-all-hostile-mobs: false

Put EntityType names here to block ONLY those mobs in the end

#

Example:

blocked-mobs: [ENDERMAN, SHULKER, ENDERMITE]

blocked-mobs: []

Controls spawn heights for certain mobs in the end

#

Example:

controlled-mobs:

ENDERMAN:

minimum-y-height: 40

maximum-y-height: 90

controlled-mobs: {} ```

ADS