package com.github.theholywaffle.teamspeak3.api;

public enum BPermissionType {

	B_SERVERINSTANCE_HELP_VIEW("b_serverinstance_help_view", "Retrieve information about ServerQuery commands", 1),
	B_SERVERINSTANCE_INFO_VIEW("b_serverinstance_info_view", "Retrieve global server information", 2),
	B_SERVERINSTANCE_VIRTUALSERVER_LIST("b_serverinstance_virtualserver_list", "List virtual servers stored in the database", 3),
	B_SERVERINSTANCE_BINDING_LIST("b_serverinstance_binding_list", "List active IP bindings on multi-homed machines", 4),
	B_SERVERINSTANCE_PERMISSION_LIST("b_serverinstance_permission_list", "List permissions available available on the server instance", 5),
	B_SERVERINSTANCE_PERMISSION_FIND("b_serverinstance_permission_find", "Search permission assignments by name or ID", 6),
	B_VIRTUALSERVER_CREATE("b_virtualserver_create", "Create virtual servers", 7),
	B_VIRTUALSERVER_DELETE("b_virtualserver_delete", "Delete virtual servers", 8),
	B_VIRTUALSERVER_START_ANY("b_virtualserver_start_any", "Start any virtual server in the server instance", 9),
	B_VIRTUALSERVER_STOP_ANY("b_virtualserver_stop_any", "Stop any virtual server in the server instance", 10),
	B_VIRTUALSERVER_CHANGE_MACHINE_ID("b_virtualserver_change_machine_id", "Change a virtual servers machine ID", 11),
	B_VIRTUALSERVER_CHANGE_TEMPLATE("b_virtualserver_change_template", "Edit virtual server default template values", 12),
	B_SERVERQUERY_LOGIN("b_serverquery_login", "Login to ServerQuery", 13),
	B_SERVERQUERY_LOGIN_CREATE("b_serverquery_login_create", "Create a new server query login", 14),
	B_SERVERQUERY_LOGIN_DELETE("b_serverquery_login_delete", "Delete a server query login", 15),
	B_SERVERQUERY_LOGIN_LIST("b_serverquery_login_list", "List server query logins", 16),
	B_SERVERINSTANCE_TEXTMESSAGE_SEND("b_serverinstance_textmessage_send", "Send text messages to all virtual servers at once", 17),
	B_SERVERINSTANCE_LOG_VIEW("b_serverinstance_log_view", "Retrieve global server log", 18),
	B_SERVERINSTANCE_LOG_ADD("b_serverinstance_log_add", "Write to global server log", 19),
	B_SERVERINSTANCE_STOP("b_serverinstance_stop", "Shutdown the server process", 20),
	B_SERVERINSTANCE_MODIFY_SETTINGS("b_serverinstance_modify_settings", "Edit global settings", 21),
	B_SERVERINSTANCE_MODIFY_QUERYGROUP("b_serverinstance_modify_querygroup", "Edit global ServerQuery groups", 22),
	B_SERVERINSTANCE_MODIFY_TEMPLATES("b_serverinstance_modify_templates", "Edit global template groups", 23),
	B_VIRTUALSERVER_SELECT("b_virtualserver_select", "Select a virtual server", 24),
	B_VIRTUALSERVER_INFO_VIEW("b_virtualserver_info_view", "Retrieve virtual server information", 25),
	B_VIRTUALSERVER_CONNECTIONINFO_VIEW("b_virtualserver_connectioninfo_view", "Retrieve virtual server connection information", 26),
	B_VIRTUALSERVER_CHANNEL_LIST("b_virtualserver_channel_list", "List channels on a virtual server", 27),
	B_VIRTUALSERVER_CHANNEL_SEARCH("b_virtualserver_channel_search", "Search for channels on a virtual server", 28),
	B_VIRTUALSERVER_CLIENT_LIST("b_virtualserver_client_list", "List clients online on a virtual server", 29),
	B_VIRTUALSERVER_CLIENT_SEARCH("b_virtualserver_client_search", "Search for clients online on a virtual server", 30),
	B_VIRTUALSERVER_CLIENT_DBLIST("b_virtualserver_client_dblist", "List client identities known by the virtual server", 31),
	B_VIRTUALSERVER_CLIENT_DBSEARCH("b_virtualserver_client_dbsearch", "Search for client identities known by the virtual server", 32),
	B_VIRTUALSERVER_CLIENT_DBINFO("b_virtualserver_client_dbinfo", "Retrieve client information", 33),
	B_VIRTUALSERVER_PERMISSION_FIND("b_virtualserver_permission_find", "Find permissions", 34),
	B_VIRTUALSERVER_CUSTOM_SEARCH("b_virtualserver_custom_search", "Find custom fields", 35),
	B_VIRTUALSERVER_START("b_virtualserver_start", "Start own virtual server", 36),
	B_VIRTUALSERVER_STOP("b_virtualserver_stop", "Stop own virtual server", 37),
	B_VIRTUALSERVER_TOKEN_LIST("b_virtualserver_token_list", "List privilege keys available", 38),
	B_VIRTUALSERVER_TOKEN_ADD("b_virtualserver_token_add", "Create new privilege keys", 39),
	B_VIRTUALSERVER_TOKEN_USE("b_virtualserver_token_use", "Use a privilege keys to gain access to groups", 40),
	B_VIRTUALSERVER_TOKEN_DELETE("b_virtualserver_token_delete", "Delete a privilege key", 41),
	B_VIRTUALSERVER_APIKEY_ADD("b_virtualserver_apikey_add", "Create a new API key", 42),
	B_VIRTUALSERVER_APIKEY_MANAGE("b_virtualserver_apikey_manage", "Manage existing API keys", 43),
	B_VIRTUALSERVER_LOG_VIEW("b_virtualserver_log_view", "Retrieve virtual server log", 44),
	B_VIRTUALSERVER_LOG_ADD("b_virtualserver_log_add", "Write to virtual server log", 45),
	B_VIRTUALSERVER_JOIN_IGNORE_PASSWORD("b_virtualserver_join_ignore_password", "Join virtual server ignoring its password", 46),
	B_VIRTUALSERVER_NOTIFY_REGISTER("b_virtualserver_notify_register", "Register for server notifications", 47),
	B_VIRTUALSERVER_NOTIFY_UNREGISTER("b_virtualserver_notify_unregister", "Unregister from server notifications", 48),
	B_VIRTUALSERVER_SNAPSHOT_CREATE("b_virtualserver_snapshot_create", "Create server snapshots", 49),
	B_VIRTUALSERVER_SNAPSHOT_DEPLOY("b_virtualserver_snapshot_deploy", "Deploy server snapshots", 50),
	B_VIRTUALSERVER_PERMISSION_RESET("b_virtualserver_permission_reset", "Reset the server permission settings to default values", 51),
	B_VIRTUALSERVER_MODIFY_NAME("b_virtualserver_modify_name", "Modify server name", 52),
	B_VIRTUALSERVER_MODIFY_WELCOMEMESSAGE("b_virtualserver_modify_welcomemessage", "Modify welcome message", 53),
	B_VIRTUALSERVER_MODIFY_MAXCLIENTS("b_virtualserver_modify_maxclients", "Modify servers max clients", 54),
	B_VIRTUALSERVER_MODIFY_RESERVED_SLOTS("b_virtualserver_modify_reserved_slots", "Modify reserved slots", 55),
	B_VIRTUALSERVER_MODIFY_PASSWORD("b_virtualserver_modify_password", "Modify server password", 56),
	B_VIRTUALSERVER_MODIFY_DEFAULT_SERVERGROUP("b_virtualserver_modify_default_servergroup", "Modify default Server Group", 57),
	B_VIRTUALSERVER_MODIFY_DEFAULT_CHANNELGROUP("b_virtualserver_modify_default_channelgroup", "Modify default Channel Group", 58),
	B_VIRTUALSERVER_MODIFY_DEFAULT_CHANNELADMINGROUP("b_virtualserver_modify_default_channeladmingroup", "Modify default Channel Admin Group", 59),
	B_VIRTUALSERVER_MODIFY_CHANNEL_FORCED_SILENCE("b_virtualserver_modify_channel_forced_silence", "Modify channel force silence value", 60),
	B_VIRTUALSERVER_MODIFY_COMPLAIN("b_virtualserver_modify_complain", "Modify individual complain settings", 61),
	B_VIRTUALSERVER_MODIFY_ANTIFLOOD("b_virtualserver_modify_antiflood", "Modify individual antiflood settings", 62),
	B_VIRTUALSERVER_MODIFY_FT_SETTINGS("b_virtualserver_modify_ft_settings", "Modify file transfer settings", 63),
	B_VIRTUALSERVER_MODIFY_FT_QUOTAS("b_virtualserver_modify_ft_quotas", "Modify file transfer quotas", 64),
	B_VIRTUALSERVER_MODIFY_HOSTMESSAGE("b_virtualserver_modify_hostmessage", "Modify individual hostmessage settings", 65),
	B_VIRTUALSERVER_MODIFY_HOSTBANNER("b_virtualserver_modify_hostbanner", "Modify individual hostbanner settings", 66),
	B_VIRTUALSERVER_MODIFY_HOSTBUTTON("b_virtualserver_modify_hostbutton", "Modify individual hostbutton settings", 67),
	B_VIRTUALSERVER_MODIFY_PORT("b_virtualserver_modify_port", "Modify server port", 68),
	B_VIRTUALSERVER_MODIFY_AUTOSTART("b_virtualserver_modify_autostart", "Modify server autostart", 69),
	B_VIRTUALSERVER_MODIFY_NEEDED_IDENTITY_SECURITY_LEVEL("b_virtualserver_modify_needed_identity_security_level", "Modify required identity security level", 70),
	B_VIRTUALSERVER_MODIFY_PRIORITY_SPEAKER_DIMM_MODIFICATOR("b_virtualserver_modify_priority_speaker_dimm_modificator", "Modify priority speaker dimm modificator", 71),
	B_VIRTUALSERVER_MODIFY_LOG_SETTINGS("b_virtualserver_modify_log_settings", "Modify log settings", 72),
	B_VIRTUALSERVER_MODIFY_MIN_CLIENT_VERSION("b_virtualserver_modify_min_client_version", "Modify min client version", 73),
	B_VIRTUALSERVER_MODIFY_ICON_ID("b_virtualserver_modify_icon_id", "Modify server icon", 74),
	B_VIRTUALSERVER_MODIFY_WEBLIST("b_virtualserver_modify_weblist", "Modify web server list reporting settings", 75),
	B_VIRTUALSERVER_MODIFY_CODEC_ENCRYPTION_MODE("b_virtualserver_modify_codec_encryption_mode", "Modify codec encryption mode", 76),
	B_VIRTUALSERVER_MODIFY_TEMPORARY_PASSWORDS("b_virtualserver_modify_temporary_passwords", "Modify temporary serverpasswords", 77),
	B_VIRTUALSERVER_MODIFY_TEMPORARY_PASSWORDS_OWN("b_virtualserver_modify_temporary_passwords_own", "Modify own temporary serverpasswords", 78),
	B_VIRTUALSERVER_MODIFY_CHANNEL_TEMP_DELETE_DELAY_DEFAULT("b_virtualserver_modify_channel_temp_delete_delay_default", "Modify default temporary channel delete delay", 79),
	B_VIRTUALSERVER_MODIFY_NICKNAME("b_virtualserver_modify_nickname", "Modify server nicknames", 80),
	B_VIRTUALSERVER_MODIFY_INTEGRATIONS("b_virtualserver_modify_integrations", "Modify integrations", 81),
	B_CHANNEL_GROUP_INHERITANCE_END("b_channel_group_inheritance_end", "Stop inheritance of channel group permissions", 84),
	B_CHANNEL_INFO_VIEW("b_channel_info_view", "Retrieve channel information", 87),
	B_CHANNEL_CREATE_CHILD("b_channel_create_child", "Create sub-channels", 88),
	B_CHANNEL_CREATE_PERMANENT("b_channel_create_permanent", "Create permanent channels", 89),
	B_CHANNEL_CREATE_SEMI_PERMANENT("b_channel_create_semi_permanent", "Create semi-permanent channels", 90),
	B_CHANNEL_CREATE_TEMPORARY("b_channel_create_temporary", "Create temporary channels", 91),
	B_CHANNEL_CREATE_WITH_TOPIC("b_channel_create_with_topic", "Create channels with a topic", 92),
	B_CHANNEL_CREATE_WITH_DESCRIPTION("b_channel_create_with_description", "Create channels with a description", 93),
	B_CHANNEL_CREATE_WITH_PASSWORD("b_channel_create_with_password", "Create password protected channels", 94),
	B_CHANNEL_CREATE_WITH_BANNER("b_channel_create_with_banner", "Create channel with a banner", 95),
	B_CHANNEL_CREATE_MODIFY_WITH_CODEC_OPUSVOICE("b_channel_create_modify_with_codec_opusvoice", "Create channels using OPUS (voice) codec", 96),
	B_CHANNEL_CREATE_MODIFY_WITH_CODEC_OPUSMUSIC("b_channel_create_modify_with_codec_opusmusic", "Create channels using OPUS (music) codec", 97),
	B_CHANNEL_CREATE_WITH_MAXCLIENTS("b_channel_create_with_maxclients", "Create channels with custom max clients", 100),
	B_CHANNEL_CREATE_WITH_MAXFAMILYCLIENTS("b_channel_create_with_maxfamilyclients", "Create channels with custom max family clients", 101),
	B_CHANNEL_CREATE_WITH_SORTORDER("b_channel_create_with_sortorder", "Create channels with custom sort order", 102),
	B_CHANNEL_CREATE_WITH_DEFAULT("b_channel_create_with_default", "Create default channels", 103),
	B_CHANNEL_CREATE_WITH_NEEDED_TALK_POWER("b_channel_create_with_needed_talk_power", "Create channels with needed talk power", 104),
	B_CHANNEL_CREATE_MODIFY_WITH_FORCE_PASSWORD("b_channel_create_modify_with_force_password", "Create new channels only with password", 105),
	B_CHANNEL_MODIFY_PARENT("b_channel_modify_parent", "Move channels", 107),
	B_CHANNEL_MODIFY_MAKE_DEFAULT("b_channel_modify_make_default", "Make channel default", 108),
	B_CHANNEL_MODIFY_MAKE_PERMANENT("b_channel_modify_make_permanent", "Make channel permanent", 109),
	B_CHANNEL_MODIFY_MAKE_SEMI_PERMANENT("b_channel_modify_make_semi_permanent", "Make channel semi-permanent", 110),
	B_CHANNEL_MODIFY_MAKE_TEMPORARY("b_channel_modify_make_temporary", "Make channel temporary", 111),
	B_CHANNEL_MODIFY_NAME("b_channel_modify_name", "Modify channel name", 112),
	B_CHANNEL_MODIFY_TOPIC("b_channel_modify_topic", "Modify channel topic", 113),
	B_CHANNEL_MODIFY_DESCRIPTION("b_channel_modify_description", "Modify channel description", 114),
	B_CHANNEL_MODIFY_PASSWORD("b_channel_modify_password", "Modify channel password", 115),
	B_CHANNEL_MODIFY_BANNER("b_channel_modify_banner", "Modify channel banner", 116),
	B_CHANNEL_MODIFY_CODEC("b_channel_modify_codec", "Modify channel codec", 117),
	B_CHANNEL_MODIFY_CODEC_QUALITY("b_channel_modify_codec_quality", "Modify channel codec quality", 118),
	B_CHANNEL_MODIFY_CODEC_LATENCY_FACTOR("b_channel_modify_codec_latency_factor", "Modify channel codec latency factor", 119),
	B_CHANNEL_MODIFY_MAXCLIENTS("b_channel_modify_maxclients", "Modify channels max clients", 120),
	B_CHANNEL_MODIFY_MAXFAMILYCLIENTS("b_channel_modify_maxfamilyclients", "Modify channels max family clients", 121),
	B_CHANNEL_MODIFY_SORTORDER("b_channel_modify_sortorder", "Modify channel sort order", 122),
	B_CHANNEL_MODIFY_NEEDED_TALK_POWER("b_channel_modify_needed_talk_power", "Change needed channel talk power", 123),
	B_CHANNEL_MODIFY_MAKE_CODEC_ENCRYPTED("b_channel_modify_make_codec_encrypted", "Make channel codec encrypted", 126),
	B_CHANNEL_MODIFY_TEMP_DELETE_DELAY("b_channel_modify_temp_delete_delay", "Modify temporary channel delete delay", 127),
	B_CHANNEL_DELETE_PERMANENT("b_channel_delete_permanent", "Delete permanent channels", 128),
	B_CHANNEL_DELETE_SEMI_PERMANENT("b_channel_delete_semi_permanent", "Delete semi-permanent channels", 129),
	B_CHANNEL_DELETE_TEMPORARY("b_channel_delete_temporary", "Delete temporary channels", 130),
	B_CHANNEL_DELETE_FLAG_FORCE("b_channel_delete_flag_force", "Force channel delete", 131),
	B_CHANNEL_JOIN_PERMANENT("b_channel_join_permanent", "Join permanent channels", 134),
	B_CHANNEL_JOIN_SEMI_PERMANENT("b_channel_join_semi_permanent", "Join semi-permanent channels", 135),
	B_CHANNEL_JOIN_TEMPORARY("b_channel_join_temporary", "Join temporary channels", 136),
	B_CHANNEL_JOIN_IGNORE_PASSWORD("b_channel_join_ignore_password", "Join channel ignoring its password", 137),
	B_CHANNEL_JOIN_IGNORE_MAXCLIENTS("b_channel_join_ignore_maxclients", "Ignore channels max clients limit", 138),
	B_ICON_MANAGE("b_icon_manage", "Enables icon management", 147),
	B_GROUP_IS_PERMANENT("b_group_is_permanent", "Group is permanent", 148),
	B_VIRTUALSERVER_SERVERGROUP_LIST("b_virtualserver_servergroup_list", "List server groups", 153),
	B_VIRTUALSERVER_SERVERGROUP_PERMISSION_LIST("b_virtualserver_servergroup_permission_list", "List server group permissions", 154),
	B_VIRTUALSERVER_SERVERGROUP_CLIENT_LIST("b_virtualserver_servergroup_client_list", "List clients from a server group", 155),
	B_VIRTUALSERVER_CHANNELGROUP_LIST("b_virtualserver_channelgroup_list", "List channel groups", 156),
	B_VIRTUALSERVER_CHANNELGROUP_PERMISSION_LIST("b_virtualserver_channelgroup_permission_list", "List channel group permissions", 157),
	B_VIRTUALSERVER_CHANNELGROUP_CLIENT_LIST("b_virtualserver_channelgroup_client_list", "List clients from a channel group", 158),
	B_VIRTUALSERVER_CLIENT_PERMISSION_LIST("b_virtualserver_client_permission_list", "List client permissions", 159),
	B_VIRTUALSERVER_CHANNEL_PERMISSION_LIST("b_virtualserver_channel_permission_list", "List channel permissions", 160),
	B_VIRTUALSERVER_CHANNELCLIENT_PERMISSION_LIST("b_virtualserver_channelclient_permission_list", "List channel client permissions", 161),
	B_VIRTUALSERVER_SERVERGROUP_CREATE("b_virtualserver_servergroup_create", "Create server groups", 162),
	B_VIRTUALSERVER_CHANNELGROUP_CREATE("b_virtualserver_channelgroup_create", "Create channel groups", 163),
	B_PERMISSION_MODIFY_POWER_IGNORE("b_permission_modify_power_ignore", "Ignore needed permission modify power", 171),
	B_VIRTUALSERVER_SERVERGROUP_DELETE("b_virtualserver_servergroup_delete", "Delete server groups", 172),
	B_VIRTUALSERVER_CHANNELGROUP_DELETE("b_virtualserver_channelgroup_delete", "Delete channel groups", 173),
	B_CLIENT_IS_PRIORITY_SPEAKER("b_client_is_priority_speaker", "Client is priority speaker", 180),
	B_CLIENT_SKIP_CHANNELGROUP_PERMISSIONS("b_client_skip_channelgroup_permissions", "Ignore channel group permissions", 181),
	B_CLIENT_FORCE_PUSH_TO_TALK("b_client_force_push_to_talk", "Force Push-To-Talk capture mode", 182),
	B_CLIENT_IGNORE_BANS("b_client_ignore_bans", "Ignore bans", 183),
	B_CLIENT_IGNORE_ANTIFLOOD("b_client_ignore_antiflood", "Ignore antiflood measurements", 184),
	B_CLIENT_USE_RESERVED_SLOT("b_client_use_reserved_slot", "Use an reserved slot", 185),
	B_CLIENT_USE_CHANNEL_COMMANDER("b_client_use_channel_commander", "Use channel commander", 186),
	B_CLIENT_REQUEST_TALKER("b_client_request_talker", "Allow to request talk power", 187),
	B_CLIENT_AVATAR_DELETE_OTHER("b_client_avatar_delete_other", "Allow deletion of avatars from other clients", 188),
	B_CLIENT_IS_STICKY("b_client_is_sticky", "Client will be sticked to current channel", 189),
	B_CLIENT_IGNORE_STICKY("b_client_ignore_sticky", "Client ignores sticky flag", 190),
	B_CLIENT_INFO_VIEW("b_client_info_view", "Retrieve client information", 191),
	B_CLIENT_PERMISSIONOVERVIEW_VIEW("b_client_permissionoverview_view", "Retrieve client permissions overview", 192),
	B_CLIENT_PERMISSIONOVERVIEW_OWN("b_client_permissionoverview_own", "Retrieve clients own permissions overview", 193),
	B_CLIENT_REMOTEADDRESS_VIEW("b_client_remoteaddress_view", "View client IP address and port", 194),
	B_CLIENT_CUSTOM_INFO_VIEW("b_client_custom_info_view", "View custom fields", 197),
	B_CLIENT_COMPLAIN_LIST("b_client_complain_list", "Show complain list", 208),
	B_CLIENT_COMPLAIN_DELETE_OWN("b_client_complain_delete_own", "Delete own complains", 209),
	B_CLIENT_COMPLAIN_DELETE("b_client_complain_delete", "Delete complains", 210),
	B_CLIENT_BAN_LIST("b_client_ban_list", "Show banlist", 211),
	B_CLIENT_BAN_CREATE("b_client_ban_create", "Add a ban", 212),
	B_CLIENT_BAN_DELETE_OWN("b_client_ban_delete_own", "Delete own bans", 213),
	B_CLIENT_BAN_DELETE("b_client_ban_delete", "Delete bans", 214),
	B_CLIENT_SERVER_TEXTMESSAGE_SEND("b_client_server_textmessage_send", "Send text messages to virtual server", 218),
	B_CLIENT_CHANNEL_TEXTMESSAGE_SEND("b_client_channel_textmessage_send", "Send text messages to channel", 219),
	B_CLIENT_OFFLINE_TEXTMESSAGE_SEND("b_client_offline_textmessage_send", "Send offline messages to clients", 220),
	B_CLIENT_SET_FLAG_TALKER("b_client_set_flag_talker", "Set the talker flag for clients and allow them to speak", 225),
	B_CLIENT_MODIFY_DESCRIPTION("b_client_modify_description", "Edit a clients description", 228),
	B_CLIENT_MODIFY_OWN_DESCRIPTION("b_client_modify_own_description", "Allow client to edit own description", 229),
	B_CLIENT_MODIFY_DBPROPERTIES("b_client_modify_dbproperties", "Edit a clients properties in the database", 230),
	B_CLIENT_DELETE_DBPROPERTIES("b_client_delete_dbproperties", "Delete a clients properties in the database", 231),
	B_CLIENT_CREATE_MODIFY_SERVERQUERY_LOGIN("b_client_create_modify_serverquery_login", "Create or modify own ServerQuery account", 232),
	B_FT_IGNORE_PASSWORD("b_ft_ignore_password", "Browse files without channel password", 233),
	B_FT_TRANSFER_LIST("b_ft_transfer_list", "Retrieve list of running filetransfers", 234);

	private final String name;
	private final String description;
	private final int id;

	BPermissionType(String name, String description, int id) {
		this.name = name;
		this.description = description;
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public String getDescription() {
		return description;
	}

	public int getId() {
		return id;
	}
}
