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 Jan 27, 2012You need to add
spawns_type: allow
in your Config.
See this link:
http://dev.bukkit.org/server-mods/mobs/pages/tutorial/3-config-yml/
-
View User Profile
-
Send Message
Posted Jan 27, 2012@dexyh1234
perhaps its outside your chunk render? i mena you cant spawn a mob in a chunk that isnt loaded yet (just a possibility) ;)
-
View User Profile
-
Send Message
Posted Jan 27, 2012I hope this is the last time I bother you, but I don't rly get the spawns.yml. The spawn works and the mobs are spawning on the correct coördinates. I want to add conditions now though. Ex: I want the mobs to spawn when someone on the server is 50 blocks away. When I add mobs with this condition in spawns.yml, they aren't spawning anymore. I don't know what I should type to make them actually spawn with the conditions instead of filter them out.
-
View User Profile
-
Send Message
Posted Jan 27, 2012Hmm, the Hell biome isnt the Error, still got it without the Hellbiome.
Found the Error. It seems he cant check the SpawnConditions if the plugin tries to Spawn mobs in Unloaded Chunks.
After i set thr Spawner Around only 50 Blocks of the Spawn, i dont get the Errors, aswell as trying without Spawning Conditions.
-
View User Profile
-
Send Message
Posted Jan 26, 2012<<reply 511662="">>
Thanks, it's good to know that the mobs don't actually despawn. However, my spawns.yml file is completely empty, and mobs still aren't spawning. I should probably mention that I'm on the latest 1.1 RB (Which I don't know the build number of unfortunately).
EDIT: Actually never mind about the mobs not spawning thing, I think I've got it to work. However, my animals and slimes don't seem to be spawning.
config.yml:
spawn_interval: 15
spawns_type: allow
spawner.yml:
spawner_list:
spawn_event:
mobs_to_spawn:
names: [slime]
quantities: [1 to 20]
where_to_spawn:
spawn_event:
mobs_to_spawn:
names: [chicken, cow, pig, sheep]
quantities: [1 to 20]
where_to_spawn:
shortcut: animals
spawns.yml:
spawns_list:
conditions:
percent: 100
mob_standing_on: [grass]
world_types: [normal]
light_levels: [15]
names: [slime]
conditions:
percent: 100
mob_standing_on: [stone, dirt]
world_types: [normal]
light_levels: [0 to 15]
heights: [below 64]
The Markdown formatting messed it up a bit, but I think you get the idea.
-
View User Profile
-
Send Message
Posted Jan 26, 2012@dexyh1234 Because you're replacing the mobs_to_spawn key every time instead of creating a new one.
Add - spawn_event: before each one.
-
View User Profile
-
Send Message
Posted Jan 26, 2012Why is this config only spawning cows?
http://pastebin.com/xDD2tdB8
-
View User Profile
-
Send Message
Posted Jan 26, 2012@coldandtired
OMG THANK YOU
also i would maybe have a separate file with a bunch of different ways to use the plugin. like make a custom zombie apocalypse, my spawn it all config, and some others i have seen.
i know this is alot of work, but custom creating yamls is extremely tough (and im not the dullest)
BY THE WAY THANK YOU AGAIN
-
View User Profile
-
Send Message
Posted Jan 26, 2012@Hoot215 The mobs being blocked from spawning must be down to the spawns file. Post it and I'll have a look.
Purge_interval has no connection to despawning, it simply clears the IDs of unique mobs from a list but doesn't affect the mobs themselves.
All mobs despawn exactly as they would without the plugin installed.
There's a much, much better version coming out soon (probably Saturday night) which has a lot cleaner code and should simplify the configs a bit.
-
View User Profile
-
Send Message
Posted Jan 26, 2012After doing some testing, it appears that all naturally spawning mobs are now completely blocked from spawning. What can I do to fix this? Also, do the custom mobs despawn? If they do, can't I just set the purge_interval to 0 to avoid them getting cleared every hour (Even if players are near they would despawn, correct?. Which would be very odd, and also since they would despawn if the players are NOT near)? Additionally, my custom mobs don't seem to be spawning at all either.
Also as a side note, I'd like to point out that since animals don't spawn naturally anymore, it might not be the best idea to have them (The custom ones, at least) get cleared every hour, because what if someone made an animal farm, lured (custom) animals into it, and suddenly they all despawned?
-
View User Profile
-
Send Message
Posted Jan 26, 2012@LanToaster It's because the hell biome is only for 1.1+, and the plugin hasn't updated to that yet.
-
View User Profile
-
Send Message
Posted Jan 26, 2012I still get this Error:
18:50:16 [SEVERE] Could not pass event CREATURE_SPAWN to Mobs
java.lang.NullPointerException
at me.coldandtired.mobs.Conditional.matches_all_conditions(Conditional.java:222)
at me.coldandtired.mobs.Listener.should_block_spawn(Listener.java:117)
at me.coldandtired.mobs.Listener.onCreatureSpawn(Listener.java:465)
at org.bukkit.plugin.java.JavaPluginLoader$72.execute(JavaPluginLoader.java:767)
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:339)
at org.bukkit.craftbukkit.event.CraftEventFactory.callCreatureSpawnEvent(CraftEventFactory.java:259)
at net.minecraft.server.World.addEntity(World.java:883)
at org.bukkit.craftbukkit.CraftWorld.spawn(CraftWorld.java:820)
at org.bukkit.craftbukkit.CraftWorld.spawn(CraftWorld.java:655)
at org.bukkit.craftbukkit.CraftWorld.spawnCreature(CraftWorld.java:323)
at me.coldandtired.mobs.Mob_spawner.spawn_mobs(Mob_spawner.java:70)
at me.coldandtired.mobs.Mob_spawner.run(Mob_spawner.java:81)
at org.bukkit.craftbukkit.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:137)
at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:493)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:425)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:457)
with this Spawns.yml
spawns_list:
- names: [pig, sheep]
conditions:
- percent: 95
mob_standing_on: [red_wool, grass]
- names: [blaze, ghast]
conditions:
- percent: 95
mob_standing_on: [sand, netherrack]
biomes: [hell, desert]
player_within: {x: 50, y: 50, z: 50}
raining: no
-
View User Profile
-
Send Message
Posted Jan 26, 2012@coldandtired
well the author of the system i use is doubting he can do it, so if u find a way perhaps ill let him know, and see if wants to see what you've done (asusming your open to telling :P), otherwise this plugin is my only option ;)
-
View User Profile
-
Send Message
Posted Jan 26, 2012@cvxx7q It's definitely not possible at the moment (you can block silverfish completely but not control behaviour).
The new version does things differently, so it might be possible if I can find out where that behaviour is stored.
-
View User Profile
-
Send Message
Posted Jan 26, 2012@GarretSidzaka The range is to the cuboid what the radius is to a sphere. So, the base is the centre of the cuboid (in all directions), and the range is the distance from the centre to the edge.
If the base,x is 0, and the range.x is 100, this means the x length is 200 blocks, from -100x to + 100x. The same goes for y and z.
As for your config, the spawner would look like this:
The reason I always use y: 120 is to force the mobs to spawn above ground. Change it to 60 and the range.y to 50 if you want underground mobs as well. You'll have to change the other details to fit your conditions.
Spawns would be something like this:
And the deaths file like this:
The next major has a much friendlier (I hope) config. Unfortunately it still has to be relatively complicated but I think it's much more obvious how to set it up.
-
View User Profile
-
Send Message
Posted Jan 26, 2012this looks great, but i have an issue with another plugin i hope this one can fix it, silverfish bypass my protection system and when they spawn they destroy ID 97 (a very common used block) and so im wondering if i can let the silverfish spawn without smashing my blocks ;)
-
View User Profile
-
Send Message
Posted Jan 26, 2012@coldandtired
i didnt know which way to set the range. its kinda confusing how to do it. the base and range explanations really didnt clarify it either. sorry for the Heroes insult but its kinda true.
on the other hand this might be one of the most important and useful plugins on my server.
maybe you can help me with my config. i want the config to spawn basically all mobs, in all places all worlds, my worlds would be covered by 5000 blocks in every direction. so that means mushroomcows and magma cubes and giants and ghasts ect roaming around. also i want the giants and ghasts to only spawn 65 blocks or higher. also i want the giants to drop an ironingot and a diamond.
btw: dont think me lazy, i have on multiple times, read every single comment in this bukkit dev thread. i have also read every single page of your tutorials and configs and whatnot.
then you updated and now im utterly and permanently lost
-
View User Profile
-
Send Message
Posted Jan 25, 2012Thx cold!
and thanks for making this, I really hope you don't follow in the steps of alot of developers and abandon the project. I am really on the edge on the chair waiting for your release which includes damage/health because the other plugins just don't have the eloquence of your coding. They are usually clunky and don't function properly. Even though it took me awhile to learn this coding (And I still don't have it all figured out, in the least bit - maybe I can get your hard copy key of all four files lolz) this is still by far the one I keep coming back to and un-installing any competition you have. When I get some cash I will definetly be throwing as much as I can afford to your donation bin - you really do derseve it, this is hard to write. You have to know minecraft mechanics and then all the bukkit classes and how they work. I doubt I would ever figure someting like out on my own and alone have it build correctly. I hope you get the new version out soon, its like looking at a poster girl all day haha.
-
View User Profile
-
Send Message
Posted Jan 25, 2012@tappestry The spawn_interval is in seconds, so that config means that every 30 seconds the plugin will try and spawn everything in the spawner.yml config.
The spawns.yml can be used to block some (or most) of these mobs spawning. If you set spawns_type to allow it will do the opposite, and block all spawns unless it finds a condition group that returns true.
-
View User Profile
-
Send Message
Posted Jan 25, 2012I'll give it a go thanks buddy!
and I can just put this in the config
spawn_interval: 30
spawns_type: allow
will allow them to spawn 1 every 30 mins I'm assuming