spawns
Spawns is a plugin for Bukkit and Minecraft that allows you to fully customize the spawning behaviour of mobs on your server.
Features
- tweak the default Minecraft spawns or replace them completely
- set mobs to spawn under conditions they never normally would
- block certain mobs from ever spawning
- cause mobs to spawn with potion effects, equipment, saddles, etc.
- cause mobs to spawn in different variants, like powered creeper, wither skeleton, etc.
- mobs appear in the world in the same way as they do normally, so are compatible with all other plugins
Dive right in here to see how to make config files or keep reading for an overview of Minecraft spawning.
Default spawning
Minecraft spawning works like this:
Every spawn cycle (1 tick or 1/20 second by default for hostile mobs) the game makes a list of all the chunks around each player, up to a radius of seven chunks. Each chunk will only be counted once, even if that chunk is around several players.
Once this list is complete a mob limit is calculated. The limit is higher the more chunks are in the list. If the limit is lower than the current amount of a mob type in the world then the cycle will be cancelled.
If the limit is not yet reached a random block from each chunk in the list will be calculated and this chunk will be used as the centre point for a pack of mobs to spawn around. In order to continue, this block must be water for water mobs (only squid so far) and air for any other type of mob.
If this block is suitable then a maximum of 12 random blocks are chosen from up to 20 blocks away, but always at the same height as the centre block.
Lastly, The individual blocks are checked that they can physically fit the mob, so they need to be air, have air above and an opaque block below. The type of mob is chosen based upon the matching conditions (biome, height, floor block type, etc.) and the final mob is chosen randomly from all mobs that are eligible to spawn there. All other mobs in the pack will be the same type.
Permissions
spawns.can-reload-config, which allows the user to reload the config. Default is Op.
spawns.can-count-mobs, which allows the user to display a summary of mob amounts in a world. Default is Op.
Commands
/reload-spawns, or /rs, which reloads the config without having to reload the server. Any mobs already in the world will be unaffected by any changes in the config.
/count-mobs, or /cm, which displays a list of mob numbers in the world. Add a world name argument to specify a world (optional if run as a player) and / or a mob type argument to choose one type of mob to count.
Update checking
If you like, you can set the plugin to check for any newer versions that get released. To do this add an element to the config.xml file, like this:
<check-for-newer-version/>
When this element is present the plugin will report if it finds a newer version. This only works for release builds so you won't be bothered by any beta or dev builds. To disable this checking simply remove the element.
Note that no update will be downloaded even with this set.
Examples
I would love to get any example config/packs/mobs files you have created to add to the docs, so if you have one you're proud of send it in and I'll add it.
spawns took a lot of work, so if your server is enriched by it please consider sending some love my way!
<a href="https://www.paypal.com/cgi-bin/webscr?return=http://dev.bukkit.org/server-mods/mobs/&cn=Add special instructions to the addon author(s)&business=apodlesna@gmail.com&bn=PP-DonationsBF:btndonateCCLG.gif%3ANonHosted&cancelreturn=http%3A%2F%2Fdev.bukkit.org%2Fserver-mods%2Fmobs%2F&lc=US&itemname=spawns+%28from+Bukkit.org%29&cmd=donations&rm=1&noshipping=1¤cycode=USD"><img class="aligncenter" alt="donate" src="https://www.paypalobjects.com/enUS/i/btn/btndonateLG.gif" /></a>
If you're penniless or like spawns 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!
For other projects, links, help, etc. please visit the main website.
You can also follow sylian.eu on Twitter for updates.
-
View User Profile
-
Send Message
Posted Nov 14, 2013I've fixed this (I hope) in the newest build. There's a link on the tutorial website if needed.
-
View User Profile
-
Send Message
Posted Nov 14, 2013@SGrayMe This is indeed something I've overlooked. I'll fix that now. For a quick fix you can open the jar file as an archive and edit the plugin.yml file to look something like this:
-
View User Profile
-
Send Message
Posted Nov 14, 2013@Fuusko
Sometimes "spawns" loads before Multiverse and when this happens, it thinks only the default world is available and doesn't give the other worlds a chance to load before shutting down (at least if default is not interacted with).
Example:
Local test server http://dev.bukkit.org/paste/8867/
Remote live server http://dev.bukkit.org/paste/8866/
-
View User Profile
-
Send Message
Posted Nov 13, 2013@zachrywilsn Your config file is still commented out so the plugin isn't running. Make sure to check the console when plugins load as they tend to report when something has gone wrong.
-
View User Profile
-
Send Message
Posted Nov 13, 2013@zachrywilsn
You forgot the part where you say what you're trying to do. These just look like the default config/s with a few mobs removed from allowed-default-spawns. A little more info, please.
-
View User Profile
-
Send Message
Posted Nov 12, 2013@Schlutteh
ok heres the configs
PASTEBIN
-
View User Profile
-
Send Message
Posted Nov 9, 2013@zachrywilsn
The given configs are really more of an example than a default, they are just there to show you how to structure your own configs. But if you've already set a condition successfully, then you've already won half the battle.
Post links to your configs (and describe what you want to change) and I'm sure we can help refine them if you're still having trouble.
Huh, I never noticed there is no condition to set damage here, maybe you could ask C&T nicely if he will add it sometime in the future, but the easiest way around this is just to spawn zombies with swords. You could add a drop-percent 0 condition if you don't want them to drop the swords too.
And I don't blame ya, this plugin is pretty damn awesome.
-
View User Profile
-
Send Message
Posted Nov 7, 2013@Schlutteh
i have all packs it created i just edited the mobs pack. i want zombies to spawn on oddor even hours of day. like the light timer and i want the mobs to do more damage per hit. like a good zombie not a weak one. i got the <hp> to work. but like i said i get that error. i really wanna use this! like badly.
-
View User Profile
-
Send Message
Posted Nov 5, 2013@zachrywilsn
Looks like your config is all messed up, are you using the other files? (packs.xml and config.xml) They must be linked. Your zombie mob must be in a pack, and the pack must be in the config. Tell us what you're trying to do exactly and we'll figure it out.
"there health there".... you mean hitpoints? There is an example on the glossary page:
<hp>5</hp>
-
View User Profile
-
Send Message
Posted Nov 5, 2013I got the error to go away, changing the spawn attempts to a number higher than 1 did the trick... Also setting the success rate below 1 gives me the error. Not sure if this is a bug but the debug line goes when i change these things...
-
View User Profile
-
Send Message
Posted Nov 4, 2013still getting a error ill post at bottom. and how you set there health there is no expample
thats my zombie only thing i really changed in config <zombie> <id>mc-zombie</id> <pack-limit>1</pack-limit> <spawn-if> <y>above 4</y> <world-type>normal</world-type> <light>below 3, 4, 6, above 10, 12, 14</light> <biome>beach, desert, desert_hills, extreme_hills, forest, forest_hills, frozen_river, hell, ice_mountains, ice_plains, jungle, jungle_hills, plains, river, sky, small_mountains, swampland, taiga, taiga_hills</biome> <blocks-from-player>above 23</blocks-from-player> <blocks-from-spawn>above 23</blocks-from-spawn> <ground-is-solid/> </spawn-if> </zombie> </mobs>
here is my error
"Silently" catching entity tracking error. 2013-11-05 01:25:24 [SEVERE] net.minecraft.server.v1_6_R3.ReportedException: Adding entity to track 2013-11-05 01:25:24 [SEVERE] at net.minecraft.server.v1_6_R3.EntityTracker.addEntity(EntityTracker.java:118) 2013-11-05 01:25:24 [SEVERE] at net.minecraft.server.v1_6_R3.EntityTracker.track(EntityTracker.java:69) 2013-11-05 01:25:24 [SEVERE] at net.minecraft.server.v1_6_R3.WorldManager.a(WorldManager.java:18) 2013-11-05 01:25:24 [SEVERE] at net.minecraft.server.v1_6_R3.World.a(World.java:1025) 2013-11-05 01:25:24 [SEVERE] at net.minecraft.server.v1_6_R3.WorldServer.a(WorldServer.java:797) 2013-11-05 01:25:24 [SEVERE] at net.minecraft.server.v1_6_R3.World.addEntity(World.java:1018) 2013-11-05 01:25:24 [SEVERE] at eu.sylian.spawns.Mob$1.run(Mob.java:254) 2013-11-05 01:25:24 [SEVERE] at org.bukkit.craftbukkit.v1_6_R3.scheduler.CraftTask.run(CraftTask.java:67) 2013-11-05 01:25:24 [SEVERE] at org.bukkit.craftbukkit.v1_6_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:345) 2013-11-05 01:25:24 [SEVERE] at net.minecraft.server.v1_6_R3.MinecraftServer.t(MinecraftServer.java:530) 2013-11-05 01:25:24 [SEVERE] at net.minecraft.server.v1_6_R3.DedicatedServer.t(DedicatedServer.java:240) 2013-11-05 01:25:24 [SEVERE] at net.minecraft.server.v1_6_R3.MinecraftServer.s(MinecraftServer.java:493) 2013-11-05 01:25:24 [SEVERE] at net.minecraft.server.v1_6_R3.MinecraftServer.run(MinecraftServer.java:425) 2013-11-05 01:25:24 [SEVERE] at net.minecraft.server.v1_6_R3.ThreadServerApplication.run(SourceFile:583) 2013-11-05 01:25:24 [SEVERE] Caused by: java.lang.IllegalStateException: Entity is already tracked! 2013-11-05 01:25:24 [SEVERE] at net.minecraft.server.v1_6_R3.EntityTracker.addEntity(EntityTracker.java:98) 2013-11-05 01:25:24 [SEVERE] ... 13 more
-
View User Profile
-
Send Message
Posted Nov 4, 2013@Fuusko Replace the Spawns plugin with the version linked to on the main page of the tutorial site. When it runs it will add a couple of lines to the log, starting with [spawns-debug]. Paste all those lines here along with your packs and mobs file.
You can't skip the packs file. Just define a pack with one mob if that's all you want.
-
View User Profile
-
Send Message
Posted Nov 4, 2013@Schlutteh
Thank you for trying to help me. I am using multiverse, have typed the name exactly as it is into the config. Tried both on a vanilla world and another terraincontrol world. I got my server here in my house so I am 100% sure the folders are correct.
I have tried to get horses to spawn with <success-rate>100 but still no horsies. But as I said, that's not a big issue for me, I'm just glad I finally got squids and slimes since they are most important. We could fins slimes underground before I got the plugin to work but they were extremely rare.
EDIT: By the way, how do I type in the config to not use packs but only the mobs file?
-
View User Profile
-
Send Message
Posted Nov 3, 2013@Fuusko
Not sure of your exact server setup, with multiple worlds and all, so I would just suggest double-checking the simple things like spelling the world name (capitals may be important, not sure), and access the server via FTP to make sure the world folder is in the right location & working etc. I haven't messed with multiple worlds yet, even the nether, so I couldn't help much with that sorry.
I spawn horses with this:
<horse>
<id>horse</id>
<pack-limit>1</pack-limit>
<despawn/>
<spawn-if>
<biome>forest, plains</biome>
<ground>grass</ground>
<blocks-from-player>above 23</blocks-from-player>
<blocks-from-spawn>above 23</blocks-from-spawn>
<success-rate>10</success-rate>
</spawn-if>
</horse>
I noticed that your cycle-interval is reeeeeealy high! Maybe it's just me, but I find it a lot easier/predictable with an interval of 1, and just lower the success-rate of each mob, and/or the spawn-attempts of their packs.
-
View User Profile
-
Send Message
Posted Nov 3, 2013@coldandtired
Already tried that, but to be sure I tried it again and I still get:
'20:15:32 [warning] [spawns] The world called TESTER could not be found!'
-
View User Profile
-
Send Message
Posted Nov 3, 2013@Fuusko The config defines which worlds it is active in using the <world> element. In your config you have one world called Fudge which has the plugin active. To add another simply copy everything between <world> and </world> and paste if after so it looks like this
Change the settings as you want or leave them the same to replicate the config. The only thing that needs to be changed is the world's name.
As for horses, they will spawn whenever you set them to spawn, regardless of how and when the chunk was generated.
-
View User Profile
-
Send Message
Posted Nov 3, 2013@Schlutteh
Thank you for the reply, I managed to get a good spawnrate for squids, slimes and ocelotes. Still no horses though but from what I've heard horses only spawn in new chunks. I have used Wordborder to generate the whole world without the spawns plugin and therefor, no horses I assume. This is not a major issue for me right now since I can just spawn in some horses with eggs through Creative for people to breed.
Anyway.. I have found one other problem, right now I'm just using one world but I noticed this when I was going to extend the plugin to another world. It just said in console that wold was not found, tested on several worlds and I get the same message, right now I have no idea even how it can work on my standard world.
Tried to remove it from my standard world and add it to another one instead to see if the issue was that I can only use one world but again I got the 'world not found' error.
Here is my config, can you please tell me how I go about adding a second world with the same settings?
http://pastebin.com/25mDF7eC
-
View User Profile
-
Send Message
Posted Nov 3, 2013@coldandtired
it seems to be happening only when I do /rs...
anyhow...
Config
<config> <check-for-newer-version/> <world> <name>ServerWorld</name> <spawn-cycle> <cycle-interval>1</cycle-interval> <chunk-radius>8</chunk-radius> <unique-chunks-only/> <active-packs>lvl1zombies</active-packs> <start-cycle-if> <total-mobs>below 540</total-mobs> </start-cycle-if> </spawn-cycle> <chunk-generation> <active-packs>mc-chunk-pack</active-packs> <fill-chunk-if> <success-rate>10</success-rate> </fill-chunk-if> </chunk-generation> </world> </config>
Mobs
<mobs> <zombie> <id>lvl1zombie1</id> <pack-limit>4</pack-limit> <name>Lvl-1-Zombie</name> <hp>5</hp> <helmet>leather_helmet</helmet> <spawn-if> <light>0 to 15</light> <x>-600 to -580</x> <y>60 to 70</y> <z>1350 to 1330</z> </spawn-if> </zombie> </mobs>
Packs
<packs> <pack> <id>lvl1zombies</id> <spawn-attempts>1</spawn-attempts> <pack-limit>8</pack-limit> <pack-radius>10</pack-radius> <single-mob-pack/> <active-mobs>lvl1zombie1,lvl1zombie2</active-mobs> <use-if> <blocks-from-player>0 to 20</blocks-from-player> <block>air</block> <x>-600 to -580</x> <y>above 60</y> <z>1350 to 1330</z> </use-if> </pack> </packs>
Good luck, and have fun i guess xD
-
View User Profile
-
Send Message
Posted Nov 3, 2013@shaythegoon That could help. Can you narrow down the situation when it's happening? (e.g. player joining/leaving, night starting/ending, etc.)
-
View User Profile
-
Send Message
Posted Nov 3, 2013If i send you my files, see if you get the error?