package org.allaymc.api.permission;

/**
 * Contains all the build-in permissions in Allay.
 *
 * @author daoge_cmd
 */
public interface Permissions {

    /* Ability */

    /**
     * The permission to chat.
     */
    String ABILITY_CHAT = "ability.chat";
    /**
     * The permission to have operator command quick bar in chat screen.
     */
    String ABILITY_OPERATOR_COMMAND_QUICK_BAR = "ability.operator_command_quick_bar";

    // TODO: input permission

    /* Block */

    /**
     * The permission to use command blocks (modify and view output).
     */
    String BLOCK_USE_COMMAND_BLOCK = "allay.block.use_command_block";

    /* Command */

    /**
     * The permission to view other's command outputs.
     */
    String COMMAND_VIEW_OTHER_OUTPUTS = "allay.command.view_other_outputs";
    /**
     * The permission to use /alwaysday command.
     */
    String COMMAND_ALWAYSDAY = "allay.command.alwaysday";
    /**
     * The permission to use /ban command.
     */
    String COMMAND_BAN = "allay.command.ban";
    /**
     * The permission to use /ban-ip command.
     */
    String COMMAND_BAN_IP = "allay.command.ban-ip";
    /**
     * The permission to use /camerashake command.
     */
    String COMMAND_CAMERASHAKE = "allay.command.camerashake";
    /**
     * The permission to use /clear command.
     */
    String COMMAND_CLEAR = "allay.command.clear";
    /**
     * The permission to use /deop command.
     */
    String COMMAND_DEOP = "allay.command.deop";
    /**
     * The permission to use /defaultgamemode command.
     */
    String COMMAND_DEFAULTGAMEMODE = "allay.command.defaultgamemode";
    /**
     * The permission to use /difficulty command.
     */
    String COMMAND_DIFFICULTY = "allay.command.difficulty";
    /**
     * The permission to use /effect command.
     */
    String COMMAND_EFFECT = "allay.command.effect";
    /**
     * The permission to use /enchant command.
     */
    String COMMAND_ENCHANT = "allay.command.enchant";
    /**
     * The permission to use /execute command.
     */
    String COMMAND_EXECUTE = "allay.command.execute";
    /**
     * The permission to use /fill command.
     */
    String COMMAND_FILL = "allay.command.fill";
    /**
     * The permission to use /fog command.
     */
    String COMMAND_FOG = "allay.command.fog";
    /**
     * The permission to use /gamemode command.
     */
    String COMMAND_GAMEMODE = "allay.command.gamemode";
    /**
     * The permission to use /gamerule command.
     */
    String COMMAND_GAMERULE = "allay.command.gamerule";
    /**
     * The permission to use /gc command.
     */
    String COMMAND_GC = "allay.command.gc";
    /**
     * The permission to use /give command.
     */
    String COMMAND_GIVE = "allay.command.give";
    /**
     * The permission to use /help command.
     */
    String COMMAND_HELP = "allay.command.help";
    /**
     * The permission to use /hud command.
     */
    String COMMAND_HUD = "allay.command.hud";
    /**
     * The permission to use /kick command.
     */
    String COMMAND_KICK = "allay.command.kick";
    /**
     * The permission to use /kill command.
     */
    String COMMAND_KILL = "allay.command.kill";
    /**
     * The permission to use /list command.
     */
    String COMMAND_LIST = "allay.command.list";
    /**
     * The permission to use /me command.
     */
    String COMMAND_ME = "allay.command.me";
    /**
     * The permission to use /op command.
     */
    String COMMAND_OP = "allay.command.op";
    /**
     * The permission to use /particle command.
     */
    String COMMAND_PARTICLE = "allay.command.particle";
    /**
     * The permission to use /permission command.
     */
    String COMMAND_PERMISSION = "allay.command.permission";
    /**
     * The permission to use /playanimation command.
     */
    String COMMAND_PLAYANIMATION = "allay.command.playanimation";
    /**
     * The permission to use /playsound command.
     */
    String COMMAND_PLAYSOUND = "allay.command.playsound";
    /**
     * The permission to use /plugin command.
     */
    String COMMAND_PLUGIN = "allay.command.plugin";
    /**
     * The permission to use /scoreboard command.
     */
    String COMMAND_SCOREBOARD = "allay.command.scoreboard";
    /**
     * The permission to use /setblock command.
     */
    String COMMAND_SETBLOCK = "allay.command.setblock";
    /**
     * The permission to use /setmaxplayers command.
     */
    String COMMAND_SETMAXPLAYERS = "allay.command.setmaxplayers";
    /**
     * The permission to use /setworldspawn command.
     */
    String COMMAND_SETWORLDSPAWN = "allay.command.setworldspawn";
    /**
     * The permission to use /spawnpoint command.
     */
    String COMMAND_SPAWNPOINT = "allay.command.spawnpoint";
    /**
     * The permission to use /status command.
     */
    String COMMAND_STATUS = "allay.command.status";
    /**
     * The permission to use /stop command.
     */
    String COMMAND_STOP = "allay.command.stop";
    /**
     * The permission to use /stopsound command.
     */
    String COMMAND_STOPSOUND = "allay.command.stopsound";
    /**
     * The permission to use /structure command.
     */
    String COMMAND_STRUCTURE = "allay.command.structure";
    /**
     * The permission to use /summon command.
     */
    String COMMAND_SUMMON = "allay.command.summon";
    /**
     * The permission to use /tag command.
     */
    String COMMAND_TAG = "allay.command.tag";
    /**
     * The permission to use /teleport command.
     */
    String COMMAND_TELEPORT = "allay.command.teleport";
    /**
     * The permission to use /testfor command.
     */
    String COMMAND_TESTFOR = "allay.command.testfor";
    /**
     * The permission to use /time command.
     */
    String COMMAND_TIME = "allay.command.time";
    /**
     * The permission to use /title command.
     */
    String COMMAND_TITLE = "allay.command.title";
    /**
     * The permission to use /tps command.
     */
    String COMMAND_TPS = "allay.command.tps";
    /**
     * The permission to use /unban command.
     */
    String COMMAND_UNBAN = "allay.command.unban";
    /**
     * The permission to use /unban-ip command.
     */
    String COMMAND_UNBAN_IP = "allay.command.unban-ip";
    /**
     * The permission to use /version command.
     */
    String COMMAND_VERSION = "allay.command.version";
    /**
     * The permission to use /weather command.
     */
    String COMMAND_WEATHER = "allay.command.weather";
    /**
     * The permission to use /whitelist command.
     */
    String COMMAND_WHITELIST = "allay.command.whitelist";
    /**
     * The permission to use /world command.
     */
    String COMMAND_WORLD = "allay.command.world";
    /**
     * The permission to use /xp command.
     */
    String COMMAND_XP = "allay.command.xp";
}
