Filled PlayerJobs

Discussion in 'Plugin Requests' started by cammerplayz, Mar 5, 2020.

Thread Status:
Not open for further replies.
  1. Plugin category: PlayerJobs

    Minecraft version: 1.14.4

    Suggested name: PlayerJobs

    What I want: A plugin where players can request jobs and other players can answer them, also with a fee and when the job is completed the person who set the job auto pays the money to the person who completed the job, I would also like it if possible to be in a GUI (With the name of the GUI as &6Jobs) when the job is requested so it is a better view format, the GUI will be shown with the player who set the job, the name of the job and the task description.

    Ideas for commands:
    - /Jobs | Opens the GUI to view Jobs there are

    - /Jobs create <Job Name> <Job Payment> <Job Description> | Creates a job that is put into the GUI, Payment can be with an item or money through Vault

    - /Jobs take <Job Name> | Only one person takes the job, person who created the job can't take it

    - /Jobs <Name> <Finish> | Finishes the Job and pays the money to the person who took on the Job, (removes Job from the GUI)

    - /Jobs remove <Name> | Person who created the Job can remove it, people with jobs.override.remove can remove any job​

    Ideas for permissions:
    - jobs.jobs | Permission for GUI
    - jobs.create | Permission to create a Job
    - jobs.take | Permission to take a Job
    - jobs.finish | Permission for the person who created the Job to finish it
    - jobs.remove | Permission for the player who created the Job to remove it
    - jobs.remove.override | Permission to remove any job they wish

    When I'd like it by: ASAP

    If there are any questions or issues I will be more than happy to send back :), Thank you!
     
    Last edited: Mar 6, 2020
    SloopyGames likes this.
  2. Offline

    wand555

    What should the job payment do? Is it with items or money (if so, what kind of currency etc.)
     
  3. Offline

    timtower Administrator Administrator Moderator

    If money then you hook into Vault
     
  4. Ah, sorry for not implementing that, yes it will be through money or an item.
    (Edited the main post)

    if item isn't available then just money (through vault)
     
  5. Offline

    wand555

    @cammerplayz
    Working on it right now. I will try to get it done in the next few days.
    I made some changes though. Taking and finishing jobs is also done through the GUI and I added the ability for players who took a job, to quit it.
     
  6. That is perfect, thank you so much!
     
  7. Offline

    wand555

    @cammerplayz Finished it!
    Commands:
    • /jobs (jobs.jobs) - Opens the GUI.
    • /jobscreate <[jobName]> <amount> <[description]> (jobs.create) - Creates a new job. You have to use the exact syntax with '[]' so the plugin knows what's part of the name and description. That way a name/description can consist of multiple words.
    • /jobsoverride <player> (jobs.override.*) - Opens a GUI with all the jobs the given player has created.

    Usage:
    Note: The plugin depends on Vault.
    Players create jobs with the command. All jobs will be listed upon /jobs. If more than 45 jobs exist, the rest will automatically adjust accordingly with new pages (nether star item in the GUI). You can filter the jobs by all, available to take and currently in progress. The green shulker box will list you all jobs you have created. When the job is "awaiting" and you click on it, it will be deleted. When it is on "in progress" you can set it to finished there. A normal player cannot delete a job that is currently in progress by another player. Similar to that works the blue shulker box, which lists all jobs you have currently accepted. If you click on one there, you will quit the job and it becomes available to all again. Both gui's should work with multiple pages as well (though I doubt a player will have created/accept more than 45 jobs at once :D).
    When a player creates a job, the money is withdrawn from his account. The money will be send to the player who took the job on completion or be deposited back to the creator on deletion.
    Admins can modify any job by using /jobsoverride command. When they click on a job in the GUI, they have 3 options available. They can set the job to finished, fire the working player, or delete the job entirely. Note: I purposely made it, that through that GUI, admins can delete listings that are in progress. The money will be transfered back to the creator.

    This was also my first time hooking into Vault/VaultAPI so I'm not 100% sure everything is working alright.
    For now it only works (at least it should) with money, maybe later I will add item support.
    Let me know if you run into any errors!

    Download
    Source Code
     
  8. Thanks! <3 I will test for errors and thank you for making this, my server was in need of it xD

    Found an issue with it, see below, when I try make a job with /job create <name> <amount> <details> then I get the [] are necessary.
     
    Last edited by a moderator: Mar 8, 2020
  9. Offline

    wand555

    @cammerplayz The solution is in the picture.
    /jobscreate [Test ABC] 100 [This is a description]
    Would create a job with the name "Test ABC" and an amount of 100 and a description of "This is a description". As said before, the brackets are necessary
     
  10. Oh, sorry :') I hadn't realised, thank you! <3
     
Thread Status:
Not open for further replies.

Share This Page