PvPToggle
PvPToggle
Allows players to decide whether or not they want PvP to be enabled or disabled, and stops PvP attacks when either the attacker or defender has PvP disabled. Also allows admins to toggle global or world-specific PvP, or the PvP status of a specific player, in a specific world. Muti-world compatible, Permissions compatible.
Latest version: v3.0.0
Features:
- Pretty much stated above, but hey, here they are anyway:
- Individual, player-specific enabling or disabling of PvP
- Global PvP control
- World-specific PvP control
- Automatically enable PvP in combat
- Permissions support - only allow certain groups or players access to specific functions
- Multiworld support - configure which world you want the plugin to be active in
- Cooldown timer - set time since last conflict in seconds before users can disable PvP again
- Blocks projectile PvP damage (including damage from Arrows, Snowballs and Fireballs!)
- Block thrown poisonous potion damage
- Warmup timer - set time since enabling PvP in seconds before users can PvP
- Pick between three different commands
- Set your own custom messages on PvP and command events
- WorldGuard PVP flag integration!
Installation:
To install this plugin, all you have to do is place it in your Bukkit plugins folder, and run the server (or reload it) once. This automatically generates a configuration file. That's it! The plugin is now installed.
To read more information about how to set up the configuration, see the Configuration page.
Or, to see what permissions you need to give your users for them to be able to use certain commands, see the Permissions page.
Commands:
PvPToggle now has the functionality to allow you to set the command which it should use! This is settable in the configuration file, and by default, will be set to "/pvp". All command functionality of PvPToggle is accessed via one command.
Basic command overview:
Command | Description |
---|---|
/pvp | Toggle own PvP status |
/pvp [status| on| off] | Set or check own PvP status |
/pvp [status| on| off] <player> [world] | Set, reset or check another players' PvP status. Add [world] argument to work in specific world |
/pvp w:<world> [status| on| off| reset] | Check, set or reset world-wide PvP status of specified world |
/pvp global [status| on| off| reset] | Deals with server-wide plugin operations - used to enable, disable, reset or check status of server-wide global PvP |
/pvp region [add| remove] <region> <world> | Adds or removes a WorldGuard region from PvPToggle's usage |
For more detailed information on usage of each command, see the commands page!
For more detailed information on region management and WorldGuard integration, see the WorldGuard Integration page!
Upcoming:
- Blocking
potion andfire damage - Time-based PvP restrictions
- Announcements
For support, bugs and feature requests, DON'T COMMENT, please start a ticket instead!
@predawnia
Most likely, it does prevent poison, arrow, and fireball damage it says
Please add worldguard integration so in a certain region pvp HAS to be enabled, and will automatically be enabled when walking in the region
Does this prevent fire damage from enchanted weapon?
Works fine for my Bukkti 1.3.2. Just F Y'all I.
Add a command to add a pvp region
Using the latest version of it, and its giving me errors in the console. Something similar to: "Cannot pass event to player something". It also causes drop in TPS.
@bravesdpm
I use pvptoggle on my server without issue. I run a 1.3.1 server so I think you are good to go bravesdpm.
@bravesdpm
Have you even tried it?
1.3.1 Please?
Hello, can you help me please?
I want to know how you made the update checker.
Please answer!
2012-07-02 18:00:39 [SEVERE] [Fatal Error] :1:55: White spaces are required between publicId and systemId.
2012-07-02 18:00:39 [INFO] [PvPToggle] Found new version: 2.1.0 (you have [v2.1.0])
2012-07-02 18:00:39 [INFO] [PvPToggle] Visit http://dev.bukkit.org/server-mods/PvPToggle/ to download!
Please repair a fatal error.
I'm having problems with people pvping on god mode. Could you:
1) when /pvp on, the command will make the person OFF god mode; and 2) forbidden the person to /god on
Thank you!
I get the same error as grid21
hello! I wanted to tell you I found a major bug in PvPtoggle. Also when you set the PvP off in a world it still acts like PvP is on even though you set it to off.
2012-06-10 23:35:11 [SEVERE] Could not pass event EntityDamageByEntityEvent to PvPToggle org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:304) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:460) at org.bukkit.craftbukkit.event.CraftEventFactory.callEntityDamageEvent(CraftEventFactory.java:363) at org.bukkit.craftbukkit.event.CraftEventFactory.handleEntityDamageEvent(CraftEventFactory.java:381) at net.minecraft.server.EntityLiving.damageEntity(EntityLiving.java:608) at net.minecraft.server.EntityHuman.damageEntity(EntityHuman.java:595) at net.minecraft.server.EntityPlayer.damageEntity(EntityPlayer.java:215) at net.minecraft.server.EntityHuman.attack(EntityHuman.java:750) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:998) at net.minecraft.server.Packet7UseEntity.handle(SourceFile:33) at net.minecraft.server.NetworkManager.b(NetworkManager.java:229) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:113) at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78) at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:567) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:459) at net.minecraft.server.ThreadServerApplication.run(SourceFile:492) Caused by: java.lang.NullPointerException at com.sleelin.pvptoggle.PvPToggle.checkLastAction(PvPToggle.java:341) at com.sleelin.pvptoggle.listeners.EntityListener.eventMagic(EntityListener.java:97) at com.sleelin.pvptoggle.listeners.EntityListener.onEntityDamage(EntityListener.java:57) at sun.reflect.GeneratedMethodAccessor225.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:302) ... 16 more 2012-06-10 23:35:11 [SEVERE] Could not pass event EntityDamageByEntityEvent to PvPToggle org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:304) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:460) at org.bukkit.craftbukkit.event.CraftEventFactory.callEntityDamageEvent(CraftEventFactory.java:363) at org.bukkit.craftbukkit.event.CraftEventFactory.handleEntityDamageEvent(CraftEventFactory.java:381) at net.minecraft.server.EntityLiving.damageEntity(EntityLiving.java:608) at net.minecraft.server.EntityHuman.damageEntity(EntityHuman.java:595) at net.minecraft.server.EntityPlayer.damageEntity(EntityPlayer.java:215) at net.minecraft.server.EntityHuman.attack(EntityHuman.java:750) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:998) at net.minecraft.server.Packet7UseEntity.handle(SourceFile:33) at net.minecraft.server.NetworkManager.b(NetworkManager.java:229) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:113) at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78) at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:567) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:459) at net.minecraft.server.ThreadServerApplication.run(SourceFile:492) Caused by: java.lang.NullPointerException at com.sleelin.pvptoggle.PvPToggle.checkLastAction(PvPToggle.java:341) at com.sleelin.pvptoggle.listeners.EntityListener.eventMagic(EntityListener.java:97) at com.sleelin.pvptoggle.listeners.EntityListener.onEntityDamage(EntityListener.java:57) at sun.reflect.GeneratedMethodAccessor225.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:302) ... 16 more 2012-06-10 23:35:11 [SEVERE] Could not pass event EntityDamageByEntityEvent to PvPToggle org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:304) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:460) at org.bukkit.craftbukkit.event.CraftEventFactory.callEntityDamageEvent(CraftEventFactory.java:363) at org.bukkit.craftbukkit.event.CraftEventFactory.handleEntityDamageEvent(CraftEventFactory.java:381) at net.minecraft.server.EntityLiving.damageEntity(EntityLiving.java:608) at net.minecraft.server.EntityHuman.damageEntity(EntityHuman.java:595) at net.minecraft.server.EntityPlayer.damageEntity(EntityPlayer.java:215) at net.minecraft.server.EntityHuman.attack(EntityHuman.java:750) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:998) at net.minecraft.server.Packet7UseEntity.handle(SourceFile:33) at net.minecraft.server.NetworkManager.b(NetworkManager.java:229) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:113) at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78) at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:567) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:459) at net.minecraft.server.ThreadServerApplication.run(SourceFile:492) Caused by: java.lang.NullPointerException at com.sleelin.pvptoggle.PvPToggle.checkLastAction(PvPToggle.java:341) at com.sleelin.pvptoggle.listeners.EntityListener.eventMagic(EntityListener.java:97) at com.sleelin.pvptoggle.listeners.EntityListener.onEntityDamage(EntityListener.java:57) at sun.reflect.GeneratedMethodAccessor225.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:302) ... 16 more 2012-06-10 23:35:12 [SEVERE] Could not pass event EntityDamageByEntityEvent to PvPToggle org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:304) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:460) at org.bukkit.craftbukkit.event.CraftEventFactory.callEntityDamageEvent(CraftEventFactory.java:363) at org.bukkit.craftbukkit.event.CraftEventFactory.handleEntityDamageEvent(CraftEventFactory.java:381) at net.minecraft.server.EntityLiving.damageEntity(EntityLiving.java:608) at net.minecraft.server.EntityHuman.damageEntity(EntityHuman.java:595) at net.minecraft.server.EntityPlayer.damageEntity(EntityPlayer.java:215) at net.minecraft.server.EntityHuman.attack(EntityHuman.java:750) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:998) at net.minecraft.server.Packet7UseEntity.handle(SourceFile:33) at net.minecraft.server.NetworkManager.b(NetworkManager.java:229) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:113) at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78) at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:567) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:459) at net.minecraft.server.ThreadServerApplication.run(SourceFile:492) Caused by: java.lang.NullPointerException at com.sleelin.pvptoggle.PvPToggle.checkLastAction(PvPToggle.java:341) at com.sleelin.pvptoggle.listeners.EntityListener.eventMagic(EntityListener.java:97) at com.sleelin.pvptoggle.listeners.EntityListener.onEntityDamage(EntityListener.java:57) at sun.reflect.GeneratedMethodAccessor225.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:302) ... 16 more 2012-06-10 23:35:12 [SEVERE] Could not pass event EntityDamageByEntityEvent to PvPToggle org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:304) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:460) at org.bukkit.craftbukkit.event.CraftEventFactory.callEntityDamageEvent(CraftEventFactory.java:363) at org.bukkit.craftbukkit.event.CraftEventFactory.handleEntityDamageEvent(CraftEventFactory.java:381) at net.minecraft.server.EntityLiving.damageEntity(EntityLiving.java:608) at net.minecraft.server.EntityHuman.damageEntity(EntityHuman.java:595) at net.minecraft.server.EntityPlayer.damageEntity(EntityPlayer.java:215) at net.minecraft.server.EntityHuman.attack(EntityHuman.java:750) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:998) at net.minecraft.server.Packet7UseEntity.handle(SourceFile:33) at net.minecraft.server.NetworkManager.b(NetworkManager.java:229) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:113) at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78) at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:567) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:459) at net.minecraft.server.ThreadServerApplication.run(SourceFile:492) Caused by: java.lang.NullPointerException at com.sleelin.pvptoggle.PvPToggle.checkLastAction(PvPToggle.java:341) at com.sleelin.pvptoggle.listeners.EntityListener.eventMagic(EntityListener.java:97) at com.sleelin.pvptoggle.listeners.EntityListener.onEntityDamage(EntityListener.java:57) at sun.reflect.GeneratedMethodAccessor225.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:302) ... 16 more
@Reteckz
Already on Seelin's todo list. See above in the Upcoming section.
Would you maybe consider adding WorldGuard support? For example a PVP-Arena. While inside the arena's protection, you have pvp forced on if you used some kind of command on it.
As far as I can see, you don't have a reload command for your plugin. It would be nice to have this :)
Got 2 suggestions.
1.) When enabling pvp, make it check if the user has god mode, tp permissions, and/or vanish permissions, an if they are on/if they have them, temporarily disable those from working while pvp is enabled.
2.) Add a cooldown to pvp, say 5 minutes before you can use the command again, etc.
So that people don't bind a key to enable/disable it as a form of pvp logging.
good job ! :D this is so nice !
@xReyko
Are you sure you have pvp enabled in your server.properties file?