Assassins
Assassins adds a different style option for PVP by allowing players to become and/or hire an "Assassin" on their servers and have them killed for a price.
Players can create "contracts" on other players requesting that they be assassinated for a given price. Any player can then choose to become an "Assassin" by choosing a player off the "Wanted" list and then going out to kill them.
Once you choose to take on a contract, you are given a specific amount of time to accomplish that assassination, or the contract goes back to the wanted list for someone else to try.
If you succeed at killing the player, you get the payments from all the current contracts on that players' head at the time of the killing.
Uses Metrics for sending completely anonymous data to http://mcstats.org for usage tracking.
Main - Screen Shots - Configuration
CraftBukkit 1.4.7
The latest version of Assassins (1.2.2) appears to work fine on CB 1.4.7
If you are having specific problems, please report it. Also, please before reporting, please ensure that you do not have an error in your configuration files that might be causing your problems.
An update with some new features will be coming soon as time permits.
Dependencies
Please note the following:
- Assassins requires plug-in Vault for managing the connections to your existing permissions and economy plug-ins. See the Vault site for supported permission & economy plug-ins.
Commands
This is a list of the available commands that can be used:
Command | Description |
/assassin help | Displays help depending on other permissions. |
/assassin kill <player> <amt> [reason] | Create a cash contract against a player. |
/assassin kill <player> <count:item> [reason] | Create an item contract against a player. |
/assassin kill <player> hand [reason] | Create an item contract against a player using what is in your hand. |
/assassin revenge | Request revenge contracts on those who got you killed. |
/assassin cancel <player> | Cancels a contract you created; if not being hunted. |
/assassin expired | Collect refunds for any contracts that expired. |
/assassin wanted | Displays all players that currently have contracts on them. |
/assassin view <player> | Displays all the contracts on a specific player. |
/assassin hunt <player> | Choose to take on the contracts and hunt the player. |
/assassin track <player> | This sets your compass to a "estimated" location of the player you're hunting. |
/assassin blitz <player> | Activate your blitz attack on the player. |
/assassin contracts | Lists all the players you are currently hunting. |
/assassin protect <player> | Protect a player from being damaged or killed (anti-grief). |
Creating Contracts
Create a contract, and offer cash as reward:
/assassin kill PlayerA 100 He killed my pigs
Create a contract, and offer items as reward:
/assassin kill PlayerA 10:Iron_Ingot He ruined my garden
Create a contract, and offer the item in your hand as reward:
/assassin kill PlayerA hand He flooded my house
Item names MUST be one word replacing spaces with "_" and you must have the item(s) in your inventory.
Revenge Contracts
When you are killed by an Assassin, you can place revenge contracts on all the players who had put contracts on you.
Revenge contracts are placed for free to you and contain the same cash/item payments that each player used to pay your Assassin.
Yes, the same Assassin can hunt those contracts and get paid again !
However, if you are killed due to a revenge contract or an auto contract, you cannot request revenge back.
New (version 1.2)
Auto Contracts
Auto contracts allow the plug-in to place contracts randomly onto players when they log in. This allows you to keep the assassin wanted list flowing with people to kill without requiring others to request them.
For more details on how to configure auto contracts, see our Configuration page.
New (version 1.2)
Blitz Attacks
A Blitz attack gives you temporary benefits for a specific period of time. When the time period expires, after-effects can also be applied.
A Blitz attack can only be activated if you are currently hunting the player and are close enough to them.
The following is what you can configure:
- The duration for how long blitz will last.
- The cool down period that must pass before they can use it again.
- The number of blocks the player must be within of their prey in order to activate a blitz attack.
Benefits
Benefits are the bonuses a player gains for the duration of the Blitz attack.
These are removed from the player once the duration ends.
The benefits, which are also configurable:
- Turn invisible to that player
- Increased movement speed
- Increased jump height
- Adjust your compass to better locate their exact location
After-Effects
After effects are applied to the player after the Blitz attack duration has ended.
These will last for the same duration as the benefits did.
The after-effects, which are also configurable:
- Blindness
- Decreased movement speed
- Confusion
Permissions
This is a list of the available permissions:
Permission | Description |
assassin.* | Allows all commands except protect. |
assassin.help | Ability to use assassin help pages. |
assassin.kill | Ability to request a player to be killed. |
assassin.revenge | Ability to request a revenge contract. |
assassin.cancel | Ability to cancel a request for a player to be killed. |
assassin.expired | Ability to request refunds for expired contracts. |
assassin.wanted | Ability to view players with contracts on their heads. |
assassin.view | Ability to view all the contracts on a players head. |
assassin.hunt | Ability to accept a contract and hunt a player. |
assassin.track | Ability to track a player. |
assassin.blitz | Ability to activate a blitz attack on a player. |
assassin.contracts | Ability to view all contracts being hunted by yourself. |
assassin.protect | Ability to toggle a players protection status. |
More Information
Screenshots
Want to see a bit of what it looks like ? Visit our Screen Shots page.
Source
Source code can be found on github.
Change Log
View all the changes made on our Change Log.
Planned Features
- Add sign support for creating, displaying and accepting assassin contracts.
Reporting errors
If submitting an error, please try to provide as much details as you can. Example: (but not limited to)
- Commands run
- Configuration files
- Bukkit version
- Detailed steps to reproduce (should it not be just the commands)
Any or all of the above will go a long way in helping me resolve your problem quickly and efficiently. All tickets will be looked at, but those that are written best will take priority.
Love this plugin, but I would like to make a config request.
Can you make an option where When a person is killed, we can set a specific amount of time before another contract can be put on that person by a player.
We have a rule on our server that you aren't allowed to kill anyone without using this plugin, we like to restrict PvP to "keep it fun" and not have one person getting frustrating by being killed over and over, but...
We're running into a problem where Pete and Bob don't like Joe, so Pete will put a contract for 1 cobblestone on Joe, Bob will kill Joe, then Pete will immediately put another contract on Joe and Bob will kill him, over and over and over.
I'd like a setting, where if Joe gets killed, no one can put another contract on Joe for X amount of time. This should not include revenge contracts or auto contracts.
@TOOTHPlCK1
Okay great, sine it's not blocking you from that work, I'll add the feature to my list of items for the next update, though it might be a bit (work is insane right now). Thanks for the suggestion !
@smilne74
Actually this was for my friend's server, I recommended this to him since he needed something like it and I had already checked it out for that plugin I was working on.
@TOOTHPlCK1
Did you need that for the custom plug-in you were working on ? Fire me a PM again and we can chat about getting you something added for your needs.
@jones9898
Not a bad idea, though I'm not entirely sure the best way to go about this. Did you have any further details on how you'd like to see this feature work ? Thanks.
Any chance you could add configurable restrictions on contract payments, such as an option to disallow payments in the form of items completely, ect.
Hey, any chance to make it more compatible with Factions, so each Faction can have their own Assassin kill list?
@DarkRyuZ7
I tossed up a quick patch last night for both 1.3.1-R2 and a custom version for the beta 1.3.2-R0.1
They should be approved hopefully some time today. When you get it, let me know if you run into any problems with it and we can go from there.
Would be nice if you could update it this week or so... We are planing a new Map and there is all planned with assassins... Releasedate is on first september ... and without assassins we could not start and this would be sad... so, if you have time... it would be very nice
@DarkRyuZ7
Thank you for the report. It seems you're using the BETA build of Bukkit.
I want to ensure everyone that this plugin does support the latest RB and that this issue is related only to a current BETA build of Bukkit,
That said, the issue is being caused because they changed the java package location of the GSON library. This makes it impossible to maintain version for older Bukkit builds along with the new versions.
Plug-in developers who use the GSON library will now be needed to maintain two separate versions of their plug-ins in order to support people using previous version of Bukkit.
Once they move from BETA to a full RB, I will create the 1.3.2 RB version for this plug-in and will have to maintain the two versions going forward for a while.
Thanks for bringing this up though, it is certainly something developers will need to be careful of.
--
I'll try and get a patch out in the next day or so for everyone to run against the 1.3.2-R0.1 BETA build.
hm, got an error...
2012-08-25 16:18:14 [SEVERE] Error occurred while enabling Assassins v1.2.0 (Is it up to date?) java.lang.NoClassDefFoundError: com/google/gson/GsonBuilder at com.netprogs.minecraft.plugins.assassins.io.JsonConfiguration.init(JsonConfiguration.java:46) at com.netprogs.minecraft.plugins.assassins.io.JsonConfiguration.<init>(JsonConfiguration.java:36) at com.netprogs.minecraft.plugins.assassins.config.settings.SettingsConfig.<init>(SettingsConfig.java:25) at com.netprogs.minecraft.plugins.assassins.AssassinsPlugin.onEnable(AssassinsPlugin.java:83) at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217) at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:365) at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:381) at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:265) at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:247) at org.bukkit.craftbukkit.CraftServer.reload(CraftServer.java:567) at org.bukkit.Bukkit.reload(Bukkit.java:183) at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:21) at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:168) at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:492) at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:878) at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:825) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:807) at net.minecraft.server.Packet3Chat.handle(Packet3Chat.java:44) at net.minecraft.server.NetworkManager.b(NetworkManager.java:276) at net.minecraft.server.NetServerHandler.d(NetServerHandler.java:109) at net.minecraft.server.ServerConnection.b(SourceFile:35) at net.minecraft.server.DedicatedServerConnection.b(SourceFile:30) at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:581) at net.minecraft.server.DedicatedServer.q(DedicatedServer.java:212) at net.minecraft.server.MinecraftServer.p(MinecraftServer.java:474) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:406) at net.minecraft.server.ThreadServerApplication.run(SourceFile:539) Caused by: java.lang.ClassNotFoundException: com.google.gson.GsonBuilder at java.net.URLClassLoader$1.run(URLClassLoader.java:217) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:205) at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:44) at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:29) at java.lang.ClassLoader.loadClass(ClassLoader.java:321) at java.lang.ClassLoader.loadClass(ClassLoader.java:266) ... 27 more
@Craftiii4
Good idea, I'll toss it in for a future update. Thanks
Any chance of multi world support?
So auto only adds if they teleport into or log into a world with the plugin enabled on and contracts cant be claimed on worlds which the plugin is not enabled on?
Would be really helpful :P.
Thanks
@jitasi
Glad it was an easy fix and thanks !
Thank You, you opened my eyes to my stupidity, I removed the config for the auto contract and in doing so accidentally deleted a bracket. I did not notice the bracket halfway through so i assumed there only need be one bracket close, easy fix thank you so much! I LOVE THE PLUGIN
@jitasi
2012-08-05 10:17:51 [INFO] [Assassins] Enabling Assassins v1.2.0 2012-08-05 10:17:51 [SEVERE] com.google.gson.JsonSyntaxException: java.io.EOFException: End of input at line 56 column 1
This looks like you have something missing in the config.json.
Try pasting your config into http://jsonlint.com/ and see if you get any errors there.
If still no luck, send me a copy of it and I'll try running it locally to see what I can find out.
2012-08-05 10:17:51 [INFO] [Assassins] Enabling Assassins v1.2.0 2012-08-05 10:17:51 [SEVERE] com.google.gson.JsonSyntaxException: java.io.EOFException: End of input at line 56 column 1 2012-08-05 10:17:51 [SEVERE] at com.google.gson.Gson.fromJson(Gson.java:764) 2012-08-05 10:17:51 [SEVERE] at com.google.gson.Gson.fromJson(Gson.java:694) 2012-08-05 10:17:51 [SEVERE] at com.netprogs.minecraft.plugins.assassins.io.JsonConfiguration.load(JsonConfiguration.java:75) 2012-08-05 10:17:51 [SEVERE] at com.netprogs.minecraft.plugins.assassins.io.Configuration.loadConfig(Configuration.java:103) 2012-08-05 10:17:51 [SEVERE] at com.netprogs.minecraft.plugins.assassins.AssassinsPlugin.onEnable(AssassinsPlugin.java:84) 2012-08-05 10:17:51 [SEVERE] at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217) 2012-08-05 10:17:51 [SEVERE] at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:337) 2012-08-05 10:17:51 [SEVERE] at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:381) 2012-08-05 10:17:51 [SEVERE] at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:257) 2012-08-05 10:17:51 [SEVERE] at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:239) 2012-08-05 10:17:51 [SEVERE] at net.minecraft.server.MinecraftServer.t(MinecraftServer.java:373) 2012-08-05 10:17:51 [SEVERE] at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:360) 2012-08-05 10:17:51 [SEVERE] at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:189) 2012-08-05 10:17:51 [SEVERE] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:424) 2012-08-05 10:17:51 [SEVERE] at net.minecraft.server.ThreadServerApplication.run(SourceFile:492) 2012-08-05 10:17:51 [SEVERE] Caused by: java.io.EOFException: End of input at line 56 column 1 2012-08-05 10:17:51 [SEVERE] at com.google.gson.stream.JsonReader.nextNonWhitespace(JsonReader.java:943) 2012-08-05 10:17:51 [SEVERE] at com.google.gson.stream.JsonReader.nextInObject(JsonReader.java:727) 2012-08-05 10:17:51 [SEVERE] at com.google.gson.stream.JsonReader.peek(JsonReader.java:382) 2012-08-05 10:17:51 [SEVERE] at com.google.gson.stream.JsonReader.hasNext(JsonReader.java:349) 2012-08-05 10:17:51 [SEVERE] at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:169) 2012-08-05 10:17:51 [SEVERE] at com.google.gson.Gson.fromJson(Gson.java:755) 2012-08-05 10:17:51 [SEVERE] ... 14 more 2012-08-05 10:17:51 [SEVERE] Error occurred while enabling Assassins v1.2.0 (Is it up to date?) java.lang.NullPointerException at com.netprogs.minecraft.plugins.assassins.config.settings.SettingsConfig.isLoggingDebug(SettingsConfig.java:29) at com.netprogs.minecraft.plugins.assassins.AssassinsPlugin.onEnable(AssassinsPlugin.java:94) at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217) at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:337) at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:381) at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:257) at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:239) at net.minecraft.server.MinecraftServer.t(MinecraftServer.java:373) at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:360) at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:189) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:424) at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)
Yes, I have vault installed, and i cannot see anything in the logs, let me reload the server and see what error it comes up with when trying to implement it. Thanks for the quick reply!
@jitasi
Do you have Vault installed ? Typically people who see that error don't have it installed and thus doesn't let it run properly. Check the server logs, it should mention something about it not being installed.
If not, let me know if you see any other errors in the logs and I'll look into it.
Hi, I Just Installed This Plugin And The Idea Of It Is Great, However I Cannot Use Any Of The Commands. I Am Op So Therefore Should Have Perms But Whatever I Type Comes Back With /assassins help
Please Help I Want This Plugin So Badly!
@HolySteward
Some quick questions for you:
Let me know and I can look into reproducing the problem.