
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.
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.!

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
- Download the jar from the MobGuard page on this site.
- Put it into your server plugins folder.
- Start the server once to generate plugins/MobGuard/config.yml.
- Edit the config.
- 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
portal-control:
enabled: true
blocked-types: [PIGLIN, ZOMBIFIED_PIGLIN, PIGLIN_BRUTE, BLAZE]
Example block mob projectiles only for a few shooters
projectile-control:
enabled: true
blocked-shooters: [DROWNED, WITCH, SKELETON, PILLAGER, BLAZE, GHAST]
Example height limit magma cubes in the nether
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
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
# 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: {}
