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!
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.can
reloadconfig 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 check
fornewer_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!
@shaythegoon
It works without the conditions, but if i put if_name="Lvl 1 Zombie" it stops again...
@coldandtired
Oh, okay i'll try that (i'm no good at reading Java Errors, they are different to Python and Lua errors)
@shaythegoon The error means you have sub="items" somewhere in the dies file instead if sub="item".
@coldandtired
This is what came through the console:
2013-11-02 18:41:16 [SEVERE] Could not pass event EntityDeathEvent to Mobs v1.6.4 b3 org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:427) 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.v1_6_R3.event.CraftEventFactory.callEntityDeathEvent(CraftEventFactory.java:327) at net.minecraft.server.v1_6_R3.EntityInsentient.dropDeathLoot(EntityInsentient.java:202) at net.minecraft.server.v1_6_R3.EntityLiving.die(EntityLiving.java:758) at net.minecraft.server.v1_6_R3.EntityLiving.damageEntity(EntityLiving.java:710) at net.minecraft.server.v1_6_R3.EntityMonster.damageEntity(EntityMonster.java:39) at net.minecraft.server.v1_6_R3.EntityZombie.damageEntity(EntityZombie.java:127) at net.minecraft.server.v1_6_R3.EntityHuman.attack(EntityHuman.java:884) at net.minecraft.server.v1_6_R3.PlayerConnection.a(PlayerConnection.java:1130) at net.minecraft.server.v1_6_R3.Packet7UseEntity.handle(SourceFile:36) at net.minecraft.server.v1_6_R3.NetworkManager.b(NetworkManager.java:296) at net.minecraft.server.v1_6_R3.PlayerConnection.e(PlayerConnection.java:116) at net.minecraft.server.v1_6_R3.ServerConnection.b(SourceFile:37) at net.minecraft.server.v1_6_R3.DedicatedServerConnection.b(SourceFile:30) at net.minecraft.server.v1_6_R3.MinecraftServer.t(MinecraftServer.java:592) at net.minecraft.server.v1_6_R3.DedicatedServer.t(DedicatedServer.java:227) at net.minecraft.server.v1_6_R3.MinecraftServer.s(MinecraftServer.java:488) at net.minecraft.server.v1_6_R3.MinecraftServer.run(MinecraftServer.java:421) at net.minecraft.server.v1_6_R3.ThreadServerApplication.run(SourceFile:583) Caused by: java.lang.IllegalArgumentException: No enum constant eu.sylian.mobs.Enums.SubactionType.ITEMS at java.lang.Enum.valueOf(Unknown Source) at eu.sylian.mobs.Enums$SubactionType.valueOf(Enums.java:122) at eu.sylian.mobs.MobsEvent.getSubaction(MobsEvent.java:2428) at eu.sylian.mobs.MobsEvent.giveSomething(MobsEvent.java:545) at eu.sylian.mobs.MobsEvent.performActions(MobsEvent.java:224) at eu.sylian.mobs.BukkitListener.dies(BukkitListener.java:243) at sun.reflect.GeneratedMethodAccessor103.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:425) ... 21 more
@shaythegoon I meant, can you be sure that you are setting the mob name the same way as in the condition? Does it work as expected without that condition?
@shaythegoon
It doesn't have anything to do with me disabling default drops does it?
(After running some test found that default drops isn't causing the problems Dx)
@coldandtired
Yeh, i copy and pasted it... its still not working...
@shaythegoon It's working fine for me. Are you sure that the name matches?
Sorry for lengthy reply time;
Still not working with "custom_drops" or "items"
@shaythegoon It should be custom_drops (with an 's'). Can you try that and see if it works?
I still can't get the mobs to give me Iron Ingots...
<event> <action> <entry if_name="Lvl-1-Zombie" action="give" sub="custom_drop" item="265" amount="0 to 1"/> </action> </event>
Like before, I have this in my dies.txt, however I'm still getting no Iron when I kill one of these Zombies....
@Riverblank I think so. I've been mixing 1.6.4 and 1.6.2 plugins/CraftBukkit on my local machine for a few days and haven't noticed anything odd.
1.6.4 version backwards compatible with 1.6.2?
@shaythegoon Should be fixed in b3 - Staff edit: removed link to deleted file.
@shaythegoon After doing some research it turns out you were right the first time and it should be if_name and not if_mob_name. I have confirmed they disappear and am looking into it now.
Sorry, i seem to be giving your code just more problems... I guess its better to get it fixed though... :D
<event> <action> <entry if_mob_name="Lvl-1-Zombie" target="killer" action="give" sub="item" item="265" amount="0 to 1"/> </action> </event>
I use this in the dies.txt file to give iron bars when a zombie is killed (Iron is our servers economy). However when killing the specific mob i get "GHOST" bars, that when i try to stack them, just disappear...
Thanks
Its not a problem, thanks for helping out C:
I'm not receiving the error anymore however, this isn't working in the dies.txt:
<event> <action> <entry if_name="Lvl. 1 Zombie" target="killer" action="give" sub="item" item="iron_ingot" amount="0 to 1"/> <entry if_name="Lvl. 2 Zombie" target="killer" action="give" sub="item" item="iron_ingot" amount="0 to 2"/> </action> </event>
sorry to be a burden...
Shaythegoon
(I know how you feel about Windows 8, I'm running it on my laptop ATM. Haven't decided to update to 8.1. But I feel for you...)
Oh, they seem to be done already. At the moment the two files can be downloaded from the tutorial website's main page. I have to change something before they can be accepted by BukkitDev which I'll do tomorrow.
They are also Java 7 now (previous versions were 6). If this is a huge problem for anyone let me know and I'll make it compatible with 6.
@shaythegoon I've found the problem and am fixing it now. Unfortunately, I have just clean installed Windows 8.1 so my PC is not quite in a useable state yet :(
Should be all done tomorrow though.
@shaythegoon
It appears i got the same error as RVG. It might be an error with Extra Events, I have this, and extra events updated to 1.6.4's version of craftbukkit. Hopefully this could be fixed soon. This plugin is going to be great for my server...
Shaythegoon