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 Nov 13, 2012@destroyer4017 I feel so dirty when I have to use YAML :)
-
View User Profile
-
Send Message
Posted Nov 13, 2012Haha finally after hours of searching i found the right plugin! :) Me and XML have a score to settle.
-
View User Profile
-
Send Message
Posted Nov 13, 2012Is there a way to spawn skeletons with bows and pigzombies with god swords in 1.4 with this plugin?
-
View User Profile
-
Send Message
Posted Nov 13, 2012This is a pain where we have to practically code the config file...What is this code central? Dang i needed a simple plugin where i could just put it in and configure as i wanted no big stuff
-
View User Profile
-
Send Message
Posted Nov 13, 2012Also uploaded Beta16dev, which is identical to Beta16 but built with Bukkit 1.4.2-R0.2.
-
View User Profile
-
Send Message
Posted Nov 12, 2012Beta 16 is up (links on the tutorial page).
Changes
First, Mobs now needs a library plugin installed as well. It's actually a part of Mobs that was split off and made into a separate plugin to keep it cleaner and allow other devs to use it.
This plugin contains all the non-Bukkit events I made for Mobs, and this way Mobs just listens for them instead of creating them itself.
I also added some more settings to the other plugin so it's now possible to customize how close a player must be to a mob to cause the approaches, near, and now leaves event. See this page for more info.
Hour_change happens every hour (at the Minecraft equivalent of :00).
Night happens at 12500, or slightly after dusk. Day is the same as dawn so I didn't add it.
/ro force [name] makes the repeating_outcome(s) activate without checking any conditions. /ro activate [name] checks conditions first so it can be used for more realistic testing. Both ignore whether the outcome is disabled or not.
-
View User Profile
-
Send Message
Posted Nov 12, 2012@wickersty That looks like it should work. I'll check tonight and find out what's going on.
-
View User Profile
-
Send Message
Posted Nov 12, 2012@coldandtired
Thank you. One final question. What I'm trying to do is when a certain mob dies, have it drop an item from a list of items... but some items are more rare than others. Have I set this up right? Because I seem to be getting the same item dropping every time.
<drop_item>
<item>
<id>
<value ratio="40">367</value>
<value ratio="40">352</value>
<value ratio="15">347</value>
<value ratio="15">345</value>
<value ratio="15">339</value>
<value ratio="15">287</value>
<value ratio="15">397</value>
<value ratio="15">373</value>
<value ratio="5">265</value>
<value ratio="5">19</value>
<value ratio="5">340</value>
<value ratio="5">386</value>
<value ratio="5">334</value>
<value ratio="5">298</value>
<value ratio="5">299</value>
<value ratio="5">300</value>
<value ratio="5">301</value>
<value ratio="3">289</value>
<value ratio="3">395</value>
<value ratio="3">394</value>
<value>264</value>
<value>266</value>
<value>388</value>
<value>371</value>
</id>
</item>
</drop_item>
-
View User Profile
-
Send Message
Posted Nov 12, 2012@Beatkidz When the config loads, the plugin calculates the total ratios for each element.
So when it sees five values with no ratio it makes the total 5. Then, when it's time to grab one of these values it picks a number from 1 to 5.
When any (or all) of the ratios are higher, the total is higher. If you had three values, two with no ratio and one with 99 ratio, the plugin would divide them into 1/2/101. Then, the random number would be between 1 and 101.
If the random number picked is 1, the plugin selects the first value. If it's 2, the second, and anywhere from 3 to 101 the third. In this way the third value has a much bigger chance of being picked. Consequently, it doesn't matter in which order the values are put.
As for an API, everything is stored in metadata. See here for more.
-
View User Profile
-
Send Message
Posted Nov 12, 2012@coldandtired
"Ratios all default to 1 so unless you want to make one value more likely you don't need to set it."
What if i want to make one of these Less likely. a lot less likely. in this case one of the 5 drops only shows up 1% of the time
2nd is there an API to use the name of the mob. so if i name a certain mob "bob" an other plug-in (like OtherDrops) could use thats mobs name and death event.
-
View User Profile
-
Send Message
Posted Nov 12, 2012@wickersty You were pretty close. It used to work like your example but I had to change it to make my life easier in the future. It now looks like this:
Ratios all default to 1 so unless you want to make one value more likely you don't need to set it.
-
View User Profile
-
Send Message
Posted Nov 12, 2012Can you give me an example of how to do the following:
A Mob Dies
I have a Drop_Item Action, and in that action, I want to choose ONE of say five items and drop it. What I have is this, but its not working. I think what's really throwing me off is the ratio stuff. I want equal weighted chances. Equal chance that one of the five items will drop.
<dies>
<outcome>
<drop_item>
<item ratio="1">367</item>
<item ratio="1">347</item>
<item ratio="1">345</item>
<item ratio="1">339</item>
<item ratio="1">373</item>
</drop_item>
</outcome>
</dies>
THANKS!
-
View User Profile
-
Send Message
Posted Nov 11, 2012@ultracasual Thanks <3
It would look like this
This only works from Beta15, though. here's a direct link.
-
View User Profile
-
Send Message
Posted Nov 11, 2012I've been using mobs for a while it's beautifully made. I do have one question and I can't seem to find it on the website: what are the variables that can be used and how would I set up an older style bounty reward for slaying a mob?
example written incorrectly:
@<target> | '+, -, / ...' | decimal ranges
How to go about doing those things or a reference?
Thank you
-
View User Profile
-
Send Message
Posted Nov 11, 2012Beta15 is up (direct link on the tutorial website).
Changes
aux_mob is a good one. Many events involve two mobs - the one receiving something and the one doing something. In the hit event, for example, it's the mob attacking and the mob being attack. In the tamed event it's the mob being tamed and the player taming.
The self target (or no target) always refers to the receiving mob, and the aux_mob always refers to the other mob (if applicable).
This example also illustrates the other change. world and target elements can now be placed inside event elements, outcome elements, actions elements, conditions elements, action elements, and condition elements. In other words, anywhere at all.
When a condition or action needs to be done, it will look back up the hierarchy until it finds the world and/or target. Closer target/worlds take priority over further ones so they can be overridden.
All outcomes will use world for their conditions and actions now.
-
View User Profile
-
Send Message
Posted Nov 11, 2012@Xikage I'll look into it, although it will be very difficult :(
-
View User Profile
-
Send Message
Posted Nov 11, 2012@coldandtired
Endermen take damage from any source of water, such as standing in water or being in the rain. It's one of their little quirks.
-
View User Profile
-
Send Message
Posted Nov 11, 2012@Xikage I'll look into that today.
Do you mean enderman taking drowning damage?
-
View User Profile
-
Send Message
Posted Nov 11, 2012@Beatkidz It hasn't been added back yet. Will be soon though.
-
View User Profile
-
Send Message
Posted Nov 11, 2012@crowbars82 I'm going to add a separate action (safely_spawn_mob or something) which will check the block is appropriate (water for water mobs, not inside a wall, etc.) which will offer the choice of the slower method for smaller areas or the quicker method when you know the area is safe anyway.
You have a couple of problems with the other actions.
When a mob is autospawns it looks like this:
autospawner adds a mob -> spawns event is called -> autospawner gets the new mob back.
What this means is that the spawns event (even from other plugins) can interfere with the mob, so what I advocate as the preferred method is to use the autospawner to only add the mob, and not change it in any way. If the mob is meant to be unique, or part of a subgroup, give it a name.
Then, in the spawns event, change the mob however it's required. Use the name condition if necessary to filter this (type of) mob.
Your max_life and burn actions need to go inside a spawns outcome actions. Max_life is set in seconds, though, so setting it to 1 means the mob will disappear almost instantly after spawning.