Filled Simple BanWave Plugin

Discussion in 'Plugin Requests' started by Glamourized, May 1, 2017.

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

    Glamourized

    Plugin category: Admin Tools

    Minecraft version: 1.11

    Suggested name: Banwaves (name doesn't matter)

    What I want: I would like a simple banwave plugin that adds onto your current banning system, rather than creating its own. For example, when banning players, the plugin will run the command /ban <player1onbanlist> <reason> then the second player then the third, basically going down the list. A banwave would basically be a list of players that have been added to the ban list, and are waiting to be punished. Then, when a certain amount of ticks have passed it will automatically execute the banwave, or if a staff member with the proper permission executes one. There are other plugins out there similar to this but they are underdeveloped and buggy.

    Ideas for commands:
    /banwave -
    The help command, prints the message: "&cUsage: &7/banwave <add,remove,on,off,check,list>
    /banwave add <playername> <reason> - Adds a player to the banwave. The return message is: "&cBanwave &8» &b{player} &7has been added to the banwave. They will be removed shortly."
    /banwave remove <playername> - Removes a player from the banwave. The return message is: "&cBanwave &8» &b{player} &7has been removed from the banwave."
    /banwave off - Disables the banwave, players can still be added but will not be punished until the banwave is re-enabled (or until a banwave is executed by a staff member). The return message is: "&cBanwave &8» &7The banwave has been toggled &coff &7by &b{executer}&7."
    /banwave on - Enabled the banwave, players will be automatically punished. The return message is: "&cBanwave &8» &7The banwave has been toggled &aon &7by &b{executer}&7."
    /banwave list - Simply lists the players who have been added to the banwave. The return message is:
    "&7--------------- &cBanwave &7---------------
    &7There are currently &b{amountOfPlayers} &7on the banlist:
    &c{name}, &c{name}, (etc.)
    &7----------------------------------------------------"
    /banwave check <player> - Checks if a specific player is on the banlist and shows details about that player's upcoming ban. The return message (if the player is on the list) is:
    "&cBanwave &8» &b{player} &7is on the banlist.
    &bReason &8» &c{reason}
    &bExecuter &8» &c{staffMemberWhoBannedSaidPlayer}"

    Ideas for permissions:
    banwave.notify -
    Permission node which allows one to see the notifications for banwaves such as when you enable/disable the banwave and the information about how many players were banned in the banwave.
    banwave.add - Permission node to add a player to the banlist.
    banwave.remove - Permission node to remove a player from the banlist.
    banwave.toggleoff - Permission node to allow someone to disable the banwave.
    banwave.toggleon - Permission node to allow someone to enable the banwave.
    banwave.list - Permission node to allow someone to see how many players are on the next banwave.
    banwave.list.specifics - Permission node to allow someone to see the specific players on the banwave.
    banwave.check - Permission node to allow someone to check if and why a player is on the banwave.


    When I'd like it by: Soon but if you're going to help me out it's not a huge rush :)

    (If something is colored red, it is new/edited from original post)
     
    Last edited: May 2, 2017
  2. Offline

    ipodtouch0218

    I'll take this up. Should be done soon.

    EDIT:
    What should the message say when the BanWave itself is executed?
     
  3. Offline

    Glamourized

    Thank you so much for taking up my request;
    It'd be nice of the execute message says "&cBanwave &8» &7A banwave is will begin in &c10 seconds..." or if one is executed by an administrator it would announce to the fellow staff members "&cBanwave &8» &b{executer} &7has forcefully executed a banwave."
     
  4. Offline

    ipodtouch0218

    All finished! Reply to this thread if something is broken or you want something additional.
    Download Here

    config.yml Example:
    Code:
    banwave:
      command: "ban {player} {reason}"
      enabled: true
      ticks: 432000
      dynamic-backups: true
    Also, since you didn't add a manual start subcommand in your OP, I added one. The command is /banwaves start.
     
    Glamourized likes this.
  5. Offline

    Glamourized

    Right now, Console doesn't have access to add players to the banwave. Would it be possible to change that? My plugin is configured to add players to the banwave rather than instantly banned so they don't know the exact cheat they were detected for.
     
  6. Offline

    ipodtouch0218

    The only reason I didn't allow the console to add people to the ban list is how the "executor" was stored, by UUID. I'll change around the functions to allow console to use it, too.
     
    Glamourized likes this.
  7. Offline

    Glamourized

    That's fine, just let me know when it has been updated.
     
  8. Offline

    ipodtouch0218

  9. Offline

    Glamourized

    @ipodtouch0218, after around a week of using this plugin, it has stopped working and when a staff member or Console tries to add someone to the banwave, Console spits an error.
     
  10. Offline

    ipodtouch0218

    Somehow the Banwave itself was not created successfully, could you check for errors on startup & shutdown? Also, a copy of the "temp.yml" (if it's there) would be useful.
     
  11. Offline

    Glamourized

    temp.yml
    Code:
    backup:
      players:
      - e785d9ed-b6fa-4181-b526-4a8fd06faf69,W0h5ZHJhXSBCbGFja2xpc3RlZCBNb2RpZmljYXRpb25zIFs1XQ
      time: 1494886582256
    
    Errors upon enabling and disabling (restarts): https://pastebin.com/J1cUNHW2
    @ipodtouch0218
     
  12. Offline

    ipodtouch0218

    It seems that I forgot to add in a placeholder for the console in the temp.yml.
    Update here.
     
  13. Offline

    Ethay

  14. Offline

    ipodtouch0218

Thread Status:
Not open for further replies.

Share This Page