Mobs
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!
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!
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.canreloadconfig 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 checkfornewer_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!
-
View User Profile
-
Send Message
Posted Jun 20, 2012Thanks for the answer cold. I now have some problem with mob spawning. I have zombies auto-spawned every 15 sec, location is near player and on loaded chunk, but they often spawn inside walls. Can you add a check to prevent this?
-
View User Profile
-
Send Message
Posted Jun 20, 2012@coldandtired
Have you got an IRC channel? Perhaps we could discuss feature related stuff there and bounce some ideas. :)
-
View User Profile
-
Send Message
Posted Jun 20, 2012@SXRWahrheit I tried changing stuff directly in Minecraft before and it's very unstable. When the BukkitAPI is released I imagine there will be many devs pushing the team to add support for things that Bukkit currently doesn't handle (changing max health, which biomes mobs can spawn in, etc.) This will make the code a lot cleaner as each dev won't have to implement his/her own way of doing it.
The YAML thing wasn't really an assumption. The first plugin I wrote used XML and I received dozens of PMS and comments along the lines of, "What the hell is XML?" and spent a lot of time fixing configs with unclosed or badly-nested elements.
So, I changed it to YAML, thinking that it would solve some of those problems. Sadly, it did exactly the opposite. Not only did I get an increase in badly-formatted configs, but there were still a large amount of admins/players who had no clue about YAML. I also had to add hundreds of lines of code checking for YAML's ambiguities.
YAML is fine for the simplest of configs, where the dev needs to store a couple of values. Anything more complex and it becomes a burden (look at how many cries for help with permissions configs there are in the forums. And those configs are still pretty simple).
Spawning a new mob is easy, but I want to add as much choice as the rest of the plugin, which means being able to spawn any kind of mob with any kind of properties. The plugin part is simple but setting up the config for it takes longer.
-
View User Profile
-
Send Message
Posted Jun 19, 2012@tappestry The old config assigned everything to the mob when it spawned (what it would drop, etc.)
In order to know whether it was autospawned or not I set a flag which was read in the spawn event and used to determine all the properties. The flag is then reset until the next autospawning mob.
When I added the ability to decide what the mob dropped based on the conditions when it died I reused most of the old code but I forgot that the flag would have been reset by then. Consequently for drops and damages, autospawned would always have been false, and the mob would use the default outcome (if set).
Yesterday's update fixed that so it works as expected now.
-
View User Profile
-
Send Message
Posted Jun 19, 2012@coldandtired
Helpful - thanks. I know right now AI is exposed for spiders as Monster Apocalypse has that working on my server, but it's a HUGE memory leak.
As far as YAML goes, working for an RSP I respectfully disagree in your assumption of server admins but will respect your stance.
Spawning a new mob shouldn't be too terribly hard, just pop a new one EXACTLY where the old one died. I can make tickets if you like. :)
-
View User Profile
-
Send Message
Posted Jun 19, 2012cold, what was the autospawn ignore bug? mobs not being autospawned? this new patch might fix what I was having issues with. I'm excited to dig into this plug-in. you have really refined it over the past few months, i am really impressed :)
-
View User Profile
-
Send Message
Posted Jun 19, 2012@SXRWahrheit YAML will never be used. It isn't suitable for configs and very few server admins know how to use it.
You can edit the config by hand but I can assure you that's far more of a pain in the arse than Silverlight.
Spawning mobs when one dies was something I had working a while ago. It's currently disabled while I improve it.
As for AI, it depends what the BukkitAPI exposes. At the moment it's a terrible pain but maybe the team will allow better access in the future.
-
View User Profile
-
Send Message
Posted Jun 19, 2012Also, will you be implementing AI handling?
-
View User Profile
-
Send Message
Posted Jun 19, 2012Also, can we get an option to spawn mobs when a mob dies of a specified type?
-
View User Profile
-
Send Message
Posted Jun 19, 2012@coldandtired
thank you for your answer, I understand now :)
keep up the good work
-
View User Profile
-
Send Message
Posted Jun 19, 2012Can you please add an option to allow for use of YAML, or an alternative to the tool? Silverlight is a right pain in the ass.
-
View User Profile
-
Send Message
Posted Jun 19, 2012b22 is up - direct link
Plugin changes
Full changelog can be found here
-
View User Profile
-
Send Message
Posted Jun 19, 2012@LoulouteFlore At the moment it only works the other way. I.e. you can stop hostile mobs from attacking. Making non-hostile mobs aggressive requires messing around with Notchcode, which isn't fun and has a tendency to break things in unexpected ways.
Such behaviour might be added in the future though.
-
View User Profile
-
Send Message
Posted Jun 18, 2012Hello :)
In the description, you said: "Change mob properties like health, damage, and whether they attack;" I would like to make Squids agressive, but even if I look the wiki tutorial, I cant find something to do that?
Or maybe I just dont understand :(
thank you for your help
(Sorry for my english, doing my best)
Lou.
-
View User Profile
-
Send Message
Posted Jun 18, 2012@coldandtired
I just posted the config on your forum so we could get it off the main thread.
-
View User Profile
-
Send Message
Posted Jun 18, 2012@dBi1K Interesting. Can you post the config that you're seeing this with?
-
View User Profile
-
Send Message
Posted Jun 18, 2012coldandtired, Me again.... I think I found the issue with auto/manual spawing mobs not dropping the correct loot. It looks like there is some sort of connection between settings for generally spawned and Autospawned mobs. That or my logic is Whack. :-)
In mob settings, I have to set the "Generally spawned mobs" drop check to "Spawn" before the "Autospawned mobs" drop what's specified it their outcome. Otherwise, if "Generally spawned mobs" drop check section is set to Death or Both, then that section for "Autospawned mobs" is ignored and the mob just drops what is configured in the default section 4 of the config.
Hope this helps.
-
View User Profile
-
Send Message
Posted Jun 18, 2012@xReisKeks That's exactly how it works. Mobs not in the config are vanilla mobs, and even mobs in the config only have certain sections changed (e.g. changing a mob's HP or potion effects will not affects its drops, which will be vanilla).
-
View User Profile
-
Send Message
Posted Jun 18, 2012@coldandtired Ok works now, but is there a chance just to edit the slime spawning behaviour, and don't affect the other mobs, so that they spawn like vanilla mobs?
-
View User Profile
-
Send Message
Posted Jun 17, 2012@catjjc I'll do it now.
Done.