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!
How do i spawn powered creepers naturally?
@coldandtired
Exactly what I was looking for.
Thanks!
@minecraftyordThe spawner.yml would look like this
the spawns.yml like this
and the deaths.yml like this
Add the mobs you want, and adjust the numbers to fit your needs.
1.1 is up.
Changes:
@dBi1K The original plugins had an example page (Spawner, Spawns, and Deaths) but I haven't updated them for Mobs yet.
They're generally the same though, to give you an idea of how the files look.
@coldandtired
I'll ask on this one since I've been trying to configure a deaths.yml to simply prevent zombies from dropping any experience orbs on death. I'm sure it's simple, but I don't fully understand YAML syntax.
It would help me if you could provide an example configuration for a single mob that demonstrates properly formatted nodes for the different options. For a deaths.yml example, have a creeper drop twice the amount of experience orbs and a tnt on death but only if it is powered while above block 60 (or something like that).
Your plugin looks way cool and I'd really like to use it, but won't be able to until I understand how to properly format the options in a YAML configuration.
Any help you give will be greatly appreciated.
@coldandtired
Thanks, that helped A L O T. :)
Now I can understand at least what they're for (maybe you take this explanation and punch it on the modules page ;-) )
What I wanna do is renew the whole spawn behaviour, which means overwrite the bukkit settings and define new rules for every mob, including how many of them spawn, when they spawn and what they drop, so exactly what your three modules allow me to do. I'm not too sure about all the rules :\ but for example,
- I want friendly mobs to spawn everywhere (including desert and snow biome, but less) at any weather.
- hostile mobs to spawn only at night, but everywhere.
- friendly and hostile mobs to spawn more overall (instead of the standard at least twice as many)
- zombies to spawn rotten flesh and bones
- chickens to spawn more feathers
- and i want them to drop less experience orbs.
I know everything here isn't very accurate and not complete at all, but I really have to test it before I can give you more information :/
If something doesn't make sense, don't bother interpreting it, just tell me (english is not my first language)
@minecraftyord You are wrong :)
The Spawns module listens for creatures spawning (by whatever method) and determines whether to cancel or allow the spawning, based on the conditions the admin sets (night time, biome, etc).
The Spawner module allows mobs to be spawned on a regular basis. It also allows any individual mob to get special drops, different to all the other mobs of the same type. The Deaths module doesn't need to be active for this to work. Once the mobs are spawned, if the Spawns module is active it can override the spawning. This way you can set up a general spawn rule (10 sheep every 5 minutes, for example) in the Spawner module and much more specific conditions in the Spawns module to filter exactly which sheep actually get to the world.
The Deaths module determines what mobs drop when they die. It functions on the group level so every cow that dies and passes all the conditions will ave the same chances to drop the same items as the other cows. The only exception is if a mob has been given a special set of drops in the Spawner module - they will override the group settings.
The easiest way is probably if you (or anyone else) tell me what you want to do and I'll mock up some files to show how it works.
Tell me if I'm wrong:
My impression is, that there are a couple of features that can be controled by two modules. Are you planning to merge those modules more and more until it's ONE structured plugin? Don't misunderstand me, I know it's hard to easily merge plugins, but it would be really nice and help new people understand it alot easier! (I spent 3 hours understanding how it works)
Besides that: this is the ultimative plugin to control mobs! Anything else is useless if you have this plugin!
@TeamAss All the settings in the config.yml file have an inbuilt default so the file can stay blank if you're happy with the defaults.
If you need to override a setting just add it to the file.
The other three files aren't config files, they are used to define the conditions and results of the conditions.
@coldandtired
would be nice if it could generate its own default config if there is none
Great plugin. But needs to make the configured config. :P. Its all blank and i dont know how to use it.
Thanks man this plugin is exactly what i needed, much appreciated.
@Djrowling Updated, v1.0.1 creates empty config files if they are missing.
Direct link is here: http://dev.bukkit.org/media/files/563/289/Mobs.jar
See http://dev.bukkit.org/server-mods/mobs/pages/configs/config-yml/ for default config values.
Can you upload some default config.yml because i can't get it to work either :(
@coldandtired
Still doesn't create any config files for me.
@TeamAss Ah, looks like I messed up the config file check :(
Try creating a file in the plugin/mobs/ folder called config.yml
[SEVERE] Error occurred while enabling Mobs v1.0 (Is it up to date?): n ull java.lang.NullPointerException at me.coldandtired.mobs.Main.setup(Main.java:122) at me.coldandtired.mobs.Main.onEnable(Main.java:47) at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:188) at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader .java:968) at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManage r.java:280) at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:186) at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:169 ) at net.minecraft.server.MinecraftServer.t(MinecraftServer.java:348) at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:335) at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:165) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:399) at net.minecraft.server.ThreadServerApplication.run(SourceFile:457)
Help? :(
@TerraNetworkOrg Not quite.
I thought about your suggestion from Mob Spawns, having a mob drop a specific item (like a secret mob or a boss or something), and the only way I could see how to do it was to store the unique ID of the spawned mob, and compare it against the killed mob. If they match, that mob drops whatever you told it to. Other mobs of the same type will drop whatever they were told to (all the same) and don't need to be stored.
When this unique mob is killed it is removed from the list. The problem is that if it isn't killed, and wanders off somewhere, it won't get removed.
It's probably overkill, and even spawning 20 unique mobs an hour and leaving them won't show any negative effect on the server but I added it to be safe.
Set the purge_interval to a bigger number if you want to see if there's a problem or not.
I am speechless ... christmas-gift? :D
Uh uh i've got an idea (i'm never stopping to get ideas :P )
You are spawning mobs your own and you have this purge command.
If i am understanding it right, than every 60min your custom-mobs will completely be purged?
Let's say there are 200 natural mobs and 120 custom mobs (spawning of 30sec) after the purge there will only be the natural mobs?
It's like using "/butcher" of WorldEdit without instant respawn o.o
Am i right when i think you're using an internal list of mobs spawned by your plugin?
What about setting an age to these mobs (timestamp) and removing only mobs older than 60min.
So there will always be a fix amount of mobs on a server.
It took me alot of time to understand the config files of your single plugins, i don't know how long it takes to get new configs +lol+