Anyone who has been active on the main forums in the last few days must surely have already heard the news.
I'm not going to comment on why and how, but the short version is that Bukkit is almost certainly not getting passed this.
Consequently, the future of BukkitDev is very uncertain. Even if the legal matters were resolved tomorrow there isn't really anybody left to deal with file submissions anyway. There's no indication about how long the site will stay up and what will happen to the files.
Anyway, while I will continue updating and developing my plugins you will need to look for updates somewhere else, namely the wiki. I will be updating this wiki in the next few days to facilitate better communication (forums, email, etc.) and adding any documentation that's missing.
I will also, of course, be looking into porting the plugins over to whichever API emerges from the ashes!
Introduction
Mobs gives you the ability to control almost every aspect of the mobs on your server, and a few other things on top.
The concept is simple - as your server is running, things are constantly happening. Players are mining, mobs are spawning, the sun is going down, it's starting to rain, etc.
Behind the scenes, CraftBukkit is sending messages to all interested plugins about these events. Player John broke a block of stone in world at location 55, 23, 137; A sheep died in world at location 209, 77, 22, etc. There are dozens of events, and thousands of these messages are sent every minute.
Most plugins listen for a few of these messages and act upon them. Mob-blocking plugins, for example, listen for new mobs spawning somwehere, and then look at the config to decide whether to allow or block the mob from spawning. Chat filtering plugins listen for the player is chatting messages and block/edit them according to the config.
Mobs listens for most (eventually all) of the mob-related messages, and a few extra ones, and gives you the option to block, allow, or alter the effect of the event.
However, it goes beyond that in that it allows you to use the event to perform one or more actions. So, while you may not want to interfere with creepers spawning, you can use this event to change the weather, set the time, drop an item somewhere, give someone some experience points, or as many of the dozens of possible actions that you want.
Additionally, it's possible to use conditions to filter the events you act upon. Want to give creepers a 1 in 1000 chance of taking out half your house when it explodes? Not a problem (except for the house).
Config.yml
checkfornewerversion - set to yes to allow the plugin to contact this site and see if there is a newer version available. Note that it onlys checks, and doesn't download anything.
generatetemplates - set to yes to have the plugin create empty config files for every possible event. Alternatively, simply look up the names on the
tutorial and create only the files you want.
worldstoignore - a list of worlds in which the plugin will be effectively disabled, ignoring all events in those worlds.
allow_debug - set to yes to enable other plugins to access the event API (for logging, debugging, etc.)
Commands
There is one only command in the plugin, which is
/reload_mobs, or
/rm. The reloads the config without reloading the plugin itself.
Users need the mobs.can
reloadconfig permission, or to be an op.
Update checking
If you like, you can set the plugin to check for any newer versions that get released. To do this use the check
fornewer_version option in the config file. This only works for release builds so you won't be bothered by any beta or dev builds.
Note that no update will be downloaded even with this set.
Tutorial
Start the tutorial
here to read up on how the plugin works
The tutorial for the old config can be downloaded from
here for offline viewing.
Updates
Updates for all my plugins will be announced via Twitter, which you can find
here.
Dependencies
Mobs has another plugin as a dependency called Extra Events. Read more about it
here.
Make sure you install Extra Events as well otherwise you will get errors on startup!
Donate
Mobs takes a lot of time to maintain, so if your server is enriched by it and you have some spare donations please consider sharing!
If you're penniless or like
Mobs but not that much I'm also partial to TF2 items. Send any you don't want my way! STEAM id: coldntired
If you don't know what TF2 is, then start playing! It's
free and fun!
@DrakeDouglas
I'm running Spout, PEX (and ChatManager), Vault, Mobs, and dynmap. I just thought, could it be a problem with one of those?
@DrakeDouglas
Oh, yeah, and now there's this too:
@coldandtired
I fixed the item names but it's still saying that there's something wrong with the magmacube entry:
@coldandtired
OOohhhh, so base is the starting point, and range is how far away in each direction?
You're awesome. Thanks for the help!
@DrakeDouglas I see the problems now.
The range must always be positive as it's the value above and below the base value. The base can of course be negative. Your y setup is wrong too. The lowest y value is 0 (at the moment), so if base,y is 0 range 60 will mean -60 to 60, which will probably crash something. It definitely won't do what you expect.
The error in the deaths config is iron, as there is nothing called iron in Minecraft. There's iron_ore, iron_block, etc. Have a look here for the names.
@coldandtired
Hm, well they aren't spawning for one. Maybe i need to up the limits or something. I'd really like to see a lot of them show up.
As for the deaths.yml, it says "Something is wrong with the magmacube entry!" when it atempts to load the deaths.yml. I've parsed it in the yaml parser site to make sure it's good... so I dont' know what else to do.
Oh yeah, and then I get an exception. says:
2012-01-04 15:59:03 [WARNING] Task of 'Mobs' generated an exception java.lang.IllegalArgumentException: n must be positive at java.util.Random.nextInt(Unknown Source) at me.coldandtired.mobs.Loc.get_location(Loc.java:49) at me.coldandtired.mobs.Mob_spawner.spawn_mobs(Mob_spawner.java:67) at me.coldandtired.mobs.Mob_spawner.run(Mob_spawner.java:80) at org.bukkit.craftbukkit.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:137) at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:493) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:425) at net.minecraft.server.ThreadServerApplication.run(SourceFile:457)
@DrakeDouglas Looks fine to me. What's not happening?
Alright, I'm wrackin my brain on this one, so I just gotta post it and see if you can spot the problem right away:
I want magmacubes to suddenly start spawning when it's thundering out, and be filled with an array of wonderful things if you kill them. I also only want them to spawn in various wooded biomes.
Here's what i came up with:
http://dev.bukkit.org/paste/4516/
@mantegudo Everything within the same mobs: block (so all of them in that example) will use the same shortcut. If you want different shortcuts you can do this
etc.
@coldandtired
Alright! What about shortcuts? How will they work?
@mantegudo If you put more than one mob in the name: key, each mob will have the same location, quantity, etc. as the others. If there is a range of quantities then the amount can be different for each mob though.
If you want different limits for each mob you need a new entry for each, like this
etc.
Hey Cold, it worked! thx, let's see if you can help me now :P
I wanna spawn 5 types of mobs on the same region, 8 of each type with topup and limit of each mob! how would I do that?
Thx
@DrakeDouglas Here you go: http://jd.bukkit.org/apidocs/org/bukkit/block/Biome.html
Hey! Thanks for such a great plugin! My players are all very happy now, and so am I!
Hey! Your tutorial section is updated! I have a bunch of questions, but I'll wait to look over that section first. Thanks!
@Merdyr To check if a mob is killed with an enchanted weapon or to drop an enchanted weapon when the mob dies?
This example contains both versions.
@GarretSidzaka What kind of config could I provide when the options are infinite? One that just spawns pigs? Or only blocks sheep or something? There are already quite a few examples in the comments to choose from.
I would be genuinely interested if you could come up with a simpler version that offers the same customisation. As for XML, my first plugin used it and I spent most of my time telling people to close the elements or add a quotation mark. At least YAML is used with all other plugins so admins have a higher chance of knowing it already.
As for your config, it doesn't have the locations where the mobs should spawn (either by co-ordinates or region).
@MysticRealms Ah, that's good to know. I've never worked with WG before so I have no idea how often the API changes. I'll add a note to the page about that :)
can i please have some help? this is not working right
@coldandtiredYou mind helping me add an enchant to an item?
most confusing configuration ever. worse even than heroes.
however this is a cool plugin. you really need to include a starter config, commented out for their use. I mean what were you thinking on having them write up thier own yaml? yaml is such crap i dont know why ppl stoped using xml much cleaner.
anywho great plugin/ just going to trial and error with this fucking config tho for another hour