Discipline System [LegacyFactions]

Discussion in 'Plugin Requests' started by SolarStrafe, Jan 14, 2016.

Thread Status:
Not open for further replies.
  1. Offline

    SolarStrafe

    Hi guys, I was wondering if any coders out there could make me a plugin for punishments, it's kinda like mineplex but with some differences.

    Plugin category: Punishments/StaffTools

    Suggested name: LegacyDiscipline

    What I want: Ok, what I am going to say might make no apparent sense, but I'll make this as simple as possible

    When a player has permission A (See bellow) he/she will be able to do /discipline or /disc <playername>. When he/she does this, A GUI will pop up. This GUI will have a few items in it. It will be a double chest GUI titled "LegacyDiscipline - Punishing <username that is being disciplined>. I am going to talk about these items places in numbers. EX: Slot 1 is the top row and the furthest to the left, slot 17 is the second row, and 8 to the right.

    A cobweb will be displayed in slot number 5. When the punisher hovers over the cobweb, they will see the player name they are punishing in a lore format. The message they see will be changeable in config!

    In slot number 11, an iron block will be displayed. If the player clicks on the iron block, the player will be exited from the menu and will see a message in chat saying "Type the reason for disciplining <being punished's name>" The player can then type any text they wish. If they type "Test", the punishing player will be forced to run "/mute <the punished player> <reason they typed>" Our MaxBans plugin will then carry the command out.

    In slot number 17, a redstone will be displayed. If the player clicks on the redstone block, the player will be exited from the menu and will see a message in chat saying "Type the reason for disciplining <being punished's name>" The player can then type any text they wish. If they type "Test", the punishing player will be forced to run "/ban <the punished player> <reason they typed>" Our MaxBans plugin will then carry the command out.

    In slot number 23, an coal will be displayed. If the player clicks on the coal block, the player will be exited from the menu and will see a message in chat saying "Type the reason for disciplining <being punished's name>" The player can then type any text they wish. If they type "Test", the punishing player will be forced to run "/kick <the punished player> <reason they typed>" Our MaxBans plugin will then carry the command out.

    In slot number 38, an lapis block will be displayed. If the player clicks on the lapis block, the player will be exited from the menu and will see a message in chat saying "Type the reason for disciplining <being punished's name>" The player can then type any text they wish. If they type "Test", the punishing player will then be displayed with another chat message. This one will say "How long would you like to tempban <the player being punished's name>?" The player could type the duration of the tempban. As usual, the player would have to type an acceptable format, which the developer could choose [ex, 1 week, 1w, 1min, 1month, etc] After the player chose the duration, the player would be forced to run /tempban <the punished player> <the duration they specified> <reason they typed>" Our MaxBans plugin will then carry the command out.

    In slot number 44, a gold block will be displayed. If the player clicks on the gold block, the player will be exited from the menu and will see a message in chat saying "Type the reason for disciplining <being punished's name>" The player can then type any text they wish. If they type "Test", the punishing player will then be displayed with another chat message. This one will say "How long would you like to tempmute <the player being punished's name>?" The player could type the duration of the tempmute. As usual, the player would have to type an acceptable format, which the developer could choose [ex, 1 week, 1w, 1min, 1month, etc] After the player chose the duration, the player would be forced to run /tempmute <the punished player> <the duration they specified> <reason they typed>" Our MaxBans plugin will then carry the command out.

    Notes: When the player is selecting the duration or reason of any punishment, the public will not see the text they type.

    Whilst choosing a duration or reason of any punishment, the player may opt out of this at any time by typing "cancel". The player would then be able to type to the chat regularly

    The player may opt out of the GUI at any time by pressing Escape or the inventory key.


    All of the messages that the player sees in chat are editable in config.

    Ideas for commands: /discipline [/disc for shorter version] and /discipline reload [Reload will reload the config]

    Ideas for permissions: Permission A: legacy.discipline

    Permission A will give the player access to the entire plugin, minus reloading the config.

    Permission B: legacy.reload

    Permission B will give the player access to /discipline reload

    Permissions C (Self Explanitiry)
    legacy.tempban
    legacy.tempmute
    legacy.kick
    legacy.ban
    legacy.mute
    Each of these displays a different option in the GUI


    When I'd like it by: ASAP

    THE PLUGIN MUST BE 1.7.10 AND SPIGOT COMPATIBLE, ALSO WORKS WITH JAVA 1.8 :)
     
    Last edited: Jan 15, 2016
  2. Offline

    pie_flavor

    @SolarStrafe I will make this.
    Things I just have to say: I like how you built the plugin idea to run with an existing system, rather than forcing us to make our own (temp bans are esp. annoying). I like how you fully described the plugin, as explicitly as possible, with all relevant information. I like how you also let us know what versions of the different platforms you have (I have never seen that unprompted before now, even though it's really important). Thank you for taking the time to properly write a plugin request.

    Couple questions: Does the player necessarily have the permission to execute the MaxBans command?
    What if a player named Reload joins the server?
     
    Last edited: Jan 14, 2016
  3. Offline

    SolarStrafe

    Thanks for the comments.

    The command will be all one word

    And the plugin is actually LiteBans. And yes, they would have permission!

    Also, read the edit I made to the OP
     
    Last edited: Jan 15, 2016
  4. Offline

    SolarStrafe

  5. Offline

    pie_flavor

    @SolarStrafe We appear to have some sort of a problem. An IllegalArgumentException is thrown when I create the inventory, stating that the title cannot be longer than 32 characters. Any other ideas for the inventory's title?
     
  6. Offline

    SolarStrafe

  7. Offline

    SolarStrafe

  8. Offline

    pie_flavor

  9. Offline

    SolarStrafe

    Ok thanks. Can anyone solve this problem?
     
  10. Offline

    SolarStrafe

Thread Status:
Not open for further replies.

Share This Page