• MobManager's limiter aims to limit the number of mobs that can spawn at one time while still providing the appearance of having lots of mobs (Or less if you really want)
  • MobManager's Abilities allow you to fully customize the difficulty of each mob, per world!
  • MobManager's Bounty component gives you a flexible way to give players rewards when killing mobs
  • MobManager's Spawner gives you total control over where different mobs spawn. Perfect to complete a rpg experience or just add a difficulty to your survival server.

Component Features:


  • Stop mobs from spawning when no players are nearby
  • Stop mobs from spawning when no players are on or near the same height
  • Limit the number of mobs allowed to spawn per world
  • Limit the number of mobs allowed to spawn dynamically depending on the number of loaded chunks in a world
  • Limit the number of mobs allowed to spawn by type (Monsters/Animals/Water Animals/Ambient/Villagers)
  • Automagically despawns mobs which move out of range of players
  • Does not despawn animals with are in farms Read more
  • Does not despawn mobs which have picked up players armor or weapons
  • Has the option to stop mobs from spawning near players in creative mode
  • Can prevent mobs from spawning which you don't want
  • Can allow mobs to spawn without counting towards the mob limits
  • Super efficient!
  • Optional Multi-Threaded despawner


  • Customisable Mob Abilities!!
  • Customisable Mob SpawnRates
  • Have mobs spawn as babies, Creepers spawn Charged and Wolves spawn Angry!
  • Customisable Mob Bonus Health
  • Customisable Mob Damage Multipliers
  • Customisable Mob Potion effects (Last for the life of the mob)
  • Customisable Mob Bonus Spawns (Spawn mobs on certain mob when it spawns/dies)
  • Customisable Mob Armour sets (Per position, with enchantments)
  • Customisable Mob Starting Items/Weapons
  • Customisable Mob Drops (Count Range per item, set data, durability and enchantments!)
  • Customisable Mob Ability Sets (Combine the above abilities together to create rare super mobs! (Or common :P))
  • Show Mob Ability Set names above their heads!! (Mincraft 1.5+ only)
  • Highly configurable!


  • Give players rewards for killing mobs
  • Supports fines (Loss of money or experience)
  • Customizable message upon receiving a reward/fine
  • Rewards can be Money (Requires vault), Item drops or experience
  • Set min/max reward values for each mob
  • Set reward multipliers for worlds, biomes, time, permissions and even for AbilitySets (Requires Abilities component to be enabled)
  • Exploit prevention techniques to prevent players from exploiting your server to earn rewards very fast


  • Spawns custom mobs around players
  • Create specific regions with different sets of mobs which spawn within
  • Control max/min distances for spawning in different regions
  • Extensive mob limit system. Limit per player, region and specific mob type
  • Default config similar to vanilla spawning (To use as a guide/template)
  • Spawn requirements for every mob (Which spawn location must meet. Block Standing on, light levels, height, time, biome, world type
  • Spawn actions performed upon spawns. Send messages to nearby players or run commands when your mob spawns.

What is a component?
A component is simply a part of MobManager. Every component can be enabled/disabled individually from config.yml
To do
  • Add Protection component to MobManager (Protect the world from things like explosions or Endermen picking up blocks)
Note: The above are just ideas, not all of them may happen (If you particularly want one done let me know)
Note: Ordered by importance to me (Higher == More important) (Your needs are important to me :D)


  • /mm help - Prints information about all the available commands
  • /mm count - Prints mob counts and limits for each world which MobManager is active. Also prints totals for the server
  • /mm count <WorldName> - Prints mob counts and limits for the specific world
  • /mm butcher - Removes all mobs (Except villagers) from worlds enabled in MobManager
  • /mm butcher <MobTypes> - Removes the given mob types from all worlds enabled in MobManager
  • /mm spawn <MobType> <count> [world] [x] [y] [z] - Spawn a given mob at the location (Or yours)
  • /mm spawnset <AbilitySetName> <count> [world] [x] [y] [z] - Spawn a given mob at the location (Or yours)
  • /mm pspawn <MobType> <count> <Player> - Spawn a given mob on a player
  • /mm pspawnset <AbilitySetName> <count> <Player> - Spawn a given mob on a player
  • /mm abilitysets - Lists all AbilitySet names (Along with the mobtype) which can be used in /mm spawnset
  • /mm mobtypes - Lists all valid EntityTypes for use in configs
  • /mm reload - Reloads MobManagers configs
  • /mm version - Tells you MobMangers current version + Checks my website for new versions
Note: the count command prints single letters to represent the different categories of mobs.
M = Monster, A = Animal, W = Water Animal (Squid), Am = Ambient Mob (Bats), V = Villagers


  • mobmanager.admin - Gives permission to use all /mm commands (Default: OP)
  • mobmanager.count - Gives permission to use the /mm count command
  • mobmanager.butcher - Gives permission to use the /mm butcher command
  • mobmanager.version - Gives permission to use the /mm version command
  • mobmanager.reload - Gives permission to use the /mm reload command
  • mobmanager.spawn - Gives permission to use the /mm spawn command
  • mobmanager.pspawn - Gives permission to use the /mm pspawn command
  • mobmanager.abilitysetlist - Gives permission to use the /mm abilitysets command
  • mobmanager.mobtypes - Gives permission to use the /mm mobtypes command


As of v2.2 MobManagers configuration files consists of three parts
  • config.yml - Contains settings to enable/disable MobManager components
  • Global configs - Contains global configs for each component, located in MobManager/<component>.yml
  • World Configs - Contains settings for each component for each world located in MobManager/worlds/<worldname>/<component>.yml

Every config file contains a header block explaining every setting.

When you first install MobManager world and global configs are auto-magically generated.
By default only MobManagers Limiter is enabled, configs for abilities are generated if the component is enabled
The defaults for the limiter are pretty conservative. So you may wish to increase the limits.
If you need help with the config feel free to PM me and I can make one for you :)
Auto-Update Checker
Mobmanager includes a update checker/downloader. It uses this project page to check for new approved builds. The /mm version command can be used to check if a new version is available on bukkit dev.
The update checker is enabled by default and can be disabled in config.yml by setting EnableVersionCheck to false
The update downloader is disabled by default can be enabled in config.yml by setting EnableAutoUpdater to true

MobManager utilises Hidendra's plugin metrics system, which means that the following information is collected and sent to
  • A unique identifier
  • The server's version of Java
  • Whether the server is in offline or online mode
  • The plugin's version
  • The server's version
  • The OS version/name and architecture
  • The core count for the CPU
  • The number of players online
  • The Metrics version
  • MobManager components enabled
All information is publicly available and can be viewed at

Opting out of this service can be done by editing plugins/Plugin Metrics/config.yml and changing opt-out to true
Public Test Server
Public test server has been shut down, will try get a new one in the future
Feel free to join and have a look for yourself what MobManager does. Server has two worlds one with MobManager enabled, the other with it disabled. You are allowed to use /time to set the world to night, so monsters spawn on the surface. This server uses default settings for all configs.
Note: After joining, type /warp dev
Note: The test server only has the limiter component enabled

Please, if you have and questions or feature requests, do not hesitate to ask
Developer Builds
Development builds of this project can be acquired at the provided continuous integration server.
These builds have not been approved by the BukkitDev staff. Use them at your own risk.
Dev Builds

Configuration | Statistics | Reading

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of McPixel McPixel Apr 14, 2014 at 03:51 UTC - 0 likes

    @ShadowDog007: Go

    i mean when i use TYPE: Villager , and they spawn but i set despawn range is 20 but they not despawn .

    and then i try type: wolf or pig_zombie , rate angry is 1 but when they spawn with red eyes but not attack me until i provoke them why ?

    Last edited Apr 16, 2014 by McPixel
  • Avatar of ShadowDog007 ShadowDog007 Apr 13, 2014 at 01:49 UTC - 0 likes

    @ridddle: Go

    MM doesn't clear mobs if they are close to a player. And I am pretty sure limits for animals are set to 0 for nether. Not sure if that would cause it to be unlimited or not.

  • Avatar of ridddle ridddle Apr 12, 2014 at 17:00 UTC - 0 likes

    Not using the spawner component, no. Chickens are spawning as pigmen jockeys. Monsters are culled by MM, chickens are not. Any idea why you cannot clear them after the monster is no longer needed?

  • Avatar of ShadowDog007 ShadowDog007 Apr 10, 2014 at 23:57 UTC - 0 likes

    @ridddle: Go

    You are using the spawner component? Double check there are limits for animals in the nether.

  • Avatar of ridddle ridddle Apr 09, 2014 at 22:04 UTC - 0 likes

    I’m getting crazy amounts of chickens in the Nether due to baby zombie jockeys being spawned (5% of all monsters and 5% of babies) and while MM culls pigmen, chickens are left behind. I’m literally seeing 20 chicken rise every 5 min in loaded chunks around me.

  • Avatar of ShadowDog007 ShadowDog007 Apr 07, 2014 at 21:55 UTC - 0 likes

    @McPixel: Go

    What do you mean by 'despawn villager'?

    I don't believe that is possible.

    @xXBadeye: Go

    400 blocks? O_O Per spawn? O_O

    There is no way in hell that would work well. I think its too much just checking 20ish when finding a safe y location to spawn on.

    Even getting a list of entities in the first place takes a few ms.

  • Avatar of xXBadeye xXBadeye Apr 06, 2014 at 13:14 UTC - 0 likes

    @ShadowDog007: Go

    that is true, it is of cause less efficient that region based spawn rates. However, for some people / maps it would be easier, when they would have to add a few hundred regions. It works fine if you check up to 400 blocks per spawn, that way you have nearly no performance loss.

    The never spawn on block 'x' and block 'y' OR only spawn on block 'x' and block 'y' is a thing that would fit perfgectly, preventing zombies from spawning inside houses for example. Just clinch the contens of the whole CreatureSpawnEvent and first check if the block they want to spawn on is part/not part of the list in the config file.

    boolean noSpawnOnWhitelist = getConfig().getBoolean("turn-never-spawn-on-blacklist-to-whitelist");
    List<String> noSpawnOnList = getConfig().getStringList("Never-spawn-on");
    Location loc = e.getLocation();
    Block spawnBlock = loc.getWorld().getBlockAt(loc.getBlockX(), loc.getBlockY()-1, loc.getBlockZ());
    if(noSpawnOnList.contains(spawnBlock.getType()) && noSpawnOnWhitelist == false){
    else if( !(noSpawnOnList.contains(spawnBlock.getType()) && noSpawnOnWhitelist == true){


  • Avatar of McPixel McPixel Apr 06, 2014 at 08:34 UTC - 0 likes

    @ShadowDog007: Go

    how to despawn villager ?

    and i req another feature with mob attribute (followrange attribute):D

    im sorry if im anoying :p

    Last edited Apr 07, 2014 by McPixel
  • Avatar of ShadowDog007 ShadowDog007 Apr 06, 2014 at 01:20 UTC - 0 likes

    @xXBadeye: Go

    Checking lots of blocks is not particularly efficient. I will have a look at it if you make a pull request.

  • Avatar of xXBadeye xXBadeye Apr 05, 2014 at 15:16 UTC - 0 likes

    <<reply 2113696>>

    Hey shadowdog. I have written quite some code to achieve a nice monster-spawning feature:
    I have added a List<String> to the config file, where users can add block values such as WOOD or DIRT. Now i have added some integer config values for the length, width and height of an invisible box.

    What does this do? I want to check every block around the spawn location of a monster/entity inside the given length/height/width values given in the config file. If a block, that is inside the list, appears at least once around the spawn location of the monster, the Monster is going to spawn with a different chance/percentage.
    With that, admins are able to decrease the zombie spawns, inside a forrest for example, and increase it around towns.

    You can add multiple "events" in the config, for example the monster X is only going to spawn with a chance of y percent if the blocks a and b are around and if block c is not around. If this event is not true (because just block a is around and not b for example) the next event is going to be chekced, where you can have other blocks set in the config.

    You can also block monster spawns completly if they try to spawn on a specific block, like jungle wood. That way you can prevent entitys from spawning on trees, if you add Leaves to the list. You can also reverse the list and use it as a whitelist => monsters only spawn on blocks that are listed.

    It is fairly complex but it works well. The code is still in development but the main features work. If you want to add it to your plugin, i can send it to you :)

    Last edited Apr 05, 2014 by xXBadeye


Date created
Dec 21, 2012
Last update
Feb 24, 2014
Development stage
  • enUS
All Rights Reserved
Curse link
Recent files