PvPTimer
PvPTimer
Don't get join-killed ever again!
This is my second public Bukkit plugin. Enjoy!
Are you tired of those player-killers who keep tracking down the new members on your server? Well, there is a solution! PvPTimer will protect players from PvP for a set amount of time, and during that time will be able to build and discover the server, without worrying about those pesky player-killers! :)
Plugin suggested by Highneon from the awesome KingsOfMinecraft forum. Thanks to him! :)
Download and other links
I am aware of the issues present. If PvPTimer 1.3 does not work for you, please downgrade to 1.2, this should fix your issues till I manage to issue a new build. Thanks everyone for being so patient!
Stable release: PvPTimer 1.3
Additional languages
Configuration help
Command help
Source code on GitHub
Bukkit Forums thread
Plugin statistics
Features
- New players get a cooldown of a configurable amount of time where they will be immune to PvP, but will not be able to hit anyone.
- Lots of other protections, too!
- Players can disable their protection at any time!
- Admin commands!
- Easy configuration!
- Multilanguage support! Customize messages to will!
- A lot more!
Planned features
- Prevent people from using McMMO special strikes. Not sure if this will be possible. Looking into it.
- Remove protections on hit (with warnings).
- Official documented API.
- Permissions to disable automatic protection (join, etc.)
- All accepted and started tickets, hopefully.
Submitting feature requests/bug reports
If you want to submit a feature request or a bug report:
- When posting feature requests, make sure the request has not been posted by another user. Check the ticket tracker before doing anything!
- If you would like to report a bug, please be as clear as possible: tickets which aren't clear enough will be marked as Invalid or Waiting.
- If you have a crash log, please use a pasting service to post it, such as Pastebin, Pastie, or BukkitDev's own paste service.
- If you submit a log, please add information. Tickets showing logs with a description such as "It does not work" will be rejected. When does it happen? Did it happen once or is it recurrent?
Support
I speak English! If you need help, post your question in the comments, or send me an e-mail!
Je suis Français! Si vous avez besoin d'aide, envoyez-moi un e-mail!
Hablo Español! Si necesita ayuda, mandeme un mail!
Changelog
Version 1.3
- You can now disable the periodic save
- Added join message delay
- Added enderpearl trigger option
- Added non player death trigger option
- Added PvPTimer.remove permission (to allow/forbid removing player's own protection)
- Added protection timeouts
- Fixed excluded worlds
- Fixed enderchests and containers
- Fixed animation issue with trapped chests
- Fixed updater
- Fixed ConcurrentModificationException errors
- Fixed mob protection
- Fixed potential memory leak while saving configuration
Version 1.2
- Added updater
- Language files now support new lines with \n
- Configuration will now parse raw numbers as seconds
- Fixed container configuration
- Fixed teleporting to different worlds causing exceptions
- Fixed migration issue
- Fixed first join protection
- Fixed group issues
For the full changelog, please look at the latest file.
Yep, updatet it to 1.0c and everything works just fine ;)
Thanks!
@H8llfire
@H8llfire
@cuddyier
Issues fixed! Grab the hotfix quickly!
@cuddyier
Try setting it to 0s. I will look into that issue though, thanks for notifying me.
What can I do to stop players continually relogging to get login protection reset? When I set join: 0 it still has 30 seconds login protection, why? I am running the latest build.
EDIT: This plugin seems to be ignoring any changes I make in the config file completely...
@H8llfire
I think I know what could be the cause. Will test and attempt to fix shortly. Thanks for your report!
@lemon42
I put the plugin into my plugins folder, start the server and that error appears on any player join ;)
Config: http://pastebin.com/Z2iCGhf2
@H8llfire
I have tried to replicate this but I can't seem to make it happen. I get no errors at all under all circumstances... could you please tell me what you have done before the error happens, post your configuration aswell as any other details you may find could help me?
I'm on 1.4.6 Beta:
2012-12-22 14:28:58 [SEVERE] Could not pass event PlayerJoinEvent to PvPTimer v1.0b org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:427) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462) at net.minecraft.server.v1_4_6.PlayerList.c(PlayerList.java:156) at net.minecraft.server.v1_4_6.PlayerList.a(PlayerList.java:95) at net.minecraft.server.v1_4_6.PendingConnection.d(PendingConnection.java:130) at net.minecraft.server.v1_4_6.PendingConnection.c(PendingConnection.java:45) at net.minecraft.server.v1_4_6.DedicatedServerConnectionThread.a(DedicatedServerConnectionThread.java:44) at net.minecraft.server.v1_4_6.DedicatedServerConnection.b(SourceFile:29) at net.minecraft.server.v1_4_6.MinecraftServer.r(MinecraftServer.java:598) at net.minecraft.server.v1_4_6.DedicatedServer.r(DedicatedServer.java:224) at net.minecraft.server.v1_4_6.MinecraftServer.q(MinecraftServer.java:494) at net.minecraft.server.v1_4_6.MinecraftServer.run(MinecraftServer.java:427) at net.minecraft.server.v1_4_6.ThreadServerApplication.run(SourceFile:849) Caused by: java.lang.NullPointerException at lemon42.PvPTimer.PvPTimer.addPlayer(PvPTimer.java:326) at lemon42.PvPTimer.PvPListener.onJoin(PvPListener.java:82) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:425) ... 14 more
@lemon42
Thank you :D
@H8llfire
@Grave9912
Hello, sorry about the longer than usual "minute", completely forgot to upload it! Version 1.0b should fix this. Grab it here!
@lemon42
Sorry, what do you mean by hot fix and where can I download it?
@lemon42
yes they are, will test the hotfix...
@H8llfire
Don't know what happened there. Are they all the same? In any case, I added another error check. Uploading a hotfix in a minute.
@lemon42 Thanks, but it throws lots of errors on the newest dev builds... (1.4.6) 13:23:49 [SEVERE] Could not pass event PlayerJoinEvent to PvPTimer v1.0 org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:427) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462) at net.minecraft.server.v1_4_6.PlayerList.c(PlayerList.java:156) at net.minecraft.server.v1_4_6.PlayerList.a(PlayerList.java:95) at net.minecraft.server.v1_4_6.PendingConnection.d(PendingConnection.java:130) at net.minecraft.server.v1_4_6.PendingConnection.c(PendingConnection.java:45) at net.minecraft.server.v1_4_6.DedicatedServerConnectionThread.a(DedicatedServerConnectionThread.java:44) at net.minecraft.server.v1_4_6.DedicatedServerConnection.b(SourceFile:29) at net.minecraft.server.v1_4_6.MinecraftServer.r(MinecraftServer.java:598) at net.minecraft.server.v1_4_6.DedicatedServer.r(DedicatedServer.java:224) at net.minecraft.server.v1_4_6.MinecraftServer.q(MinecraftServer.java:494) at net.minecraft.server.v1_4_6.MinecraftServer.run(MinecraftServer.java:427) at net.minecraft.server.v1_4_6.ThreadServerApplication.run(SourceFile:849) Caused by: java.lang.NullPointerException at lemon42.PvPTimer.PvPTimer.addPlayer(PvPTimer.java:325) at lemon42.PvPTimer.PvPListener.onJoin(PvPListener.java:82) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:425) ... 14 more
Mahgawd. It's here! Here's the changelog:
SORRY about not adding all the features requested. I tried my best but school took over. I will push out 1.1 with the rest of features soon, hopefully. Thanks for your understanding!
Download it here! Thanks guys!
@Erik058
Yeah sorry about the inaccurate estimates. I'm really busy lately. Wish I could do it all :(
@lemon42 Any new eta? You said next week. Its been over a few weeks now XD I understand your busy =)
@Darkblader10
That's being implemented in 1.0. Sorry about the wait!
@lemon42
It would be great great if you could implement that I can disable the protection in some worlds.
Because I have Hungergames on my server and when newbies join a hungergame they can't be hit by anyone because they are new.
Thanks
@deleted_9807810
Thanks for the praise! Always appreciated! Update on the way! :D
@someonexh
The current version will work just fine with the newest build! The update will just have some more fancy features for more protection options :)