name: UHPlugin
description: UltraHardcore Reloaded
main: eu.carrade.amaury.UHCReloaded.UHCReloaded
version: 1.4
author: "Amaury Carrade"
authors: [azenet, "João Roda"]

awareness:
  - !@UTF8

softdepend:
  - WorldBorder
  - SpectatorPlus
  - dynmap
  - ProtocolLib

commands:
   uh:
      description: UltraHardcore Reloaded base command
      usage: /<command> <subcommand> - see /<command> for available subcommands.
   t:
      description: Allows an user to send a message to his team.
      usage: /<command> <message>

   g:
      description: Allows an user to send a message to everyone.
      usage: /<command> <message>

   togglechat:
       description: Allows an user to toggle the chat between the global chat and a team chat.
       usage: /<command>

   join:
       description: Use this to join an UltraHardcore team.
       usage: /<command> [player] <team>

   leave:
       description: Use this to quit your current UltraHardcore team.
       usage: /<command> [player]

   teams:
       description: Displays a GUI to manage the UHCReloaded teams
       usage: /<command>

permissions:

    # Permissions for the /uh command
    
    uh.*:
        description: Gives access to all Ultra Hardcore commands.
        children:
            uh.build: true
            uh.about: true
            uh.start: true
            uh.shift: true
            uh.team: true
            uh.spawns: true
            uh.generatewalls: true
            uh.freeze: true
            uh.border: true
            uh.heal: true
            uh.healall: true
            uh.feed: true
            uh.feedall: true
            uh.tpback: true
            uh.kill: true
            uh.resurrect: true
            uh.spec: true
            uh.finish: true
            uh.infos: true
            uh.rules: true
            uh.timers: true
            uh.tp: true
            uh.team.spy: true
            uh.team.spy.others: true
            
            uh.teamchat: true
            uh.player: true
    
    uh.build:
        description: Allows an user to build before the beginning of the game
        default: op
    uh.start:
        description: Allows an user to start the game with /uh start
        default: op
    uh.shift:
        description: Allows an user to shift an episode using /uh shift
        default: op
    uh.team:
        description: Allows an user to manage the teams with /uh team *
        default: op
    uh.team.spy:
        description: Allows an user to receive all teams chat if he executes /uh team spy
        default: op
    uh.team.spy.others:
        description: Allows an user to toggle spy for another player; this other one will receive all the teams chat.
        default: op
    uh.spawns:
        description: Allows an user to manage the spawn points with /uh spawns *
        default: op
    uh.generatewalls:
        description: Allows an user to generate the walls around the map
        default: op
    uh.freeze:
        description: Allows an user to freeze the players
        default: op
    uh.border:
        description: Allows an user to manage the border using /uh border *
        default: op
    uh.heal:
        description: Allows an user to heal a player using /uh heal <player> [half-hearts]
        default: op
    uh.healall:
        description: Allows an user to heal ALL players using /uh healall [half-hearts]
        default: op
    uh.feed:
        description: Allows an user to feed a player using /uh feed <player> [food points] [saturation]
        default: op
    uh.feedall:
        description: Allows an user to feed ALL players using /uh feedall [food points] [saturation]
        default: op
    uh.kill:
        description: Allows an user to to mark another player as dead (even if offline) with /uh kill <player>
        default: op
    uh.resurrect:
        description: Allows an user to resurrect another player with /uh resurrect <player>
        default: op
    uh.tpback:
        description: Allows an user to teleport back a player to his death point with /uh tpback <player> [force]
        default: op
    uh.spec:
        description: Allows an user to manage spectators using /uh spec *
        default: op
    uh.finish:
        description: Allows an user to broadcast the end of the game with fireworks and messages (see config), using /uh finish
        default: op
    uh.timers:
        description: Allows an user to manage the timers with /uh timers *
        default: op
    uh.tp:
        description: Allows an user to teleport a team or the spectators with /uh tp *
        default: op
    uh.infos:
        description: Allows an user to get infos about the current game with /uh infos
        default: true
    uh.rules:
        description: Allows an user to broadcast or send the rules on-demand
        default: op
    uh.about:
        description: Prints some informations about the plugin and the translation.
        default: true
    
    
    # Permissions for the team-only chat
    
    uh.teamchat.*:
        description: Allows an user to use the team chat for both his own team and other teams.
        children:
            uh.teamchat.self: true
            uh.teamchat.others: true
    
    uh.teamchat.self:
        description: Allows an user to send a private message to their team.
        default: true
    uh.teamchat.others:
        description: Allows an user to send a private message to other team, and to see the private chat of any team.
        default: op
    
    
    # Permissions for the /join & /leave commands
    
    uh.player.*:
        description: Allows the full use of both /join and /leave.
        children:
            uh.player.join: true
            uh.player.leave: true
            uh.player.renameTeam: true
            uh.team.gui: true
    
    
    uh.player.join.*:
        description: Allows the full use of /join.
        children:
            uh.player.join.self: true
            uh.player.join.others: true
            uh.team.gui: true
    
    uh.player.join.self:
        description: Allows a player to use /join <team> (changes his own team).
        default: true
    uh.player.join.others:
        description: Allows a player to use /join <player> <team>.
        default: op
    
    
    uh.player.leave.*:
        description: Allows the full use of /leave.
        children:
            uh.player.leave.self: true
            uh.player.leave.others: true
            uh.team.gui: true
    
    uh.player.leave.self:
        description: Allows a player to use /leave (quits his own team).
        default: true
    uh.player.leave.others:
        description: Allows a player to use /leave <player>.
        default: op


    uh.player.renameTeam:
        default: Allows a player to rename his own team.
        default: op


    uh.team.gui:
        description: Allows a player to use the teams GUI (/uh team gui)
        default: true

