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
would be nice if tamed animals (wolves, cats) could be ignored too, but not sure how to specify in the IgnoredMobs...
@ShadowDog007
s'ok, I got ClearLagg to nuke everything, including Enderdragons. Sometimes you just need to kill everything...
@ronfkingswanson
Ahh, Enderdragons are not classified as Monsters or Animals. I did not want MobManager to stop them from spawning, which is why I didn't bother putting them in. Enderdragons usually only spawn 1 at a time anyway, so there was not much point.
Edit: In the Bukkit API, Monsters, Animals, Ambeint etc, Enderdragons do not fit under any of the category's.
FYI - /mm butcherall, /mm butcher, none seem to get rid of enderdragons....
@ronfkingswanson
About the config... Bukkit made their own classes for reading/writing the config, I just set the values and thats how it came out. Not sure why some of them are like that.
@ronfkingswanson
When players move around in the world (Or between worlds) MobManager 'follows' them, It keeps track of the number of players inside of each chunk, and within each chunk, keeps track of how many players are inside each layer.
If you had 2 layers, 0:16 and 17:32, if you were standing on a pillar in a massive cavern (i.e. you can see all the way down to bedrock on all sides) at y = 17. You would be inside the 2nd layer, but not the first, so when a mob tries to spawn, if they are not spawning in the 2nd layer, they are not allowed to spawn. That is why I have the layers overlap.
If the layers were to have a gap between them (e.g. only 2 layers, 0:16 & 32:64) then no mobs would ever spawn in that gap.
If you want to have mobs hang around longer, you would increase the range of the layers. With the default layers, Mobs can spawn/despawn a minimum of 8 blocks above/below and a maximum of 16 blocks above/below.
The minimum depends on the overlap, the maximum depends on the range of the layers. If the layers are too big it kind of defeats the purpose of having them. With a range of 32, you cover half of the height of a normal world. If they are too small then players would regularly see mobs spawn in front of them while traversing up and down. Which isn't too much of a bad thing imo.
@ShadowDog007
I do think it might be handy to have a separate search distance for despawn...
When you say "That's how bukkit decided to store them" - bukkit did that to your config? or this is some internal way of referencing those layers?
Also, I assume that having "less" layers would simply mean that more mobs would hang around longer? How much overlap is needed?
@ronfkingswanson
Uploaded a new version v1.5b
The above version of MobManager has not yet been approved by the Bukkit staff. Download/use at your own risk.
@ronfkingswanson
Haha, Donate button should be up the top right :)
Dammit, I made the changes on another computer, must not have updated to the version which fixed the /mm reload command >_>
That's not a bad idea, perhaps I might do that later. In the meantime, you could use v1.5 In which I forgot to stop it from despawning the ignored mobs.
The exact same function is used to find players when mobs spawn also when they despawn, so I don't see why it would happen. If the mob is under your "GroundHeight" setting it will use the Underground search distance. Ground height of about 45-50 should stop any chance of that in a vanilla world.
With search distance of 4 the shortest distance a mob can despawn away from a player is 64 blocks. A player can see that. I could add in a separate search distance for despawning mobs.
About the layers, I have no clue. Thats just how Bukkit decided to store them. If you change them I recommend you add the quotes, as those 5 layers do not seem to register without them >_>
@ShadowDog007
Sweetness! Where the hell is your donate button? ;-)
It seems, however, that using /mm reload resets the config, so anything else I add to the IgnoredMobs gets lost and it is reset to just WITHER.
I would lastly suggest that butcher (or at least butcher <mobtype>) should override the ignore list, in case someone intentionally wants to clear a certain mob. The ignore list is mostly about avoiding the automatic pruning, so special mobs don't disappear so quickly...
Other question: if SpawnChunkSearchDistance is the radius used to check whether a spawning mob is within range of a player and therefore should be allowed to spawn - is this also the same range used to determine when mobs should despawn? because I'm seeing mobs despawning at rather close range, though my SpawnChunkSearchDistance is set to 4.
Last question: the Layers default config has a weird bit in the list:
Why do some entries have single quotes and others not?
@ronfkingswanson
Done :)
New setting "IgnoredMobs" Will do what you want, default for it is simply 'WITHER'
Get it here.
If you downloaded v1.5 (Not v1.5a) please follow the link again, forgot to stop /mm butcher from killing ignored mobs in v1.5
This build has not yet been approved by the Bukkit staff. Download/use at your own risk.
I could use a special list for very specific mob types which should never be despawned - for example, a wither boss is rather hard to make, and it should stick around even if players are out of range.
@ronfkingswanson
I had a problem with WorldBorder when I was filling a world. The only other plugin I could see being a problem would be Orebfuscator (Maybe?).
Will look into another way to keep track of player locations later this month.
@ShadowDog007
World Border is one of them, yes.
BFTD_v0.2_CB-1.4.6R0.1.jar
BKCommonLib.jar
BookPress.jar
ClearLag.jar
DeathTpPlus.jar
Duties-Groups.jar
Duties.jar
Essentials.jar
JoinMessage.jar
LagMeter-1.12.0-SNAPSHOT.jar
LetItRain.jar
LogBlock.jar
MobManager_1_4a.jar
modreq.jar
MyHelpPages.jar
NoCheatPlus.jar
obuShutTheHellUp_v0.4.jar
Orebfuscator.jar
PermissionsEx.jar
PowerNBT.jar
ProtocolLib-1.9.0.jar
RadioBeacon.jar
RandomSpawn-2.4.jar
RealisticChat.jar
Reloader.jar
StormAnnounce.jar
VanishNoPacket.jar
Vault.jar
WildBoars1.4.6_1.jar
WorldBorder.jar
WorldEdit.jar
ZombiePlague-2.2.jar
@ronfkingswanson
Reuploaded v1.4a. DisableWarnings now disables ALL warnings. Get it here
@ronfkingswanson
Thats odd. I didn't change anything to do with that. :/
What plugins do you have on your server? I had an issue with WorldBorder, where it seemed to load/unload chunks without telling other plugins...
@ShadowDog007
nope - that's a new message - but its sometimes over 50% of my console output. Gets worse with higher player counts...
@ronfkingswanson
Q_Q
No idea why that would happen. Were you getting that before?
ok, the 1.4a fix muted the console warnings I was seeing before, but now, after a few hours, I'm getting a huge amount of these:
@ronfkingswanson
Oops, fixed it
It worked for world files, so I assumed it would work with config.yml