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 Nov 6, 2012@crowbars82 Your conditions are still inside the action. Have a look at the structure I posted earlier. Basically, the whole outcome gets chosen based on its conditions.
-
View User Profile
-
Send Message
Posted Nov 6, 2012@coldandtired
Ah very cool! I shall be watching this space intently :D
Okay! Our config is finally working 95% now! I didn't realise you can use 'natural' as a spawn_reason, that worked and the 'zombie:custom's spawn in within the defined parameters! However they still keep spawning and spawning, even though I've put 'below 5' in the world_mob_count condition.
I think I have some unnecessary '<world>world</world>'s in there too... what do you think it could be? http://pastebin.com/P67jb9ax
-
View User Profile
-
Send Message
Posted Nov 6, 2012@crowbars82
Early days, though.
-
View User Profile
-
Send Message
Posted Nov 6, 2012@coldandtired
(Oh, there is the reply button! I can't believe I've not used it until now)
Ah I see... I think! Heh, I do like getting my head around new things. If I may ask though, will there be a reappearance of the Mobs Config Editor as that was excellent. I'm happy to keep learning and trying with XML until the cows come, but I will say that the editor was very cool indeed.
-
View User Profile
-
Send Message
Posted Nov 6, 2012@Cultist_O There's no checking for valid locations as it takes up quite a lot of resources (to do properly). Mobs spawned inside a block will use the next highest air block though.
Easiest is to put an area in the config (or use WorldGuard) and set up the timer to spawn things in that area.
Alternatively, it's possible to use any plugin to spawn mobs somewhere and then just use Mobs to customize them.
-
View User Profile
-
Send Message
Posted Nov 6, 2012@crowbars82 The error is because you don't specify a world in the condition.
It seems to be tripping a lot of people up, but what happens is when a normal event happens, Bukkit tells Mobs where it happens. I.e. which world, which block, which player, etc.
So when you want to react to an event, it's possible to override the world but if not Mobs already knows where to look.
With repeating outcomes, however, Mobs isn't receiving any information, and is just doing stuff every x seconds. With some actions (log, for example) a world isn't needed so there won't be an error. World is needed for both conditions and actions because it's possible to check something in one world and perform actions in another. One of the things on the list is to add world (and all targets) to the outcome so if desired it only needs to be set once.
For your config, you would do this
The rest of your config is fine except for the world thing missing from the condition.
-
View User Profile
-
Send Message
Posted Nov 6, 2012@coldandtired
Thanks for the reply. Hmm. I moved the conditions element outside of the actions element but now when the timer reaches 5 seconds the server logs an error again: http://pastebin.com/QemKsGvh (error at bottom of pastebin)
Can you advise how I should write a config.txt to:
-
View User Profile
-
Send Message
Posted Nov 6, 2012@coldandtired
Cool, what event do I hook into then? I didn't see any about minecraft checking if the space is suitable for spawning, I only saw one for when the game actually spawns something.
-
View User Profile
-
Send Message
Posted Nov 6, 2012@crowbars82 The conditions element needs to be outside of the actions element (so actions and conditions are both children of outcome)
The way to do your other thing is to give the mob a name when you spawn it (<mob>zombie:my_name</mob>) and then use a not_name condition to block other mobs. Alternatively use a spawn_reason condition and block natural spawns.
-
View User Profile
-
Send Message
Posted Nov 6, 2012@Cultist_O You can do both. Block any type of mob you want, and let through only specific mobs, or use a timer and force mobs to spawn at a specific time and place.
The next version will have biome support in it, but for now you can define an area and fill it.
-
View User Profile
-
Send Message
Posted Nov 5, 2012It seems to me that you should be able to essentially create artificial spawn regions for mobs, (that is slime chunks, nether fortresses, and witch huts where there were none before.) Now I realize that I could hook into the spawning of other mobs in an area, and replace them with slimes, but that would not allow them to spawn in the light, and such things.
What I am wondering is, can I, or will I be able to, hook into the spawn attempt, and chose which mob(s) it attempts to spawn (in this case overriding its inability to spawn in the given chunk)
I guess one could also essentially build an identical system to the default spawning algorithms with a timer, but that would be a lot of work.
If anyone has built an artificial slime chunk could I get your config? (I imagine witch and wither skeletons aren't going to work until the plugin is updated to 1.4)
-
View User Profile
-
Send Message
Posted Nov 5, 2012Thanks Coldandtired, that did indeed make the slimes spawn around me. I have a lot to learn without a Mobs config generator.
I did however re-find your old one at http://dev.bukkit.org/server-mods/mobs/pages/old-mobs/ and created a config and opened the dat file and goodness me. Chunk. But... even though it is outdated, it was interesting to see how it all works.
I understand you are still updating your tutorials pages, (thanks for doing so as we're lost without them) will you at some point have examples on how to use things like the world/chunk_mob_count condition or even the set_block action (this sounds interesting!) Thanks again, I shall go press some keys and see what I can come up with!
EDIT: Ok, I've had a play and have come up with this so far... http://pastebin.com/Z9eY7fNz I tried the same with slime:timer and they arrived every 5 seconds, but kept coming so I know that I've written the world_mob_count incorrectly.
And as I'm preventing generic zombies from spawning at the top of the config, I'm unsure how to create a 'zombie:custom' without him being removed with the others.
-
View User Profile
-
Send Message
Posted Nov 5, 2012@crowbars82 It might be because you don't specify a world in the repeating_outcome. Try adding <world>world_name</world> inside the spawn_mob action.
-
View User Profile
-
Send Message
Posted Nov 5, 2012Ahoy fellow Crafters and thanks to Confuz3d for the naming tip there!
Ok, I've got the first part of my plan to work. Everything from lines 1 - 28 of this pastebin works very well. http://pastebin.com/Cr9BnUQv Mobs detects the spawning of the 5 different mobs and stops them from spawning. I previously told Mobs to spawn a slime around me when this happens, which was mental as within seconds I was surrounded by slimes and slimeballs until everything lagged out and crashed.
Which was hilarious at the time.
Lines 28 - 47 however works only so far... The repeating_outcomes "testtimer" works fine, every 10 seconds the message broadcasts and loops again and again, but the spawn_mob action fails to work. I don't know if it's my bad understanding of XML at this stage or if it just doesn't work. I even downgraded to Minecraft 1.3.2 both client and Craftbukkit but still no avail. Do you have this issue still Xikage?
-
View User Profile
-
Send Message
Posted Nov 5, 2012@confuz3d
I'll give that a try, thanks! I guess the syntax changed again and I missed it!
-
View User Profile
-
Send Message
Posted Nov 5, 2012I was just passing by and wanted to say:
Dude! Been fooling around with this for 2 days now. I gotta say, great job, the most useful/logical/well coded plugin i've seen.
EDIT: Is it just me or set_attack_power does not work if you have heroes? (also would be cool if drop_exp give heroes exp like the old version did)
@Xikage
the "name" value in your outcome shouldn't be here, that's why your name condition isn't working.
To properly set mob's name I use the set_name action on spawn.
Example:
My name condition would look like:
Explanation
1- The plugin catch the zombie spawn event and set its name to "Undead"
2- Another outcome waits for zombie called Undead
3- Put whatever actions you want on the second out come! ("cancel_event" or "remove" both works to block spawning)
I'm not at home right now so i haven't test this config but it should work, correct me if i'm wrong.
-
View User Profile
-
Send Message
Posted Nov 5, 2012@nhoclesnar No, they were an early version which didn't work out. The new (real) version is much more Metro-y and should be simpler.
-
View User Profile
-
Send Message
Posted Nov 4, 2012I've ran into an issue and I think i might be doing something wrong. I'm trying to prevent certain types of zombies from spawning during the day (they should only spawn at night in dark corners), but I think I am doing the name condition wrong.
Here's my config: http://pastebin.com/YhMTf2k6
If I remove the <name>NN_Zombie</name> condition, it blocks all zombies from spawning during the day as expected. But adding the condition allows all zombies to spawn, even ones named NN_Zombie which is what i'm trying to prevent.
-
View User Profile
-
Send Message
Posted Nov 4, 2012Hello!
It's been a while since I played with Mobs. I've been reading through your tutorials which are easy to read and they do make sense. I hope to see the actions page updated soon as this is indeed fun to play with.
I am very much looking forward to the return of your Silverlight Config program. It was absolutely useful. Without it I do feel lost, as I'm not entirely sure what I'm doing anymore.
None the less this is the most powerful plugin I've seen for controlling Mobs and look forward to the return of your awesome Silverlight app!
EDIT: I've attempted to understand how to write the config.txt and I've come up with this mess: http://pastebin.com/LGgUw5bW Basically I tried to make a simple test... when player is near a particular mob, remove said mob and broadcast "particular mob removed!"
I remember using the old Silverlight editor which you can prevent all natural mobs from spawning, and then you can set up your own custom mobs to spawn, ideally within 16-32 blocks around the player on the Y axis only. Can this still be done?
EDIT2: I see where I went wrong now with that pastebin after hours of playing about. I'm now having similar issues as Xikage with attempting to create a zombie:custom. Is this also still achievable, and should a different syntax be used for a custom mob spawn?
-
View User Profile
-
Send Message
Posted Nov 4, 2012I saw some images in the Images section. Is that how the new config generator software gonna look like? :D