Wiipay
Features:
- pay groups and players at a regular configurable interval.
- set the interval between payments.
- set the salary per group
- set the salary per user
- set a popularity bonus, awarding players for the number of players online.
- a nice payslip is displayed on the players screen every time a payment occurs.
- the default payment interval is 1 minecraft day (1200 seconds)
- Uses Vault for permissions and economy handling.
Compatibility
This plugin has been tested to work on craftbukkit [1.4.5][1.3.2], [1.3.1], [1.2.5], [1.2.4], [1.2.3] [1.1]. You must install the latest Vault plugin version, since wiipay uses it for economy and permissions.
Download
Click here to download wiipay
Commands:
- /wiipay interval <interval in seconds> : Set the interval in seconds between payments
- /wiipay setgroup <groupname> <salary> : Set the salary members of this group will receive.
- /wiipay setuser <username> <salary> : Set the salary this user will receive every payment.
- /wiipay list : Show all configured groups and their salaries.
- /wiipay pay <number of payments> : Execute 1 or more wiipay days manually.
Usage:
users: To set the salary of individual players use: /wiipay setuser <username> <salary>
groups: This plugin does not create groups, it lets you set an salary for existing groups. You need to create user groups (like admin,mod,builder etc) with permissionsEx or another permissions manager that is supported by Vault. Then use the /wiipay setgroup <groupname> <salary> command of wiipay to set the salary for that group.
Configuration
You can edit all variables set by commands in the config file: wiipay.yml. You can also set a server name in the config file. example wiipay.yml that belongs to the screenshot on top of this page:
servername: minecrafters.nl # The name of your server. currency: euros # The name of your currency. interval: 1200 # The number of seconds between wiipay payments. bonus-per-player: 0 # The number of euros every player gets for every player online during a payment. show-payslip: true # Set to true if the payslip should be shown to the users when payment occurs. show-details: true #true: Show a breakdown of the salary per group or false: show only the salary total. salary: group: # The salary of members of the listed group names, the group names must exist in your permissions plugin. builder: 100.0 kilobuilder: 240.0 player: # The salary of the player with this name. wiigor: 10.0
Background:
WiiPay is a Minecraft bukkit Plugin Made By Wiigor for the Minecraft Alliance. (minecrafters.nl and minecarts.nl)
Like many servers minecrafters.nl needed an automated system to grant players money at regular intervals. Since i couldnt find a working plugin anymore or the plugins if found were very complex, faulty or inefficient I decided to write one from scratch.
I had 3 requirements for this system:
- It should be straightforward and simple to configure. (not loads of similar commands that have a complex syntax)
- The system should be efficient and not some hog that keeps hanging when I reload. (Like some alternative timed pay plugins do)
- It will be kept simple (only one timer/ only online players get paid)
Todo:
- -improve this plugin page.
- -make a /wiipay help command to show the possible commands.
feature requests
- -add a variable per user and per group to indicate who will pay the salary of the group/user.
- -make a command for settings this variable: like /wiipay setgrouppayer <group_name> <acount_name_of_payer>
Wont do list:
- -make payment facilities for offine players.
- -add complex commands/facilities.
Changelog:
- 2012-12-08 1.1 - Compiled for java 6 (will work on java 6 and 7) Tested on 1.4.5
- 2012-12-08 1.0 - broken - Do not use Removed because of missing library file: .
- 2012-11-16 beta 0.9 - updated for craftbukkit 1.4.5
- 2012-10-09 beta 0.8 - removed the new feature of taking the currency name from economy plugin thorugh vault, due to incompatiblities of these. - made the plugin stop the task when reloading. (more reload proof) -made the commands more resilient, will give a nicer formatted error message if wrong syntax -compiled and tested on the latest versions (craftbukkit 1.3.2 R1.0, Vault 1.2.19 and iconomy 6.0 and 7.0) -/wiipay pay can now be executed more than one time. by giving the number of executions. All quantities will be multiplied. -compressed the code for even better performance.
- 2012-09-23 beta 0.7 -Wiipay will try to take the currency name you have configured in your economy plugin.
- 2012-07-23 beta 0.6 -negative salaries now possible. Displays negative values in a red and displays " You Pay". -added property show-payslip: true/false to config.yml: this turns on or off the showing of the payslip. -added property show-details: true/false to config.yml: this turns on or off the showing of details on the payslip.
- 2012-05-28 - beta 0.5 - added currency variable to config file so admins can set their own currency name. (you must manually add the currency variable it if you already had a config file) - added a popularity bonus system to reward players for the server being filled.
- 2012-03-26 - beta 0.4 - added variable servername to wiipay.yml so a custom servername can be set for display on the payslip. - compiled on java 1.6 for compatibility with people running their servers on java 1.6
- 2012-03-24 - beta 0.3 - posted on bukkitdev.
@tehsa
Yes i can, but i want users to be able to pay other players a salary, so they only have access to one command
@Wizardo367
Look at the configuration above. You don't need permissions for this plugin as you can define individual salaries in the config.
it's not creating a folder in plugins directory, Using newest Vault and my bukkit version is : [INFO] This server is running CraftBukkit version git-Bukkit-1.4.5-R0.1 -2-g3c054f3-b2485jnks (MC: 1.4.5) (Implementing API version 1.4.5-R0.2-SNAPSHOT)
Could you please add permissions in the next update?
i would like for users to be able to pay individual players a salary
@wiigor
I have released a version compiled for java 6. So all people still using java 6 should update to wiipay 1.0.
@rtainc
2012-11-18 19:34:14 [SEVERE] Could not load 'plugins/wiipay.jar' in folder 'plugins' org.bukkit.plugin.InvalidPluginException: java.lang.UnsupportedClassVersionError: me/wiigor/wiipay/WiiPay : Unsupported major.minor version 51.0
This is because you are using java 6 (also known as java 1.6)
I compiled my code for java 1.7, and this is why it does not work for you.
You can solve this issue for you by using java 1.7 instead of 1.6. But i will also release a version compiled for java 1.6 soon.
21:53:41 [SEVERE] Could not load 'plugins/wiipay.jar' in folder 'plugins' org.bukkit.plugin.InvalidPluginException: java.lang.UnsupportedClassVersionError: me/wiigor/wiipay/WiiPay : Unsupported major.minor version 51.0 at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:154) at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:305) at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:230) at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:227) at org.bukkit.craftbukkit.CraftServer.reload(CraftServer.java:577) at org.bukkit.Bukkit.reload(Bukkit.java:183) at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:23) at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:186) at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:502) at org.bukkit.craftbukkit.CraftServer.dispatchServerCommand(CraftServer.java:494) at net.minecraft.server.DedicatedServer.al(DedicatedServer.java:258) at net.minecraft.server.DedicatedServer.r(DedicatedServer.java:223) at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:493) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:426) at net.minecraft.server.ThreadServerApplication.run(SourceFile:856) Caused by: java.lang.UnsupportedClassVersionError: me/wiigor/wiipay/WiiPay : Unsupported major.minor version 51.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) at java.lang.ClassLoader.defineClass(ClassLoader.java:615) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) at java.net.URLClassLoader.access$000(URLClassLoader.java:58) at java.net.URLClassLoader$1.run(URLClassLoader.java:197) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 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:306) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:247) at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:143) ... 14 more
@Lodo12345 You claim my plugin contain contains a bug which resets your database. From the log I See you are using, Iconomy 6 with the file database. Also the origin of the error is coming from there.
I know that the file based DB of ico 6 is bugged because the makers themselves have warned people not to use it: http://forums.bukkit.org/threads/iconomy-bug.83280/
It makes me feel sad you come here and claim my plugin should not be used.
Warning! Do not use this plugin or your iconomy database might be reset, thank god I had a backup of one day ago, or EVERYONE would have lost his money.
012-12-02 16:08:00 [SEVERE] org.apache.commons.lang.UnhandledException: Plugin WiiPay v0.9 generated an exception while executing task 8 at org.bukkit.craftbukkit.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:56) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.NullPointerException at java.util.LinkedList$ListItr.next(Unknown Source) at com.iCo6.IO.mini.Mini.read(Mini.java:148) at com.iCo6.IO.mini.Mini.update(Mini.java:360) at com.iCo6.system.Queried.setBalance(Queried.java:421) at com.iCo6.system.Holdings.setBalance(Holdings.java:26) at com.iCo6.system.Holdings.math(Holdings.java:103) at com.iCo6.system.Holdings.add(Holdings.java:58) at net.milkbowl.vault.economy.plugins.Economy_iConomy6.depositPlayer(Economy_iConomy6.java:157) at me.wiigor.wiipay.Payer.payPlayer(Payer.java:74) at me.wiigor.wiipay.Payer.payAllOnlinePlayers(Payer.java:62) at me.wiigor.wiipay.Payer.payAllOnlinePlayers(Payer.java:51) at me.wiigor.wiipay.Payer.run(Payer.java:47) at org.bukkit.craftbukkit.scheduler.CraftTask.run(CraftTask.java:53) at org.bukkit.craftbukkit.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53) ... 3 more
@tehsa
2012-11-18 19:34:14 [SEVERE] Could not load 'plugins/wiipay.jar' in folder 'plugins' org.bukkit.plugin.InvalidPluginException: java.lang.UnsupportedClassVersionError: me/wiigor/wiipay/WiiPay : Unsupported major.minor version 51.0
This is because you are using java 6 (also known as java 1.6)
I compiled my code for java 1.7, and this is why it does not work for you.
You can solve this issue for you by using java 1.7 instead of 1.6. But i will also release a version compiled for java 1.6 soon.
When using wiipay-0.9.jar with various 1.4.5 craftbukit dev. versions i just can't get it to work. After deleting the wiipay-folder created by an older version it doesn't get recreated.
pastebin
@enetocs
wiipay-0.9.jar Beta Needs Approval 22 hours ago
CB 1.4.2-R0.2
wiipay.jar 0
I have uploaded it but it needs to be approved by bukkit.
Thx, but i cant see the 0.9 download, can u upload it?
Thanks ;)
thx wiigor
@enetocs @EpicTrance
I have released a 1.4.5 version. (version states 1.4.2 because 1.4.5 was not available in the dropdown box at the time of release)
Updated for and tested on craftbukkit 1.4.5
Tested to work on 1.4.5 with:
Vault 1.2.19 PermissionsEx v1.19.4 Economy 6.0
1.4.4 broke the plugin
For the server owners who want an updated version https://www.dropbox.com/s/e21tywv1t5dk59j/wiipay.jar
its fixed by me, it is NOT fixed by wiigor
Thanks, Thomas
@EpicTrance
Same to me, 1.4.4 got that error:
2012-11-15 14:40:12 [SEVERE] Could not load 'plugins/wiipay.jar' in folder 'plugins' org.bukkit.plugin.InvalidPluginException: java.lang.VerifyError: class me.wiigor.wiipay.WiiPay overrides final method getLogger.()Ljava/util/logging/Logger; at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:154) at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:305) at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:230) at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:227) at org.bukkit.craftbukkit.CraftServer.<init>(CraftServer.java:205) at net.minecraft.server.ServerConfigurationManagerAbstract.<init>(ServerConfigurationManagerAbstract.java:51) at net.minecraft.server.ServerConfigurationManager.<init>(SourceFile:11) at net.minecraft.server.DedicatedServer.init(DedicatedServer.java:111) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:398) at net.minecraft.server.ThreadServerApplication.run(SourceFile:856) Caused by: java.lang.VerifyError: class me.wiigor.wiipay.WiiPay overrides final method getLogger.()Ljava/util/logging/Logger; at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:791) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) at java.net.URLClassLoader.access$100(URLClassLoader.java:71) at java.net.URLClassLoader$1.run(URLClassLoader.java:361) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 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:423) at java.lang.ClassLoader.loadClass(ClassLoader.java:356) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:264) at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:143) ... 9 more
broken with 1.4.4
Suggestion: multilanguage! (only english file, we can translate it!)
@EpicTrance
sure please make a ticket and write there what you want exactly.