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.

-
View User Profile
-
Send Message
Posted Jun 19, 2013@Red_Jay
Absolutely! Just set allowPickup in the configuration to false and it will disable item pick up for all protected players. If you need further assistance configuring, check the Configuration help page :)
-
View User Profile
-
Send Message
Posted Jun 18, 2013Do you think you could make it so people with pvptimer can't pick up items? Sometimes people who are protected will steal the loot from someone else's pvp kill.
-
View User Profile
-
Send Message
Posted Jun 15, 2013@seane96
This error was generated by the updater and can be safely ignored. Thanks for the report, will make it fail silently.
-
View User Profile
-
Send Message
Posted Jun 14, 2013Hello,
I am getting this error:
-
View User Profile
-
Send Message
Posted May 27, 2013lmfao look @ that lag http://www.aikar.co/timings.php?url=5708433 thought this plugin was more lightweight -.-
-
View User Profile
-
Send Message
Posted May 26, 2013@MasterMithrandir
First of all download the Spanish language file, or if you'd prefer to translate it yourself you can always get the English translation and edit the values yourself.
After you have the file, go to the folder where the configuration is located (should be plugins/PvPTimer) and put it in the lang folder. Afterwards, change your configuration to tell PvPTimer to use the new file by changing the
languagekey to whatever your file is. Suppose your language file isMyLanguage.yml, then you'd change it tolanguage: MyLanguage:)-
View User Profile
-
Send Message
Posted May 25, 2013Could someone indicate me how to apply the translation for this plugin?
I would like to translate it to spanish.
-
View User Profile
-
Send Message
Posted May 20, 2013@HelGod
This might be a bug, I'll look into it.
-
View User Profile
-
Send Message
Posted May 19, 2013@lemon42
If I enderpearl and I am protected it returns the same message as if I was to hit a player. Can the message be disabled when I throw an enderpearl?
-
View User Profile
-
Send Message
Posted May 19, 2013@BFUSpEd
Not at the moment with the current system. It was intended to be like this though, if players want to take full advantage of a 24 hour timer, they will have to play more. I could implement that with the current system however it would probably need me to change the way it's saved meeaning the old files wouldn't be compatible with the newer versions. I'll look into adding that feature though, but I can't guarantee anything.
Thanks for the suggestion, I've thought of it before but I thought it would be best to keep it this way. I might add, if I manage to make it work, an option to configurate the behavior.
-
View User Profile
-
Send Message
Posted May 18, 2013I've noticed that the timer keeps going even when the player logs off. Is there any way to make it pause the timer when the player is offline?
-
View User Profile
-
Send Message
Posted May 18, 2013@bukbuk3
Vault is not required, however it will enable group support in the configuration. Without it, you will not be able to set times for each group, the plugin will fetch default values from what you configured. If you need groups, install Vault, it's a simple drag and drop installation. If you don't, then no worries. Plugin will work just fine without it! :D
@BamBam042
Merci à toi! :)
-
View User Profile
-
Send Message
Posted May 17, 2013does the new update require vault because i dont use vault?
-
View User Profile
-
Send Message
Posted May 17, 2013Merci pour se super plugin :)
-
View User Profile
-
Send Message
Posted May 17, 2013@BamBam042 @wydgabriel @Brixishuge
Your issues are fixed in the 1.1.2 development build. Download it here.
@AgentTripleC
Yup! Set allowContainer and allowPickup to false. However, make sure to use 1.1.2 as 1.1 has a bug which will disable containers all the time. For more info, go to the confuguration help page.
-
View User Profile
-
Send Message
Posted May 12, 2013Also function which blocks users to access chests can't be set to false...
-
View User Profile
-
Send Message
Posted May 11, 2013Is it possible to make it so that players with PVP Timer cant access things like chests or pick up items dropped by players?
A lot of my players have een complaining that peopel with PVPTimer were stealing their loot from PVP and they cant kill him because of his pvptimer.
-
View User Profile
-
Send Message
Posted May 11, 2013@BamBam042
having the same problem..
-
View User Profile
-
Send Message
Posted May 9, 201315:56:21 [SEVERE] Could not pass event PlayerTeleportEvent to PvPTimer v1.1.1dev
org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja va:427) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav a:62) at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.j ava:477) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j ava:462) at org.bukkit.craftbukkit.v1_5_R2.entity.CraftPlayer.teleport(CraftPlaye r.java:371) at com.earth2me.essentials.Teleport.now(Teleport.java:243) at com.earth2me.essentials.Teleport.teleport(Teleport.java:276) at com.earth2me.essentials.Teleport.teleport(Teleport.java:256) at com.earth2me.essentials.spawn.Commandspawn.respawn(Commandspawn.java: 58) at com.earth2me.essentials.spawn.Commandspawn.run(Commandspawn.java:38) at com.earth2me.essentials.commands.EssentialsCommand.run(EssentialsComm and.java:96) at com.earth2me.essentials.Essentials.onCommandEssentials(Essentials.jav a:423) at com.earth2me.essentials.spawn.EssentialsSpawn.onCommand(EssentialsSpa wn.java:70) at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:18 9) at org.bukkit.craftbukkit.v1_5_R2.CraftServer.dispatchCommand(CraftServe r.java:523) at net.minecraft.server.v1_5_R2.PlayerConnection.handleCommand(PlayerCon nection.java:966) at net.minecraft.server.v1_5_R2.PlayerConnection.chat(PlayerConnection.j ava:884) at net.minecraft.server.v1_5_R2.PlayerConnection.a(PlayerConnection.java :841) at net.minecraft.server.v1_5_R2.Packet3Chat.handle(Packet3Chat.java:44) at net.minecraft.server.v1_5_R2.NetworkManager.b(NetworkManager.java:292 ) at net.minecraft.server.v1_5_R2.PlayerConnection.d(PlayerConnection.java :110) at net.minecraft.server.v1_5_R2.ServerConnection.b(SourceFile:35) at net.minecraft.server.v1_5_R2.DedicatedServerConnection.b(SourceFile:3 0) at net.minecraft.server.v1_5_R2.MinecraftServer.r(MinecraftServer.java:5 80) at net.minecraft.server.v1_5_R2.DedicatedServer.r(DedicatedServer.java:2 25) at net.minecraft.server.v1_5_R2.MinecraftServer.q(MinecraftServer.java:4 76) at net.minecraft.server.v1_5_R2.MinecraftServer.run(MinecraftServer.java :409) at net.minecraft.server.v1_5_R2.ThreadServerApplication.run(SourceFile:5 73) Caused by: java.lang.IllegalArgumentException: Cannot measure distance between A rene and Craft at org.bukkit.Location.distanceSquared(Location.java:381) at lemon42.PvPTimer.PvPListener.onTeleport(PvPListener.java:137) 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.ja va:425) ... 28 more
-
View User Profile
-
Send Message
Posted May 9, 2013@mclightcraftproduction
There was an issue when migrating configuration values from revision 1 to revision 2, which would throw an exception which caused the plugin to stop loading the configuration. It's all fixed now!