Duels
Duels controls PVP so that two players can fight only if they have both agreed. It also allows users to define terms for a battle, such as whether or not items are lost on death, what each player stakes, (iConomy) whether or not food can be eaten, if wolves will fight at your side, etc. It is currently under heavy development but [I]testing[/I] is highly welcomed and appreciated.
Features:
- Blocks PVP between players that aren't dueling.
- Allows for staking over a duel by participants. (iConomy)
- Player forfeits match if they log out or run away.
- Allows keeping of item on death, else puts drops directly in winner's inventory.
- Controls wolves based on a setting.
- Controls food use based on duel settings.
- Messages can be set by a configuration value.
Links:
How To Use:
Setup
- Download Duels.jar and put it in your plugin directory.
- Restart your server or /reload.
- Edit the configuration at /plugins/Duels/config.yml to fit your needs.
- Restart your server or /reload.
- The plugin is now ready to use!
Use
- To initiate a duel with someone, type:
/duel challenge <player>
- The other person will receive a notification. Accept duels with:
/duel challenge <player>
- Once the duel has been accepted by both people, it is time to configure the duel using any of these parameters:
/duel set stake <money> - Sets how much money you are staking. /duel set food <on/off> - enables or disables food use. /duel set wolves <on/off> - enables or disables wolves. /duel set keepitems <on/off> - sets whether you lose your items on death.
- When you are satisfied with the current duel parameters, use:
/duel confirm
- Once both players confirm, it's a fight to he death!
Disabling in certain worlds:
To disable in worlds, add this to the end of your config:
disabledworlds: - worlds - go - here
Permission Nodes:
The permissions nodes are divided into two main sections, user and admin. (Nodes with a # are for features that aren't yet implemented)
- duels
- user
- challenge - can challenge others to duels
- set
- stake - can set a new stake
- wolves - can change wolf settings
- food - can change food settings
- keepitems - can change keepitems settings
- #admin - admin tasks
- #peace - can stop all duels in progress
- user
To give users access to standard functions, simply give them the following node:
duels.user.*
For admin tasks, (Not yet added) give users the following node: [code]duels.admin.*[/code]
Setting default properties
Some times, you might want to force a duel parameter to stay at the default setting. (Defined in the config) to do this, you can cancel out the node for that option. For example, if you always want users to lose items on death, (If defined in the config) you could add the following node to users:
-duels.user.set.keepitems
To Do:
- General bug fixing. (Pretty much bug free)
- Add support for bukkit perms. (Can't wait?)
- Depreciate permissions.
If you have any ideas for additions, please post them on this thread. If you want to help out, you can fork the project on github and make any changes you'd like. I'll be sure to look at any pull requests!
Bugs
I currently know of no bugs in particular with Duels, though I'm sure there are some. If you find a problem, please be sure to post a detailed bug report on this thread.
@Hellgamerz
I think it's a good idea it takes a long time to duel with somebody and try to theach them to use it. Maybe if someone challange somebody a chat message pop up about the duel configuration and he only need to accept or decline it and who want challange before he duel with somebody config the duel's options.
Is there a way to cut the process a bit? Like:
VERY nice update. Thank you very much!
Pls add support for UTF8 characters. :D Great plugin!
Yay! 0.9.0 is waiting for approval by BukkitDev.
@Entow This is error is now fixed
@Entow I've also fixed this
@saimon13 Try the latest version once it comes out
NOTE: The messages might be a bit messed up, because I rewrote the system from scratch. If you get any can't find message errors, tell me.
Also, regenerate your configs with this update!!!
I just type: /duel challange name and it just says /duel [argument] wtf ? runing craftbukkit 1.2.4-R1.0 BTW: Spout stuff would be awesome like buttons Accept decline and like war drums when they appear.
@zonedabone
Keep getting console spam... and I THINK its due to the duels plugin... here is the error:
2012-04-03 13:34:36 [SEVERE] Could not pass event PlayerInteractEvent to Duels org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:303) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:459) at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:179) at net.minecraft.server.ItemInWorldManager.interact(ItemInWorldManager.java:273) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:724) at lishid.orebfuscator.hook.NetServerHandlerProxy.a(NetServerHandlerProxy.java:96) at net.minecraft.server.Packet15Place.handle(SourceFile:39) at net.minecraft.server.NetworkManager.b(NetworkManager.java:229) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:117) at lishid.orebfuscator.hook.NetServerHandlerProxy.a(NetServerHandlerProxy.java:60) at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78) at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:554) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:452) at net.minecraft.server.ThreadServerApplication.run(SourceFile:490) Caused by: java.lang.NullPointerException at zonedabone.Duels.DuelsPlayerListener.onPlayerInteract(DuelsPlayerListener.java:74) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301) ... 14 more
Is there an interfering plugin? are there any known interferences? or is this going to be fixed in the upcoming update?
BTW, I'm running : 2012-04-03 13:19:00 [INFO] This server is running CraftBukkit version git-Bukkit-1.2.3-R0.2-66-gd1ac561-b2100jnks (MC: 1.2.4) (Implementing API version 1.2.4-R0.1-SNAPSHOT)
Looking foreward to the update... Just wondering how its coming along.
@Entow
The way that bukkit tracks projectiles changed, I think. I'll take a look at it when I get on my computer tonight.
I'll also try to look into rankings commands.
I should probably also say that I don't have anywhere to test this atm, as the servers I run aren't pvp oriented in the way the Duels does it.
@spaze4life
Try PVPArena.
there seems to be a problem... not with usability, but players may still harm eachother with arrows in 1.2.3 r0.1 I'm not sure if this is intentional or not, but I'd like it if PVP was completely disabled in all world this plugin is active in other than duels.
Also, you should add commands to view rankings, as well as show a help dialogue for /duel (ie typing /duel will display commands and command parameters). Lastly, you should make it automatically tell someone how to accept a duel when challenged as well as to type /duel confirm to start.
edited to add second paragrapg*
Thanks so much for this plugin! It's exactly what i was looking for
When a fight happens you should be TP to an arena that you can setup or something
@S3thc0n
You should be able to use the option to override pvp, which will force pvp on during battles.
Could you add an option which has the effect that PvP permissions aren't touched, and it integrates with protection plugins so you can fight in towns, too. If that isn't possible without changing the protection plugin, at least implement some sort of API so I can add this in my own protection plugin.
@fatmarleys
No, thanks for such good way to interface economy!
thx..
Ill add you to the Vault List.
:)
@fatmarleys
I guess it'd be a good idea to switch to vault, given that it is much more active and supports MOAR.
Why register and not Vault? I thought register does not work with R6 and there hasn't been much life in it lately.
I put up a new jar for R6, which also adds support for iCo6 and SuperPerms, though I didn't make the plugin.yml entries for inheritance yet, since it's a bit of an alpha release. I've gotten much better at java now, so I found a lot of sad code and spruced it up a bit.
Also, to those who don't trust my coding, I post all of my source of github. If you want to check it/ build it yourself, go right ahead. (This is to you, @Deemo234)