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 Oct 10, 2012@dexyh1234 Yes. set_skin, restore_skin, and set_title all require SpoutPlugin (and probably Spoutcraft).
<set_skin name="http://.../> <restore_skin/> <set_title name="http://.../>
You can use set_name to change the name of a mob internally (for conditions, for example), and set_title adds the caption floating above the mob. There is no way in SpoutPlugin to remove the title without killing the mob.
-
View User Profile
-
Send Message
Posted Oct 10, 2012Did you rly add a fuction to change the skin and add a title through spout? :O that's amazing!!
-
View User Profile
-
Send Message
Posted Oct 10, 2012@NyanCraftDe At the moment it doesn't work. When it does (soon) it will be either <hp>50</hp> or <hp> <amount>50</amount> </hp>
Or both. Haven't decided yet.
-
View User Profile
-
Send Message
Posted Oct 10, 2012@surfarcher It does seem rather badly-designed. Not even sure why that would be configurable anyway - just use the Citizens folder or a subfolder inside that.
-
View User Profile
-
Send Message
Posted Oct 10, 2012Another question. How do i use the set_hp action? Like <set_hp value="50"/> ?
-
View User Profile
-
Send Message
Posted Oct 9, 2012@surfarcher
Well changing the Citizens 2 plugin directory to plugins/Citizens/plugins/ seems to have done the trick. TY! Now why on earth they default it to plugins/ I cannot imagine.
So... No data.mobs converter? No app? *facepalm* Here I go starting from scratch again *sigh* Well I'll let you know how I go!
-
View User Profile
-
Send Message
Posted Oct 9, 2012I Made seperated Events for different dropchances. But i could male groups using your Version If the config. ;)
-
View User Profile
-
Send Message
Posted Oct 9, 2012@NyanCraftDe Looking at your config, it might not work as expected (I can't remember how I load that part).
It's supposed to look like this:
Rather than multiple event dies elements.
-
View User Profile
-
Send Message
Posted Oct 9, 2012@coldandtired
Ah. This looks way better than mine. :) Thank you, I will use it!
383:60 is a Silverfish-Egg ;)
-
View User Profile
-
Send Message
Posted Oct 9, 2012@NyanCraftDe The error comes from your second drop_item. What I suspect you're trying to do is have Silverfish drop 383:60 (whatever that is) most of the time, but have a 1 in 16 chance of dropping nothing.
There are a couple of things wrong with your config. First is that cancel_event has to be a top-level action, not inside any other action (as in the config). Second is that you can't cancel the dying event.
Assuming you want to remove all drops you would need the clear_drops action. Also, in your first action the Silverfish will still drop its normal drops, and the one you put in the config will be added. You can change this by clearing the drops there as well.
That should do it. Remove the first <clear_drops/> if you want the Silverfish to drops its vanilla items as well.
EDIT: That's what I get for typing slowly :)
-
View User Profile
-
Send Message
Posted Oct 9, 2012@coldandtired
I need to thank you for the good and fast support! I've put my config on PasteBin. Please look at it. I don't know wehere the "Could not pass event EntityDeathEvent to Mobs"-Error is coming from.
Config: http://pastebin.com/vd4iWM83
-- Edit-- Oh no. I think I found the problem. Seems like I am dropping a "cancel_event". Thanks anyway. :)-- Edit2-- Yeah! I removed the "<drop_item>" around the "<cancel_event/>". Works perfectly fine now. ;)-
View User Profile
-
Send Message
Posted Oct 8, 2012@KittyHopHop Everything from Alpha 1 to Beta4 (and beyond) is a complete rewrite.
The old version was becoming unsustainable, and difficult to maintain.
/sm will come back soon (probably as /ro activate or something).
You can continue using the mobs.data file with 1.3.1 b3, but no more development will be done on that version.
I would recommend though that you go through the new tutorial and build a file that's compliant with the latest beta.
I might make a new config app when I have some time, but for now it's hand-written only.
-
View User Profile
-
Send Message
Posted Oct 8, 2012@KittyHopHop
Hi Kitty, there is no config generator for this version of mobs (that was for an older version linked to at the top of the page).
If you use beta3 or higher of this version then it will generate a blank config file for you, (it has some example config code in comments). Or you can create your own config file by making a file named config.txt (in the mobs folder within plugins folder) and putting in it at least the following code.
you don't configure a list of choices like in most plugin configs, instead you write code telling the mobs pluggin what you want it to do (which can be a pretty big range of stuff). Basically you tell mobs to look for an event and then do an action(s) in response. You can also define specific attributes of the event, and conditions for the actions or event.
There is a tutorial here
here's an example of config code I wrote to get mobs to do a global spawn ban (which is all I've done so far but eventually I'll then get mobs to spawn exactly what creatures I want in each world, at the timing, and with the behavior I want)
I don't think the new mobs will read the old mobs config files (data.mobs). Its pretty much a new (and much more powerful / easier) pluggin
hope that helps, I'm only just learning how to use it myself
maybe we could start a thread where people post the code/config instructions they've written for getting mobs to do cool stuff? That way us users could learn off each other a bit too :)
-
View User Profile
-
Send Message
Posted Oct 8, 2012Is there a config generator for this beta?
With Beta2 and Beta3 I cant use /sm to autospawn monsters and animals.
Beta2 cant read Mobs/data.mobs. Beta3 doesnt use Mobs/data.mobs.
What the hell? =(
-
View User Profile
-
Send Message
Posted Oct 8, 2012@surfarcher Looking at that error, it seems Citizens is loading Mobs as a sub plugin, and I have no idea why.
Change the Citizens config so the subplugins folder is not the main plugins folder.
-
View User Profile
-
Send Message
Posted Oct 8, 2012@coldandtired
It might be! CommandHelper is a full scripting system so I have thousands of lines of "config" ;) At the end of the day Mobs is a very complicated config so we are kind of "vigorously agreeing" lol
Well I couldn't find a duplicate of the plugin and beta 3 is just fine. So I deleted Mobs.jar and Mobs sub-dir and ran. No sign of mobs in the log. Put beta 4 back in and the exception is back.
So on a hunch I disable Citizens... And sure enough the NPE vanishes. Of course I need Citizens 2 on my server *facepalm*
-
View User Profile
-
Send Message
Posted Oct 8, 2012Beta 4 is up.
Added an option to disable the update check (disable_update_check="true" in settings)
Added a new action, set_title. <set_title name="title"/>
This will add a caption above a mob. Needs Spout.
Added a new action. set_skin <set_skin name="http://..."/>
This will set the mob's skin to the file in the link. Needs Spout.
Added a new action, <restore_skin/>
This will return any mob's skin back to default. Needs Spout.
-
View User Profile
-
Send Message
Posted Oct 8, 2012@NyanCraftDe Something is wrong with an item you've set to drop. Paste your config somewhere for me to see.
-
View User Profile
-
Send Message
Posted Oct 8, 2012@coldandtired
Yey, got it now. :) Thank you man. Awesome plugin!
Edit: Okay, not perfectly fine. It works, but:
2012-10-08 17:48:35 [SEVERE] Could not pass event EntityDeathEvent to Mobs org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:341) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462) at org.bukkit.craftbukkit.event.CraftEventFactory.callEntityDeathEvent(CraftEventFactory.java:299) at net.minecraft.server.EntitySheep.dropDeathLoot(EntitySheep.java:68) at net.minecraft.server.EntityLiving.die(EntityLiving.java:767) at net.minecraft.server.EntityLiving.damageEntity(EntityLiving.java:663) at net.minecraft.server.EntityAnimal.damageEntity(SourceFile:124) at net.minecraft.server.EntityHuman.attack(EntityHuman.java:762) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:1019) at net.minecraft.server.Packet7UseEntity.handle(SourceFile:36) at net.minecraft.server.NetworkManager.b(NetworkManager.java:282) at net.minecraft.server.NetServerHandler.d(NetServerHandler.java:109) at net.minecraft.server.ServerConnection.b(SourceFile:35) at net.minecraft.server.DedicatedServerConnection.b(SourceFile:30) at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:577) at net.minecraft.server.DedicatedServer.q(DedicatedServer.java:213) at net.minecraft.server.MinecraftServer.p(MinecraftServer.java:473) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:405) at net.minecraft.server.ThreadServerApplication.run(SourceFile:539) Caused by: java.lang.NullPointerException at me.coldandtired.mobs.managers.Action_manager.drop_item(Action_manager.java:1079) at me.coldandtired.mobs.managers.Action_manager.perform_action(Action_manager.java:84) at me.coldandtired.mobs.managers.Action_manager.performActions(Action_manager.java:68) at me.coldandtired.mobs.managers.Event_manager.start_actions(Event_manager.java:71) at me.coldandtired.mobs.listeners.Base_listener.performActions(Base_listener.java:33) at me.coldandtired.mobs.listeners.Dies_listener.dies(Dies_listener.java:24) at sun.reflect.GeneratedMethodAccessor100.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:339) ... 20 more
-
View User Profile
-
Send Message
Posted Oct 8, 2012@NyanCraftDe You can't change settings because it doesn't work like that. You have to build a config based on what you need.
Delete the Mobs folder and install Beta3 (http://dev.bukkit.org/media/files/635/748/Mobs.jar), which will create a small example file.