MobManager

Description:
- 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:
Limiter
- 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 which 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
Abilities
- 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!
Bounty
- 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
Spawner
- 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.ymlTo do
- Add Protection component to MobManager (Protect the world from things like explosions or Endermen picking up blocks)
Note: Ordered by importance to me (Higher == More important) (Your needs are important to me :D)
Commands:
- /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
M = Monster, A = Animal, W = Water Animal (Squid), Am = Ambient Mob (Bats), V = Villagers
Permissions:
- 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
Configuration:
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 trueStatistics
MobManager utilises Hidendra's plugin metrics system, which means that the following information is collected and sent to mcstats.org:- 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
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 futureAddress: mc.forgenz.com
Note: After joining, type /warp dev
Note: The test server only has the limiter component enabled
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
-
View User Profile
-
Send Message
Posted Apr 6, 2014@ShadowDog007
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.
-
View User Profile
-
Send Message
Posted Apr 6, 2014@ShadowDog007
how to despawn villager ?
and i req another feature with mob attribute (followrange attribute):D
http://minecraft.gamepedia.com/Attribute
im sorry if im anoying :p
-
View User Profile
-
Send Message
Posted Apr 5, 2014@xXBadeye
Checking lots of blocks is not particularly efficient. I will have a look at it if you make a pull request.
-
View User Profile
-
Send Message
Posted Apr 5, 2014@ShadowDog007
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 :)
-
View User Profile
-
Send Message
Posted Apr 4, 2014@ShadowWolfAlpha
Please don't post stack traces here. Its very hard to read.
I don't know how that error could occur =3 Could you post your abilities.yml on pastebin ?
@ShadowWolfAlpha
Are you using the spawner component by any chance?
@wiedzmin137
You can with the spawner component. And it can only spawn by vanilla biomes.
-
View User Profile
-
Send Message
Posted Apr 3, 2014Hello.
Is there possibility to force spawn nether mobs in normal world (in proper biomes)? Is there support for TerrainControl biomes too?
Thanks.
-
View User Profile
-
Send Message
Posted Apr 3, 2014Oh and i've got my Abilities file set like this for zombies:
ApplySets:
- Chance: 1 SetName: NONE - Chance: 1 SetName: ExampleSet
Yer it ONLY spawns Zombies with an abilityset!
-
View User Profile
-
Send Message
Posted Apr 3, 2014Hey,
I type /mm abilitysets and I get An Internal Error message, with this displayed in the console:
04.04 05:38:09 [Server] INFO ... 14 more 04.04 05:38:09 [Server] INFO at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) [custom.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] 04.04 05:38:09 [Server] INFO at com.forgenz.mobmanager.commands.MMCommandListener.onCommand(MMCommandListener.java:75) [?:?] 04.04 05:38:09 [Server] INFO at com.forgenz.mobmanager.commands.MMCommandAbilitySetList.run(MMCommandAbilitySetList.java:66) [?:?] 04.04 05:38:09 [Server] INFO Caused by: java.lang.NullPointerException 04.04 05:38:09 [Server] INFO at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) [custom.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] 04.04 05:38:09 [Server] INFO at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:457) [custom.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] 04.04 05:38:09 [Server] INFO at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:545) [custom.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] 04.04 05:38:09 [Server] INFO at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:250) [custom.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] 04.04 05:38:09 [Server] INFO at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:655) [custom.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] 04.04 05:38:09 [Server] INFO at net.minecraft.server.v1_7_R1.ServerConnection.c(SourceFile:134) [custom.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] 04.04 05:38:09 [Server] INFO at net.minecraft.server.v1_7_R1.NetworkManager.a(NetworkManager.java:146) [custom.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] 04.04 05:38:09 [Server] INFO at net.minecraft.server.v1_7_R1.PacketPlayInChat.handle(PacketPlayInChat.java:47) [custom.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] 04.04 05:38:09 [Server] INFO at net.minecraft.server.v1_7_R1.PacketPlayInChat.a(PacketPlayInChat.java:28) [custom.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] 04.04 05:38:09 [Server] INFO at com.bergerkiller.bukkit.common.internal.network.CommonPacketHandler$CommonPlayerConnection.a(CommonPacketHandler.java:244) [BKCommonLib-1.57.jar:?] 04.04 05:38:09 [Server] INFO at net.minecraft.server.v1_7_R1.PlayerConnection.a(PlayerConnection.java:814) [custom.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] 04.04 05:38:09 [Server] INFO at net.minecraft.server.v1_7_R1.PlayerConnection.handleCommand(PlayerConnection.java:952) [custom.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] 04.04 05:38:09 [Server] INFO at org.bukkit.craftbukkit.v1_7_R1.CraftServer.dispatchCommand(CraftServer.java:683) [custom.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] 04.04 05:38:09 [Server] INFO at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:175) [custom.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] 04.04 05:38:09 [Server] INFO at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) [custom.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] 04.04 05:38:09 [Server] INFO org.bukkit.command.CommandException: Unhandled exception executing command 'mm' in plugin MobManager v3.0.3 04.04 05:38:09 [Server] ERROR null
-
View User Profile
-
Send Message
Posted Apr 3, 2014@tkx
Really not sure what could be happening. Sorry.
@McPixel
Its possible... I just need more time =3
@Sordrin
O_O ? Theres no stack trace? =3
Could have something to do with the new limits for specific types of horses perhaps?
-
View User Profile
-
Send Message
Posted Mar 28, 2014Conflicting with EchoPet?
I have been getting errors from MobManager whenever pets from EchoPet are in the world. The numbers seem to vary depending on the pet summoned, and none of it makes any sense to me, but the errors stop when there are no pets in the world. I am getting spammed like crazy with these errors in the console when a pet is summoned:
This is a sampling of the errors that change, seemingly depending on the type of pet:
It is also sometimes spamming:
Any ideas?
Edit: After some testing, I have discovered that this only happens with horses. Under normal circumstances, it seems that horses don't cause the errors, but when I have one spawned with EchoPet, it spams the console like crazy with those errors.
-
View User Profile
-
Send Message
Posted Mar 28, 2014@ShadowDog007
can you add more feature like , ZOMBIE ride ZOMBIE ride SKELETON , etc ?
-
View User Profile
-
Send Message
Posted Mar 27, 2014Yup multiverse
-
View User Profile
-
Send Message
Posted Mar 27, 2014@tkx
Just making sure, but these worlds are created by a bukkit plugin right?
-
View User Profile
-
Send Message
Posted Mar 26, 2014@ShadowDog007
https://www.dropbox.com/s/wqvtsgkyzmzy1pq/MobManager.zip
-
View User Profile
-
Send Message
Posted Mar 26, 2014@tkx
Sorry, that was 16 days ago =3 Could you zip up your MobManager folder and upload it somewhere please?
@McPixel
You can't.
-
View User Profile
-
Send Message
Posted Mar 25, 2014To help make sure I'm doing things right, can you post some example config files that spawn lots of Zombies into the world?
-
View User Profile
-
Send Message
Posted Mar 24, 2014@ShadowDog007
how to change monster follow range ? :(
-
View User Profile
-
Send Message
Posted Mar 24, 2014@ShadowDog007
Shadow, Thats the whole problem. It is enabled in the limiter.. remember I pasted my config files?
-
View User Profile
-
Send Message
Posted Mar 24, 2014@tkx
Make sure every world you are spawning mobs in is enabled in the limiter component.
-
View User Profile
-
Send Message
Posted Mar 24, 2014@ShadowDog007
I am using MobManager 3.0.1 - Michael McKnight (ShadowDog007)