BloodMoon
Description
This plugin will add a blood moon event to your server, each night has a configurable chance of a blood moon. During a blood mood the game is made a lot harder:
- Skeletons shoot faster.
- Skeletons shoot fire arrows (that start fires).
- Zombies spawn with weapons and armor.
- Mobs can break blocks when focused on a player.
- Hostile mobs have more health.
- Small chance of your sword taking massive damage with each strike.
- Creepers have much more powerful explosions (that cause fire).
- Any hostile mob killed has a small chance of coming back as a zombie (or other mob).
- A mob will spawn if you try to sleep.
- More mobs will spawn.
- Mobs will drop more XP when killed.
- Mobs will drop more items when killed
- Mobs will target players from further away
- Mobs will move faster
- Custom texture pack during a bloodmoon, the default one makes the moon red.
All of the features can be configured for each world. See the config section for more information.
Bug Reports / Suggestions
If you find a bug, encounter a problem or have a suggestion, please fill out a ticket via the Tickets link above. I do not have the time to read through the comments section, any comment that fits the previous three categories will be ignored.
Commands
- /bloodmoon start - Starts a bloodmoon event.
- /bloodmoon stop - Stops a current bloodmoon event.
- /bloodmoon next - Schedules a bloodmoon for the next night.
Permissions
- bloodmoon.admin.start - Allows the player to manually start a bloodmoon
- bloodmoon.admin.stop - Allows the player to manually stop a bloodmoon
- bloodmoon.admin.ignore-world-lock - Allows the player to leave the world even if the bloodmoon is active and the lock-in-world feature is enabled
All of these default to OPs only.
Config
Information relating to the config file for this plugin can be found on the config page.
Potential Conflicts
Due to limitations of the Bukkit API, this plugin has to override certain methods from the Minecraft source. If any other plugin replaces the same things it will not be compatible with BloodMoon and weird stuff may happen ! You would still be able to use both plugins but you would need to disable the break-blocks option in the config file, even them some features of either plugin may not work properly.
Contributing
Contributions to the project are very much welcome, if you have a feature that you want implemented and know a nice way to do it then consider forking the repo and submitting a pull request. These will be accepted as long as the following simple guidelines are followed.
- Do not edit the structure of the pom.xml file, feel free to add a dependency if you need it but the formatting and structure should not be changed.
- If you are exposing a new API method, add a JavaDoc comment to it, but don't over-comment internal code.
- Follow the existing code style, don't antagonise over every space though !
All dependencies that are used are now available from a public Maven repo, so you don't have to worry about building several other projects just to add a simple change any more.
Source Code
Dev Builds
Changes Since Last Release
Download
Development builds of this project can be acquired at the provided continuous integration server. These builds have not been approved by the BukkitDev staff. Use them at your own risk.
http://bukkit.jacekk.co.uk:8000/job/BloodMoon/
Does this announce a BloodMoon night? Also just a suggestion, could you turn the moon red during this night?
I have the same problem as Joskin. My world is called survival and I get the error "blood moon is not enabled for this world".
Here is my config setting:
affected-worlds: [survival]
Help please.
Update: The world name is case-sensitive. Just in case someone else has this problem.
So could you integrate with spout and make the moon change to a glowing dark red on these nights? that would be so awesome.
@Lightwave8
Wow, I'm such a pro :s Will fix that in a later version.
Nitpicker:
You misspelled "ignite" in your config.
Normal:
Looks like a great plugin, man. I think I'll have some fun with it.
@Joskin
Try somethin like: affected-worlds: [world, SKY2]
Hello, My world is called world, but i cant lauch bloodmoon, here is the error :
blood moon is not enabled for this world !
My config :
affected-worlds: - world
Any idea to fix this ?
@Sejsel
Well, I tried to file a ticket. Listing it as a enhancement, and it was declined. Gave him a recolored texture and everything.
@Sejsel
Please file a ticket.
@telephonekiosk
Please file a ticket.
We need Spout Red Moon!
I get this error when someone sleeps during bloodmoon.
2011-10-17 01:59:31 [SEVERE] Could not pass event PLAYER_BED_ENTER to BloodMoon java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 at java.util.ArrayList.RangeCheck(Unknown Source) at java.util.ArrayList.get(Unknown Source) at uk.co.jacekk.bukkit.BloodMoonConfig.getRandomStringFromList(BloodMoonConfig.java:126) at uk.co.jacekk.bukkit.BloodMoonPlayerListener.onPlayerBedEnter(BloodMoonPlayerListener.java:75) at org.bukkit.plugin.java.JavaPluginLoader$25.execute(JavaPluginLoader.java:428) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:339) at net.minecraft.server.EntityHuman.a(EntityHuman.java:806) at net.minecraft.server.EntityPlayer.a(EntityPlayer.java:360) at net.minecraft.server.BlockBed.interact(SourceFile:93) at net.minecraft.server.ItemInWorldManager.interact(ItemInWorldManager.java:274) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:592) at net.minecraft.server.Packet15Place.a(SourceFile:57) at net.minecraft.server.NetworkManager.b(NetworkManager.java:226) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:92) at net.minecraft.server.NetworkListenThread.a(SourceFile:108) at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:471) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:374) at net.minecraft.server.ThreadServerApplication.run(SourceFile:417
Looked at your spider additions part, just a thought, if a spider is chasing a player, he has a random chance of being "caught" in a spawned spider web block or set of blocks. But only if there is a sight of view.
@RossGosling
Yes.
Is there a message when the blood moon starts?
Alright, this is going to my plugins folder!!!! I could NEVER find something like this, like the abandoned plan of the Zombie Siege!!!! THANK YOU!
@AgustinSaldias
Should be fixed in the latest version.
We are having the same issue @Sageares is having. When blood moon is active, nothing will spawn outside, just spiders and creepers in caverns.
We're using the latest bukkit release and Java7.
If we spawn zombies and skeletons with /spawnmob blood moon works great! but they wont spawn on their own.
Also, this is one of the errors we got a few days ago:
java.lang.ClassCastException: org.bukkit.craftbukkit.entity.CraftArrow cannot be cast to org.bukkit.craftbukkit.entity.CraftLivingEntity at org.bukkit.craftbukkit.entity.CraftCreature.getTarget(CraftCreature.java:28) at org.bukkit.craftbukkit.entity.CraftCreature.getTarget(CraftCreature.java:9) at uk.co.jacekk.bukkit.BloodMoonZombieMoveEvent.getTarget(190.183.221.114BloodMoonZombieMoveEvent.java:31) at uk.co.jacekk.bukkit.BloodMoonCustomEventListener.onBloodMoonZombieMoveEvent(BloodMoonCustomEventListener.java:26) at uk.co.jacekk.bukkit.BloodMoonCustomEventListener.onCustomEvent(BloodMoonCustomEventListener.java:45) at org.bukkit.plugin.java.JavaPluginLoader$88.execute(JavaPluginLoader.java:862) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338) at uk.co.jacekk.bukkit.BloodMoonEntityZombie.m_(BloodMoonEntityZombie.java:20) at net.minecraft.server.World.entityJoinedWorld(World.java:1212) at net.minecraft.server.WorldServer.entityJoinedWorld(WorldServer.java:48) at net.minecraft.server.World.playerJoinedWorld(World.java:1194) at net.minecraft.server.World.cleanUp(World.java:1110) at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:449) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:363) at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
This was when we spawned mobs and used bloodmoon. But still, the plugin works if we spawn the mobs ourselves.
Seeing as this was copied from Terraria, can you make Zombies able to open doors too?
Is a configurable frequency/odds of blood moon planned?