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 Aug 22, 2012OMG please help me! After I updated this plugin it started logging ALL the drops of killed mobs to the console it's spamming like hell D:
I set the log option to basic, not debug. Please tell me that either I'm derping and this doesn't make part of basic logging or that it's a soon-to-be-fixed bug because this spam is driving me nuts xD
Thanks in advance! \o/
-
View User Profile
-
Send Message
Posted Aug 22, 2012@Xikage
Agreed. I tried to set up an autospawn, thinking to see to use it if the plugin even worked, and my RAM usage shot up quickly to the point it crashed the server.
-
View User Profile
-
Send Message
Posted Aug 21, 2012As of the latest Mobs build, using the latest craftbukkit build also, I am still getting massive server lag whenever any autospawns trigger.
-
View User Profile
-
Send Message
Posted Aug 21, 2012How are those of us running Mobs on an external server (hosted) supposed to reconfigure the Mobs config file?
Ok, now I see how: run it locally and upload it. Now, I have no idea how to set up what I want to do. Your tutorial isn't really helping.
I want to add certain mobs to the list to be pulled as random spawns. Specifically, I want blazes in the desert and desert hills biomes, and ghasts in the ocean biome, to spawn in addition to any other hostile mob.
-
View User Profile
-
Send Message
Posted Aug 21, 2012@coldandtired
I have made the changes reflecting your advice. I noticed this too before you pointed it out, as for some reason, Zombie was set to different "settings" (gear button) than the other mobs. I didn't touch those because I didn't really know what they did. Haha.
All in all, fixed. Thanks for your time @coldandtired, and great plugin. :)
-
View User Profile
-
Send Message
Posted Aug 21, 2012Well, even though your plugin is really advanced and makes my head explode, its sooooo AWESOME!!
B3 doesnt remove excisting mobs.
-
View User Profile
-
Send Message
Posted Aug 20, 2012b3 is up - direct link
Plugin changes
-
View User Profile
-
Send Message
Posted Aug 20, 2012@KittyHopHop There is a bug in b2 that I've fixed in b3. This config will do what you want (from b3).
-
View User Profile
-
Send Message
Posted Aug 20, 2012How does drop rates work? Can you show an example of this:
Chicken doesnt drop feathers and raw chicken, but should drop diamond at 100% chance and diamond_sword at 50% chance
If I use diamond add above 50 it still drops feather/raw chicken, If I use diamond replace above 50 it doesnt drop diamond_sword at the same time but stops feather/raw chicken.
-
View User Profile
-
Send Message
Posted Aug 20, 2012@TheCoryGuy You have the chicken and cow load behaviour set to remove, so when the plugin loads it despawns them from the chunks. Change this if you want it to do something else.
Your zombie setup will never work as you have the fallthrough set to none (meaning that the default outcome will not be used) and the condition boss mob. As boss mob is set by the plugin, there are no vanilla mobs that this will be true for, so none will ever be made boss mob. Hence the condition can never be true and the outcome will never be used either.
-
View User Profile
-
Send Message
Posted Aug 20, 2012@coldandtired
Here is the data.mobs file.
http://pastebin.com/BDMAwrXR
-
View User Profile
-
Send Message
Posted Aug 20, 2012@coldandtired
I am attempting to open data.mobs in Notepad and the plus version I use for editing permissions. I'll just attach the file itself here later. :)
Thanks for your help thus far.
As a side note, the other plugins interacting with the mobs are MobHealth and mcMMO. :)
-
View User Profile
-
Send Message
Posted Aug 19, 2012@Cydo23 Far, far more trouble than using the app. The next config is more accessible to manual editing though.
-
View User Profile
-
Send Message
Posted Aug 19, 2012@whatshiywl I know about this one. Hopefully it only affects the startup/shutdown but I'll do something with it anyway.
-
View User Profile
-
Send Message
Posted Aug 19, 2012Hey, this looks like a really great plugin, with fun colorful tiles always being more favorable to writing stuff out, but silverlight frightens me greatly! How much trouble would it be to have it not require silverlight?
-
View User Profile
-
Send Message
Posted Aug 19, 2012eh...
2012-08-19 14:40:21 [INFO] [Mobs] Enabling Mobs v1.3.1 b2 2012-08-19 14:40:21 [SEVERE] java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: me.coldandtired.mobs.data.Exp 2012-08-19 14:40:21 [SEVERE] at java.io.ObjectInputStream.readObject0(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at java.io.ObjectInputStream.readObject(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at java.util.ArrayList.readObject(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 2012-08-19 14:40:21 [SEVERE] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at java.lang.reflect.Method.invoke(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at java.io.ObjectStreamClass.invokeReadObject(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at java.io.ObjectInputStream.readSerialData(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at java.io.ObjectInputStream.readObject0(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at java.io.ObjectInputStream.defaultReadFields(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at java.io.ObjectInputStream.readSerialData(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at java.io.ObjectInputStream.readObject0(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at java.io.ObjectInputStream.defaultReadFields(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at java.io.ObjectInputStream.readSerialData(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at java.io.ObjectInputStream.readObject0(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at java.io.ObjectInputStream.readObject(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at java.util.HashMap.readObject(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 2012-08-19 14:40:21 [SEVERE] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at java.lang.reflect.Method.invoke(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at java.io.ObjectStreamClass.invokeReadObject(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at java.io.ObjectInputStream.readSerialData(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at java.io.ObjectInputStream.readObject0(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at java.io.ObjectInputStream.readObject(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at me.coldandtired.mobs.Main.load_mobs(Main.java:515) 2012-08-19 14:40:21 [SEVERE] at me.coldandtired.mobs.Main.load_xml_config(Main.java:94) 2012-08-19 14:40:21 [SEVERE] at me.coldandtired.mobs.Main.onEnable(Main.java:483) 2012-08-19 14:40:21 [SEVERE] at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217) 2012-08-19 14:40:21 [SEVERE] at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:365) 2012-08-19 14:40:21 [SEVERE] at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:381) 2012-08-19 14:40:21 [SEVERE] at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:265) 2012-08-19 14:40:21 [SEVERE] at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:247) 2012-08-19 14:40:21 [SEVERE] at net.minecraft.server.MinecraftServer.i(MinecraftServer.java:296) 2012-08-19 14:40:21 [SEVERE] at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:275) 2012-08-19 14:40:21 [SEVERE] at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:225) 2012-08-19 14:40:21 [SEVERE] at net.minecraft.server.DedicatedServer.init(DedicatedServer.java:140) 2012-08-19 14:40:21 [SEVERE] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:378) 2012-08-19 14:40:21 [SEVERE] at net.minecraft.server.ThreadServerApplication.run(SourceFile:539) 2012-08-19 14:40:21 [SEVERE] Caused by: java.io.NotSerializableException: me.coldandtired.mobs.data.Exp 2012-08-19 14:40:21 [SEVERE] at java.io.ObjectOutputStream.writeObject0(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at java.io.ObjectOutputStream.writeObject(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at java.util.ArrayList.writeObject(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 2012-08-19 14:40:21 [SEVERE] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at java.lang.reflect.Method.invoke(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at java.io.ObjectOutputStream.writeSerialData(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at java.io.ObjectOutputStream.writeObject0(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at java.io.ObjectOutputStream.writeSerialData(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at java.io.ObjectOutputStream.writeObject0(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at java.io.ObjectOutputStream.writeSerialData(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at java.io.ObjectOutputStream.writeObject0(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at java.io.ObjectOutputStream.writeObject(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at java.util.HashMap.writeObject(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 2012-08-19 14:40:21 [SEVERE] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at java.lang.reflect.Method.invoke(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at java.io.ObjectOutputStream.writeSerialData(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at java.io.ObjectOutputStream.writeObject0(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at java.io.ObjectOutputStream.writeObject(Unknown Source) 2012-08-19 14:40:21 [SEVERE] at me.coldandtired.mobs.Main.save_mobs(Main.java:539) 2012-08-19 14:40:21 [SEVERE] at me.coldandtired.mobs.Main.onDisable(Main.java:252) 2012-08-19 14:40:21 [SEVERE] at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:219) 2012-08-19 14:40:21 [SEVERE] at org.bukkit.plugin.java.JavaPluginLoader.disablePlugin(JavaPluginLoader.java:391) 2012-08-19 14:40:21 [SEVERE] at org.bukkit.plugin.SimplePluginManager.disablePlugin(SimplePluginManager.java:400) 2012-08-19 14:40:21 [SEVERE] at org.bukkit.plugin.SimplePluginManager.disablePlugins(SimplePluginManager.java:393) 2012-08-19 14:40:21 [SEVERE] at org.bukkit.craftbukkit.CraftServer.disablePlugins(CraftServer.java:260) 2012-08-19 14:40:21 [SEVERE] at net.minecraft.server.MinecraftServer.stop(MinecraftServer.java:328) 2012-08-19 14:40:21 [SEVERE] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:437) 2012-08-19 14:40:21 [SEVERE] ... 1 more
Srartup error. Things seems to be working fine but the error sure is scary. I just installed it today and i'm using this latest bukkit RB
Any ideas? :D
-
View User Profile
-
Send Message
Posted Aug 19, 2012@TheCoryGuy The file is standard XML so can be opened in any text editor. Make sure you're opening data.mobs and not any other one.
-
View User Profile
-
Send Message
Posted Aug 19, 2012@coldandtired
I really can't copy/paste the configuration, as it is encoded and appears as a bunch of symbols and such when opening it in a text editor.
I also tried your suggestion and changing the spawn conditions to natural spawns only. It didn't seem to make any difference with the cows and chickens.
-
View User Profile
-
Send Message
Posted Aug 18, 2012@TheCoryGuy The first one is likely the load_behaviour. Click the cog next to the mob name and change it to something else.
The second one sounds like a Bukkit bug (as there's almost nothing in the plugin that differentiates between types of mob).
Can you paste your config somewhere please?
-
View User Profile
-
Send Message
Posted Aug 18, 2012First off, thank you for such an awesome plug-in! I'm having a bit of a problem with my mobs. All of the other custom configurations work except a few particular ones.
Cows and chickens that have their drops configured despawn when the server restarts.
Also, no custom configurations to zombies are applied.
Thoughts? :)
Bukkit 1.2.5, with Spout Client