JobSuite
JobSuite adds a (relatively) simple way of posting requested items for a reward to the server's population. This requires no interaction from the part of an admin - all of a job's administrative functions are available to the person who posted it (the economy can be entirely player-driven).
To get help with the available commands, just type: /job
Information
- Jenkins 1.1. Use of the plugin builds from Jenkins is unofficial, unsupported and unapproved by BukkitDev Staff!
- GitHub
Features
- Create and post jobs for the entire server to view.
- Lock jobs to prevent other people from sneaking in and sniping you at the last second.
- When a job is completed, the items are stored virtually; claim them at your convenience! (even across server restarts or log in and log out!)
- Posting a job takes the money from your account immediately. You can't be scammed by someone who won't pay up!
- SQLite and MySQL are both supported.
Commands
/job make [name]
Creates a job with the specified name. This name is shown in the job info header and when players search for it in the job list. Also displays the next step in creating the job.
Example: /job make Demo
/job desc [description]
Sets the newly created job's description to the specified value. This is shown when players see your job in the job list. Also displays the next step in job creation.
Example: /job desc This is a demo job. Deliver 64 stone blocks and 32 dark wood.
/job reward [amount]
Sets the reward for successfully delivering the items that you request. This amount is taken from you immediately when you post the job. You cannot set a reward with funds you don't have. Also shows the next step in creating the job.
Example: /job reward 100
/job additem [type[:data]] [amount]
Attempts to add the specified item by either ID (first) or name (second), with the specified data value. Command will fail if the amount provided is higher than the maximum stack size for that item.
Examples: /job additem 1 64
, /job additem 17:1 64
/job remitem [item id]
Removes the specified item by its id from your current job creation session. Fails if there is no item at the specified index. Job items start at index 0.
Example: /job remitem 0
/job addenchant [item id] [enchantment id] [power]
Attempts to add an enchantment to the specified item by its id. While creating a job, you can do /job listitems
to show available items and their ID. This command will fail if the power level provided is too high (or too low), if the enchantment doesn't exist, or if the enchantment can't be added to the item.
Example: /job addenchant 0 16 5
/job remenchant [item id] [enchantment id]
Tries to remove any enchantments from the item with the specified enchantment ID. This command will fail if the item doesn't exist or if the specified enchantment isn't on the item.
Example: /job remenchant 0 16
/job post
Posts the job that you are currently created and exits "job make" mode. This also assigns the job ID, which is how you will interact with it in-game. This command will fail if you skipped any of the steps in creation and the job is not complete.
Example: /job post
/job quit
Quits the job creation process and clears out anything you've already done. This command can't be un-done, so be sure before you use it!
Example: /job quit
/job cancel [job id]
Cancels the job specified by the ID you provide. This command will fail if you are not the owner of the job. If you have the permission jobsuite.admin.cancel
, you can bypass the owner requirement. Also works from the console.
Example: /job cancel 1
/job list [page]
Shows a list of available jobs, by their ID - Name - Description.
Example: /job list
/job info [job id] [item id]
Shows all of the relevant information about a job and the required items to fulfill it. If you specify the optional [item id] argument, you can see more specific information about that item (such as enchantments or data values).
Example: job info 1
@krinsdeath
Ok. Thanks. Build 74 seems to be working so far. Will let u know of any issues. Thanks for the update. Much Appreciated! And for the record, the database was being built when this error was encountered, it never existed yet..
I forgot that SQLite doesn't allow re-assigning fields after the table has been set up. I only really test the plugin with MySQL (I don't usually check if SQLite is broken).
I have created a conditional that runs that statement only if the plugin is using MySQL.
Edit: SQLite sucks more than I originally thought! Your database will have to be deleted and re-made in order to work properly with the latest version of the plugin since tables cannot be altered at all once created. I think I'd have to write an entirely new class whose sole purpose is to read the entire database into memory, delete the old one, and convert it to the new schema. I do not want to do this.
I believe the error is coming from line 172 of database.java.
@krinsdeath
Here ya go. It's a connection error when the JobSuite is being enabled. I missed that in the intial review of the log. My appologies.
That error can't be occurring if the server started up properly. Can you give me a full server.log from startup to when that error occurs?
Updated version does not work from start now. How did this even pass a Jenkins Build?
Get internal errors when you just try to do help job, job, job list, job ..........
zrocweb2 issued server command: /job list 2013-02-20 14:29:05 [SEVERE] null org.bukkit.command.CommandException: Unhandled exception executing command 'job' in plugin JobSuite v1.0-b72 at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:186) at org.bukkit.craftbukkit.v1_4_R1.CraftServer.dispatchCommand(CraftServer.java:514) at net.minecraft.server.v1_4_R1.PlayerConnection.handleCommand(PlayerConnection.java:980) at net.minecraft.server.v1_4_R1.PlayerConnection.chat(PlayerConnection.java:898) at net.minecraft.server.v1_4_R1.PlayerConnection.a(PlayerConnection.java:853) at net.minecraft.server.v1_4_R1.Packet3Chat.handle(Packet3Chat.java:44) at net.minecraft.server.v1_4_R1.NetworkManager.b(NetworkManager.java:290) at net.minecraft.server.v1_4_R1.PlayerConnection.d(PlayerConnection.java:113) at net.minecraft.server.v1_4_R1.ServerConnection.b(SourceFile:39) at net.minecraft.server.v1_4_R1.DedicatedServerConnection.b(SourceFile:30) at net.minecraft.server.v1_4_R1.MinecraftServer.r(MinecraftServer.java:598) at net.minecraft.server.v1_4_R1.DedicatedServer.r(DedicatedServer.java:224) at net.minecraft.server.v1_4_R1.MinecraftServer.q(MinecraftServer.java:494) at net.minecraft.server.v1_4_R1.MinecraftServer.run(MinecraftServer.java:427) at net.minecraft.server.v1_4_R1.ThreadServerApplication.run(SourceFile:849) Caused by: java.lang.NullPointerException at net.krinsoft.jobsuite.JobCore.onCommand(JobCore.java:71) at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ... 15 more
Can you please update with the changes need to make this work. I'm sure others are having the same issue???
Found the problems with the loading. In your select statements your are asking for a state for the "claimed" column to be string of 'false', but in the database itself your are saving the boolean integer value not the vartext value.
Update the values in the database and it works like a charm... Will have to edit the source and make the changes...... WOW!!!!!!!!!!!!!!!!
@krinsdeath
Thanks Krin, I understand and am as equally busy. I created the ticket for you. Hope all is well
Can you get me a MySQL dump of your jobsuite database (or tables), the version of the plugin (and bukkit), as well as a detailed server.log of these issues happening, and submit it as a ticket on my tracker?
I'm extremely busy with work and school and I work on the issues if I can.
Wow has this project been abandoned??? I noticed the author has not been replying since Jun...
Seems like the items are duplicating in the database as well. Additionally, the items don't have any "item_id" in the db for that item. Not sure if this was planned or not.. But if not, could be the cause of why the jobs are not loading.
FIX PLEASE!!!!!!!
Is anyone else having the issues of creating job(s) and the jobs you just created are not re-loaded if you restart your server. If I create the jobs and don't have to restart the server, the jobs stay in memory (not actually in the DB - really weird and not common). Originally I had sqllite driver issues which I correct and the plugin is now connecting to the DB properly, but still does not re-load the jobs upon a server restart!!!!
krinsdeath: I sent you a pm....
@ubunchu
Sure does.
does this work with 1.3?
How compatible is this with Tekkit, has any testing been done?
@krinsdeath
Correct, nor is it taking exact amounts most of the time either.
I'm not sure I follow. It should allow you to carry more than is required.. It's not taking partial amounts of stacks?
Any way to make it a little more lenient? Lets say if your job needs 200 cobble to finish, but you are currently carrying 600. Can you have it reduce from the total on hand?