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 Feb 1, 2012Thank you, that worked, may u send me a new example on spawning 5 kind of mobs on a speciefied region and only spawn the remaining mobs, Like if I have 4 mobs and the amount set in config is 5 it only spawns 1, and I want to spawn them each 5 minutes, the region name is spawner.
Thanks.
-
View User Profile
-
Send Message
Posted Feb 1, 2012@mantegudo It's not bugging it, it's overruling it. Upgrade to b6 (found here) and you can adjust what events are overruled.
-
View User Profile
-
Send Message
Posted Feb 1, 2012I don't know why but your plugin is bugging WorldGuard, their flags wont work if your plugin is on! What is happening?
-
View User Profile
-
Send Message
Posted Feb 1, 2012@coldandtired
Thanks for taking the time to explain it to me. I didn't get that from your last post :-) but I understand now.
I've used your plugin primarily to modify drops but wanted to upgrade to 1.9 and start using some of the fun stuff you can do now with the spawn. I guess sometimes you get the bad with the good...
Anyway, I hope your simple fix will work. I'm sure I can't be the only one that modifies drops for chickens, cows and pigs.... :-)
I love your plug in btw. Keep up the fantastic work!!
Thanks!
-
View User Profile
-
Send Message
Posted Feb 1, 2012@dBi1K A little explanation is perhaps needed :)
What most plugins (including Mobs before 1.9) do is listen for events, and when something happens, they look up the value in the config and change the result of the event.
For example, when a player breaks a block, an event is fired. In this event the author can find out what block it was, and if they want to they can cancel the event, so the block stays whole.
This is fine for simple plugins. When the plugin gets a bit more complicated though it leads to the author having to somehow link specific mobs to data held in memory, and keep track of whether the mob is dead, etc.
This was the reason for the whole purge_specials thing in earlier versions of Mobs - specials was a list of all mobs that would drop items different than other mobs of the same type. When the player killed the mob, I read the data, dropped the loot, and then removed the mob from the list.
Unfortunately, Minecraft regularly removes mobs on its own, and other plugins can remove mobs without me knowing, so the specials list was impossible to keep up-to-date.
When a plugin wants to make a mob have more HP, it usually listens for the damage event, and then reduces the damage done, so that to the player it looks like the mob has more HP.
This is necessary because Notch hardcoded many values directly into Minecraft itself, including the attack power and the maximum health.
So, with 1.9 I decided to take a different approach and substitute my own mobs for Notch's. This means that whenever the plugin is running and a mob spawns, it will be my mob and not the original. This gives me the power to change many aspects of the mob that are normally inaccessible.
The problem comes because Minecraft takes a lot of things for granted, and when the server starts it only loads the position of mobs because it expects every zombie to be identical to every other zombie. Therefore it doesn't bother to load what each zombie drops as it's always the same.
What I can do to fix it is either the simple version, which is to simply loop through all the mobs when the map loads and replace them with mine, or the complicated way which saves the mobs to a database and therefore keeps the data intact.
Probably I'll get the easy fix working very soon (later tonight) and the complicated way might take a bit longer.
Hopefully that makes some sense :)
-
View User Profile
-
Send Message
Posted Feb 1, 2012@dBi1K
Hmmm....Im not too clear on that one! Haven't experienced it yet, the only thing I can think of is setting global spawn control to yes, but Im sure you have tried that..does your sheep/arrow configuration have a percent condition in it?
-
View User Profile
-
Send Message
Posted Feb 1, 2012@tappestry
Thanks Tappestry. I know all to well how easy it is to make a config error with this plugin... :-)
However, my death rules work, they just aren't persistent. I'll explain.
I'll configure a sheep to drop 1 arrow. build a pen and spawn in 10 sheep. Kill all of them and I get 10 arrows as expected. I'll spawn in 10 more sheep and kill 5. I'll get 5 more arrows again as expected. At this point you would expect that if I killed the other 5 I would get 5 more arrows. Instead, I'll stop the server. Make no changes to any config and simply restart. After the server is back up, there are still 5 sheep in the pen. I would expect to get another 5 arrows since they were originally spawned under Mobs death_rules. But what I get now is the default drop of wool.
I can clear the spawn as you state below and the fresh spawn WILL adhere to the death rules, but once I stop the server and restart, everything reverts to default again. This makes it virtually impossible to control the drops from mobs that don't constantly re-spawn (like cows, chickens, sheep, etc).
It didn't used to be like this in the previous versions of Mobs. Once the deaths.yml was configured and loaded, the drops were applied to all Mobs that came up with the server as well as the ones that spawned after. And the drops did not revert to default on a server restart.
-
View User Profile
-
Send Message
Posted Feb 1, 2012what that will do is completly replace blaze drops with flint and redstone, because I have no percent condition in the first - action. The second - action says that the it will also drop redstone and gold if the percent drop roll is a score of above 75. I hope this helps you configure. As for old mobs, what I usually do is just wipe the map of all old entities that way I get a fresh spawn with the new config
-
View User Profile
-
Send Message
Posted Feb 1, 2012Cold,
I haven't run into a single issue with this build, it works flawlessly so far. I will keep you posted if I find anything pop up.
dBi1K
If your mobs are dropping like original mincraft there is probably an error in syntax somewhere. I had an issue where I copy and pasted over the death_rules: and it basically made the whole mob plug-in null and void. Double check your config. Also, here is a sample of mine, I'll post above this
-
View User Profile
-
Send Message
Posted Feb 1, 2012@coldandtired
I guess I'm confused on the mob drop thing. I generated a brand new world AFTER configuring and running your plugin version 1.9. All the changes I made in the death_rules were working fine for all mobs in the new world. But when I just stopped and restarted the server, they all reverted back to default drops. This means only new mobs like zombies, skeletons, and the like use the death rules but only if they spawn after server start. Any existing or persistent mob like pig, sheep, or cow all revert to default drops and will never use the death rules.
Previously I ran Mobs v1.3.2 and all changes to the deaths.yml took effect as soon as the server started and worked for all mobs existing and new. I could start and stop the server all day long and it never changed.
I just loaded Mobs v1.3.2 using CB -R3 and any changes to the deaths.yml take affect immediately, work for all mobs (existing and new) and I can stop/start my server and they never revert to default drops.
I don't understand what's changed if your older version works with the new CB builds.
-
View User Profile
-
Send Message
Posted Feb 1, 20121.9 b6 is up - direct link
Changes
-
View User Profile
-
Send Message
Posted Feb 1, 2012@dBi1K I'll have a look at the Vault thing tonight. It's only supposed to use Vault and an economy plugin if it's found.
As to the drops, it's supposed to be this way. Bukkit doesn't provide the framework to change a few of the fundamental mob properties (like damage or hp) so I had to work directly with Notchcode :(
This means that mobs spawned when the plugin is running are different to mobs spawned when it's not. I'll try and find a way of limiting this as much as possible though.
-
View User Profile
-
Send Message
Posted Feb 1, 2012coldandtired: I"m having trouble getting the death rules working in your 1.9 builds. The drops only work on mobs that spawn after I enable a new configuration. The existing mobs drop default items. If I stop and restart the server even the new mobs revert to dropping default items gain. I tried this by generating a new world and checked that all mobs dropped exactly what was in the death_rules. But once I restarted the server, every mob reverted to default drops (except for the mobs that spawned after restarting the server). The drops in your pre-1.9 versions always took affect right away and persisted. This is so for all your 1.9 builds and using CB R1-R3. I also confirmed this using spawn eggs (once fixed in b5) with no other plugins installed except Vault. If I don't have vault installed, I see this error when starting up.
[SEVERE] Error occurred while enabling Mobs v1.9 b5 (Is it up to date?): net/milkbowl/vault/economy/Economy java.lang.NoClassDefFoundError: net/milkbowl/vault/economy/Economy
Any ideas?
-
View User Profile
-
Send Message
Posted Feb 1, 2012@tappestry Regarding your sword question, you would need to add a second action to the death_rules with the sword condition and drop.
If you want the sword to replace redstone, put the action after the redstone-dropping action and set replace_drops to yes.
I looked at the CreatureEggs plugin and the author blocks the item being used rather than the creature spawning. I might add the possibility to overrule it but as it's the only thing the plugin does I have to assume that anyone who installs it specifically wants that behaviour :)
-
View User Profile
-
Send Message
Posted Feb 1, 2012@tappestry Percent is a bit confusing, and maybe I should change it or at least change the name.
It's better to think of it like a 100-sided dice.
This means that the chance of rolling a 1 is exactly the same as rolling a 79, or a 22, etc. However, the chance of percent: [above 50] being true is twice the chance of [above 75] being true. The previous example is identical to [below 51] and [below 26] (because there is no 0).
Here's a couple of examples
The first condition has a 1 in 100 chance, the second 10 in 100 (1 in 10) and the third 95 in 100.
-
View User Profile
-
Send Message
Posted Feb 1, 2012@xcoldfyrex As tappestry explained, this is supposed to happen.
Some plugins, either by mistake or by design, cancel some events. If overrule_other_plugins is set to yes Mobs will use its own condition rules (set by the admin) to decide whether to cancel the events. even if other plugins had already cancelled them.
Set it to false if you want other plugins to control their own events, but be aware that there might be conflicts (even before Mobs gets involved).
I think I'll change it to have overrule-per-event settings instead of one global one.
-
View User Profile
-
Send Message
Posted Feb 1, 2012@wekerx12 There is no whole config. The plugin generates an example at the bottom of the config.yml file when it starts for the first time. or you can look at a little example here
-
View User Profile
-
Send Message
Posted Feb 1, 2012Can you post a example of the hole config file, will help me alot. Thanks
-
View User Profile
-
Send Message
Posted Jan 31, 2012@tappestry
Thanks, that fixed it.
-
View User Profile
-
Send Message
Posted Jan 31, 2012coldfyrex, you should change the global over ride to no and it should obey worldguard and other rules. There is the option to have mobs have top priority in case it is conflicting with other mob altering plugins and you want Mobs to trump them all. I think changing that over ride to no will solve your problems.