Mobs

logo

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

check_for_newer_version - 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.
generate_templates - 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.
worlds_to_ignore - 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_reload_config 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_for_newer_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!

alt text

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!

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of TheBowman42 TheBowman42 Apr 13, 2014 at 01:51 UTC - 0 likes

    Howdy. Long time no type. I broke it again. After many hours of troubleshooting and searching my massive knowledge of minecraft and plugins, I have determined that it appears to be some type of error.

    [18:37:08] [Server thread/ERROR]: Could not pass event CreatureSpawnEvent to Mobs v1.7.2 b2
    org.bukkit.event.EventException
    	at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:320) ~[Bukkit_Beta.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    	at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[Bukkit_Beta.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    	at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:486) [Bukkit_Beta.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    	at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:471) [Bukkit_Beta.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    	at org.bukkit.craftbukkit.v1_7_R1.event.CraftEventFactory.callCreatureSpawnEvent(CraftEventFactory.java:244) [Bukkit_Beta.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    	at net.minecraft.server.v1_7_R1.World.addEntity(World.java:899) [Bukkit_Beta.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    	at net.minecraft.server.v1_7_R1.SpawnerCreature.spawnEntities(SpawnerCreature.java:161) [Bukkit_Beta.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    	at net.minecraft.server.v1_7_R1.WorldServer.doTick(WorldServer.java:187) [Bukkit_Beta.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    	at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:629) [Bukkit_Beta.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    	at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:250) [Bukkit_Beta.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    	at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:545) [Bukkit_Beta.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    	at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:457) [Bukkit_Beta.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    	at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) [Bukkit_Beta.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    Caused by: java.lang.NullPointerException
    	at eu.sylian.mobs.MobsEvent.getAction(MobsEvent.java:2099) ~[?:?]
    	at eu.sylian.mobs.MobsEvent.getActions(MobsEvent.java:2104) ~[?:?]
    	at eu.sylian.mobs.MobsEvent.performActions(MobsEvent.java:194) ~[?:?]
    	at eu.sylian.mobs.BukkitListener.spawns(BukkitListener.java:719) ~[?:?]
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_45]
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_45]
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_45]
    	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.7.0_45]
    	at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:318) ~[Bukkit_Beta.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    	... 12 more
    
  • Avatar of coldandtired coldandtired Apr 04, 2014 at 09:47 UTC - 0 likes

    @Gowdsta712: Go It's possible, you need to read the page here - http://mobs.sylian.eu/linked-elements/

    alt text

  • Avatar of coldandtired coldandtired Apr 04, 2014 at 09:47 UTC - 0 likes

    @spoonerds: Go Thanks, updated the link now.

  • Avatar of Gowdsta712 Gowdsta712 Apr 04, 2014 at 00:34 UTC - 0 likes

    can you put multiple actions on one event? If so, how?

  • Avatar of spoonerds spoonerds Mar 29, 2014 at 17:53 UTC - 0 likes

    @coldandtired: Go

    i clicked the event list link in http://mobs.sylian.eu/cause-2/cause-effect/ at the time.. thanks for the correct page though =)

  • Avatar of coldandtired coldandtired Mar 29, 2014 at 08:56 UTC - 0 likes

    @spoonerds: Go http://mobs.sylian.eu/effect-list/ seems to be working. Where did you try coming from?

    http://jd.bukkit.org/dev/apidocs/org/bukkit/Effect.html also has the same list.

    Last edited Mar 29, 2014 by coldandtired
  • Avatar of spoonerds spoonerds Mar 29, 2014 at 04:17 UTC - 0 likes

    so i was going to look at causing an effect to happen but the link to the effects list on the tut site returns a 404 error page not found. any suggestions of where else to get the list?

  • Avatar of Gowdsta712 Gowdsta712 Mar 25, 2014 at 00:43 UTC - 0 likes

    @coldandtired: Go

    Ok, I'm going to try that instead. Also, can you put multiple actions on one event? If so, how?

  • Avatar of coldandtired coldandtired Mar 23, 2014 at 20:50 UTC - 0 likes

    @Gowdsta712: Go From what I remember, the block attribute needs a block location rather than a type to work. Try changing it to something like

    <event action="spawn" sub="mob" mob="skeleton" mob_name="Enemy" amount="1" target="block" x="75" y="120" z="55"/>

  • Avatar of Gowdsta712 Gowdsta712 Mar 21, 2014 at 02:15 UTC - 0 likes

    Hey there, I am having some problems with getting this to work for me. On the server I am making, there are "gang" hideouts. And in these hideouts, skeletons will spawn and protect the chests with loot from you. So, using the "hour_change" event, I have put in the following code:

    <event action="spawn" sub="mob" mob="skeleton" mob_name="Enemy" amount="1" target="block" block="mob_spawner"/>

    Can you tell me what I have done wrong? I tried having "block=" renamed to "traget_name=", but that also didn't work.

Facts

Date created
Dec 20, 2011
Categories
Last update
Mar 08, 2014
Development stage
Release
Language
  • enUS
License
GNU General Public License version 3 (GPLv3)
Curse link
Mobs
Downloads
48,033
Recent files

Authors