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 Feb 13, 2012coldandtired: I just loaded up the new v1.9.8 b1. I'm having the same issue as a few versions back where persistent mobs were reverting to default drops on server start. New mobs drop per the config but existing ones are default.
-
View User Profile
-
Send Message
Posted Feb 13, 2012@coldandtired: ok, I will try it, thanks for your answer !
-
View User Profile
-
Send Message
Posted Feb 13, 2012@DoubleZ Are you using the latest version? I just tested a config with percent: [1 to 50] and it seemed about right.
I changed the way percent works in it.
Now, when any mob (that the config controls) spawns it's assigned a number from 1 to 100.
This means that you can plan what conditions will return true together and which will be mutually exclusive.
E.g. if you set a death_action with the same percent as another death_action, they will always both be true (depending on other conditions). Similarly, setting the second death_action to a different percent guarantees only one of them can be true (as long as they don't overlap).
Regarding your question, it would look like this (adjust to fit)
-
View User Profile
-
Send Message
Posted Feb 13, 2012@GarretSidzaka The next release (possibly tonight or tomorrow) has a lot of optimisations so hopefully it will improve things.
-
View User Profile
-
Send Message
Posted Feb 13, 2012hi, I have two problem about how to set drop chance.
first, if I want set 50% drop, I should set the condition "percent: [1 to 50]" right? but I found this didn't work, no matter I kill how many mobs. unless I set "percent: [1 to 100]" and then it works. what's wrong with my setting?
second, if I want to a mob will 50% drop nothing but a lot of exp, 50% drop item and a lot of exp, how to set to achieve this?
-
View User Profile
-
Send Message
Posted Feb 12, 2012there is no error. the server just halts
edit: we just had a hard drive crash now as well and i dont have the config its deleted
-
View User Profile
-
Send Message
Posted Feb 12, 2012@gummby8 I removed the slime size as I couldn't see a safe way of getting it to work.
Of course, the act of typing this has gave me an idea so I'll try and add it back soon.
Regarding Heroes, they don't like any other plugin to alter the entities in the game, so even if you set something with Mobs there's no guarantee Heroes won't ignore what you've set and change it again (unlike Mobs which is completely modular).
Mob exp is confirmed as being overridden.
-
View User Profile
-
Send Message
Posted Feb 12, 2012I can't seem to find the syntax to spawn giant slimes/magma_cubes, is it the only option random size?
And what is this about heroes support, what functions break if I have heroes installed?
-
View User Profile
-
Send Message
Posted Feb 12, 2012@firecombat4 Probably the plugin disabled itself. Read the console log to find out why.
-
View User Profile
-
Send Message
Posted Feb 11, 2012Is it suppose to tell you if it reloaded or not, cause when i run the rleoad command nothing happens, same as when i do the spawnmob command. Thanks
-
View User Profile
-
Send Message
Posted Feb 11, 2012@Sepulzera I'm currently working on mobs in an area, as it's not doing exactly what it should in some situations. Your suggestion is something I planned to add (player_within is already there as you've seen).
At the moment you can block the spawning if there are more than x sheep in the world, or more than x sheep in a specified area, but not if there are x sheep nearby.
As to vanilla mobs, the plugin doesn't interfere at all with any mobs unless they are in the config, and it only interferes with those sections that are included (e.g. if you only change mob exp it won't have any effect on mob drops or mob spawning or mob damage,etc.)
Any mobs spawned by the plugin will be vanilla unless the config is set up otherwise.
So it can be customized to do anything from completely changing all aspects of all mobs, to everything vanilla except that chickens give 1 more exp if killed on a Sunday.
-
View User Profile
-
Send Message
Posted Feb 11, 2012Ah seems I'm doing a logical mistake.
Actually I want the sheep to spawn, if in a certain range are less mobs than a value, in my example 10.
Means I would need the position of the sheep as base, checking the certain range of this position for more mobs of this kind.
That's why I was using range and count as conditions first.
But seems range doesn't use the position of the mob as base, so it throws an error?
Is there any possibility to do so?
And just that I understand it in the right way:
Your plugin won't alter any vanilla spawning behaviour, unless I set modify it on my own?
Means, hostile mobs will still spawn like they do in vanilla, even when sheeps are added etc?
-
View User Profile
-
Send Message
Posted Feb 11, 2012@Sepulzera Your config is still wrong. Look at the example in the tutorial or the example.yml generated when the plugin starts.
What do you want to sheep to do?
-
View User Profile
-
Send Message
Posted Feb 11, 2012@GarretSidzaka Can you edit that to format it properly, or post it on pastebin? Also, what is the error?
-
View User Profile
-
Send Message
Posted Feb 11, 2012Well, I don't really get it.
So I have to use something like this?
At least it doesn't throw any errors, but it doesn't spawn sheeps, either.
Is it possible to don't alter any vanilla spawn algorithms, but set an additional one, to spawn animals (friendly mobs) again?
Maybe someone could be so nice to send me an config-example to do so :)
-
View User Profile
-
Send Message
Posted Feb 11, 2012We're also using the newest version of Vault and EssentialsEco.
-
View User Profile
-
Send Message
Posted Feb 11, 2012coldandtired, t7seven7t is one of my most trusted admins. he posted those errors for me
here is my config
spawn_interval: 60 auto_spawn_min_player_count: 1 overrule: damaging: no burning: yes spawning: no targeting: no exploding: no enderman_moving_blocks: no creating_portal: no splitting: no regrowing_wool: no dying_wool: no shearing: no changing_block: no taming: no becoming_powered_creeper: no becoming_pig_zombie: no
blaze: general: auto_spawn: - spawn_event: where_to_spawn: - location: worlds: [MineSworn4, Skylands] quantities: [1 to 2] spawn_rules: spawn: yes unless: - condition_group: world_mob_count: [above 2000] death_rules:
cave_spider: general: auto_spawn: - spawn_event: where_to_spawn: - location: worlds: [MineSworn4, Skylands] quantities: [1 to 2] spawn_rules: spawn: yes unless: - condition_group: world_mob_count: [above 2000] death_rules:
chicken: general: auto_spawn: spawn_rules: death_rules:
cow: general: auto_spawn: spawn_rules: death_rules:
creeper: general: powered: random auto_spawn: spawn_rules: death_rules:
ender_dragon: general: create_portal: no destroy_blocks: no auto_spawn: - spawn_event: where_to_spawn: - location: worlds: [MineSworn4, Skylands] quantities: [1 to 2] spawn_rules: spawn: yes unless: - condition_group: heights: [above 65] world_mob_class_count: [above 10] death_rules: - action: replace_exp: yes will_give_exp: [200]
enderman: general: auto_spawn: spawn_rules: death_rules:
ghast: general: auto_spawn: - spawn_event: where_to_spawn: - location: worlds: [MineSworn4, Skylands] quantities: [1 to 2] spawn_rules: spawn: yes unless: - condition_group: heights: [above 65] world_mob_count: [above 2000] death_rules:
giant: general: auto_spawn: - spawn_event: where_to_spawn: - location: worlds: [MineSworn4, Skylands] quantities: [1 to 2] spawn_rules: spawn: yes unless: - condition_group: heights: [above 65] world_mob_count: [above 2000] death_rules:
magma_cube: general: auto_spawn: - spawn_event: where_to_spawn: - location: worlds: [MineSworn4, Skylands] quantities: [1 to 2] spawn_rules: spawn: yes unless: - condition_group: world_mob_count: [above 2000] death_rules:
mushroom_cow: general: auto_spawn: - spawn_event: where_to_spawn: - location: worlds: [MineSworn4, Skylands] quantities: [1 to 2] spawn_rules: death_rules:
pig: general: auto_spawn: spawn_rules: death_rules:
pig_zombie: general: angry: yes auto_spawn: - spawn_event: where_to_spawn: - location: worlds: [MineSworn4, Skylands] quantities: [1 to 2] spawn_rules: spawn: yes unless: - condition_group: world_mob_count: [above 2000] death_rules:
sheep: general: auto_spawn: spawn_rules: death_rules:
silverfish: general: auto_spawn: - spawn_event: where_to_spawn: - location: worlds: [MineSworn4, Skylands] quantities: [1 to 2] spawn_rules: spawn: yes unless: - condition_group: world_mob_count: [above 2000] death_rules:
skeleton: general: auto_spawn: spawn_rules: burn_rules: burn: no death_rules:
slime: general: auto_spawn: - spawn_event: where_to_spawn: - location: worlds: [MineSworn4, Skylands] quantities: [1 to 2] spawn_rules: spawn: yes unless: - condition_group: world_mob_count: [above 2000] death_rules:
snowman: general: safe: no auto_spawn: - spawn_event: where_to_spawn: - location: worlds: [MineSworn4, Skylands] quantities: [1 to 2] spawn_rules: spawn: yes unless: - condition_group: world_mob_count: [above 2000] death_rules:
spider: general: auto_spawn: spawn_rules: death_rules:
squid: general: auto_spawn: spawn_rules: death_rules:
villager: general: hp: [40] auto_spawn: - spawn_event: where_to_spawn: - location: worlds: [MineSworn4, Skylands] quantities: [1 to 2] spawn_rules: spawn: yes unless: - condition_group: world_mob_count: [above 2000] death_rules:
wolf: general: auto_spawn: spawn_rules: death_rules:
zombie: general: auto_spawn: spawn_rules: burn_rules: burn: no death_rules:
example_mob: general: hp: [100, 150 to 200] powered: random safe: yes auto_spawn: - spawn_event: where_to_spawn: - location: regions: [name_of_region1, name_of_region2] - location: worlds: [world1, world2] regions: [name_of_region1, name_of_region2] - location: base: {x: 0, y: 120, z: 0} range: {x: 2, y: 2, z: 2} general: hp: [500] quantities: [1 to 5, 10, 20 to 25] shortcut: 1 spawn_rules: spawn: yes unless: - condition_group: game_times: [above 12000] burn_rules: burn: no unless: - condition_group: raining: no death_rules: - action: replace_drops: yes replace_exp: yes will_drop: - item: names: [red_wool, green_wool] will_give_exp: [10, 30 to 50] will_give_money: [200, 300] if: - condition_group: percent: [above 75]
-
View User Profile
-
Send Message
Posted Feb 10, 2012@Sepulzera The location is wrong. You need to set up the range and base like in the tutorial or the example.
-
View User Profile
-
Send Message
Posted Feb 10, 2012Get an error using this simple spawn-conditions:
2012-02-10 23:47:56 [SEVERE] Could not pass event org.bukkit.event.entity.CreatureSpawnEvent to Mobs
org.bukkit.event.EventException
at org.bukkit.plugin.java.JavaPluginLoader$103.execute(JavaPluginLoader.java:1026)
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:57)
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:453)
at org.bukkit.craftbukkit.event.CraftEventFactory.callCreatureSpawnEvent(CraftEventFactory.java:286)
at net.minecraft.server.World.addEntity(World.java:888)
at net.minecraft.server.SpawnerCreature.spawnEntities(SpawnerCreature.java:154)
at net.minecraft.server.World.doTick(World.java:1726)
at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:524)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:435)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:465)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.bukkit.plugin.java.JavaPluginLoader$103.execute(JavaPluginLoader.java:1024)
... 9 more
Caused by: java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to java.util.ArrayList
at me.coldandtired.mobs.Condition_group.<init>(Condition_group.java:141)
at me.coldandtired.mobs.Mobs_listener.can_spawn(Mobs_listener.java:231)
at me.coldandtired.mobs.Mobs_listener.onCreatureSpawn(Mobs_listener.java:257)
... 13 more
Mobs v1.9.8 b1, CB 1.1-R3, no other plugins. No spoiler function, thx bukkit team.
What terrible mistake am i doing? :\
-
View User Profile
-
Send Message
Posted Feb 10, 2012@coldandtired
actually Heroes does a lot more than reset experience, Heroes completely overrides the builtin exp system. On top of that Heroes overrides mob health, mob damage, etc. You literally CAN NOT use any plugin that attempts to modify these settings, and this is intended.
If you only want mob-drop adjustment I suggest using ecoCreature or another plugin that only modifies these values.
If you want to adjust how much XP players get from monsters in Heroes you should be doing it.. In Heroes.