mirror of
https://github.com/Aust1n46/VentureChat.git
synced 2025-05-22 18:09:06 +00:00
Added speak permissions for chat channels.
This commit is contained in:
parent
e23480805c
commit
d4a693d213
@ -1,4 +1,4 @@
|
||||
Version: 2.18.2
|
||||
Version: 2.20.0
|
||||
BlockCommandPlayer: '&cYou have been blocked from entering command {command}.'
|
||||
BlockCommandSender: '&cBlocked player &6{player} &cfrom entering command {command}.'
|
||||
BlockedCommand: '&cYou are blocked from entering this command: {command}'
|
||||
@ -14,6 +14,7 @@ ChannelListHeader: '&6Channel List : Alias'
|
||||
ChannelListWithPermissions: '{channel_color}{channel_name} : {channel_alias} - Permission Required'
|
||||
ChannelNoPermission: '&cYou do not have permission for this channel.'
|
||||
ChannelNoPermissionView: '&cYou do not have permission to look at this channel.'
|
||||
ChannelNoSpeakPermissions: '&cYou do not have permission to speak in this channel.'
|
||||
ChannelPlayerListHeader: '&6Players in Channel: {channel_color}{channel_name}'
|
||||
ChannelMuted: '&cYou are muted in this channel: {channel_color}{channel_name}&c{time}'
|
||||
CommandInvalidArguments: '&cInvalid command: {command} {args}'
|
||||
|
@ -1,4 +1,4 @@
|
||||
name: VentureChat
|
||||
main: mineverse.Aust1n46.chat.bungee.MineverseChatBungee
|
||||
version: 2.19.3
|
||||
version: 2.20.0
|
||||
author: Aust1n46
|
@ -294,7 +294,11 @@ enable_factions_channel: false
|
||||
# You must have prefixes and suffixes set in a Vault compatible permissions plugin to avoid errors
|
||||
# Use "" as the prefix or suffix to have none
|
||||
|
||||
#Set chatcolor to 'None' to have a group based chat color! Don't forget to put a suffix or other placeholder at the end of the format!
|
||||
# Set chatcolor to 'None' to have a group based chat color! Don't forget to put a suffix or other placeholder at the end of the format!
|
||||
|
||||
# Important!!!
|
||||
# Important!!!
|
||||
# If you delete a channel, restart the server! Do not use /chatreload!!!
|
||||
channels:
|
||||
GroupChatColorExample:
|
||||
color: '#706C1E'
|
||||
@ -308,6 +312,7 @@ channels:
|
||||
bungeecord: false
|
||||
alias: ge
|
||||
permissions: None
|
||||
speak_permissions: None
|
||||
format: '&f[#706C1EGroupColorChat&f] {vault_prefix} {player_displayname}#706C1E:{vault_suffix}'
|
||||
HexExample:
|
||||
color: '#ff0000'
|
||||
@ -321,6 +326,7 @@ channels:
|
||||
bungeecord: false
|
||||
alias: he
|
||||
permissions: None
|
||||
speak_permissions: None
|
||||
format: '&f[#ff0000Hex&f] {vault_prefix} {player_displayname}#ff0000:'
|
||||
BungeeExample:
|
||||
color: gold
|
||||
@ -334,7 +340,22 @@ channels:
|
||||
bungeecord: true
|
||||
alias: be
|
||||
permissions: None
|
||||
speak_permissions: None
|
||||
format: '&f[&6Network&f] {vault_prefix} {player_displayname}&6:'
|
||||
AnnouncementExample:
|
||||
color: red
|
||||
chatcolor: red
|
||||
mutable: false
|
||||
filter: false
|
||||
autojoin: true
|
||||
default: false
|
||||
distance: 0
|
||||
cooldown: 0
|
||||
bungeecord: true
|
||||
alias: announce
|
||||
permissions: None
|
||||
speak_permissions: announcement
|
||||
format: '&f[&aServer Announcement&f] {vault_prefix} {player_displayname}&c:'
|
||||
Global:
|
||||
color: dark_green
|
||||
chatcolor: dark_green
|
||||
@ -347,6 +368,7 @@ channels:
|
||||
bungeecord: false
|
||||
alias: g
|
||||
permissions: None
|
||||
speak_permissions: None
|
||||
format: '&f[&2Global&f] {vault_prefix} {player_displayname}&2:'
|
||||
Staff:
|
||||
color: green
|
||||
@ -360,6 +382,7 @@ channels:
|
||||
bungeecord: false
|
||||
alias: st
|
||||
permissions: staffchannel
|
||||
speak_permissions: None
|
||||
format: '&f[&aStaff&f] {vault_prefix} {player_displayname}&a:'
|
||||
Donator:
|
||||
color: light_purple
|
||||
@ -373,6 +396,7 @@ channels:
|
||||
bungeecord: false
|
||||
alias: d
|
||||
permissions: donatorchannel
|
||||
speak_permissions: None
|
||||
format: '&f[&dDonator&f] {vault_prefix} {player_displayname}&d:'
|
||||
Help:
|
||||
color: aqua
|
||||
@ -386,6 +410,7 @@ channels:
|
||||
bungeecord: false
|
||||
alias: h
|
||||
permissions: None
|
||||
speak_permissions: None
|
||||
format: '&f[&bHelp&f] {vault_prefix} {player_displayname}&b:'
|
||||
Trade:
|
||||
color: dark_aqua
|
||||
@ -399,6 +424,7 @@ channels:
|
||||
bungeecord: false
|
||||
alias: t
|
||||
permissions: None
|
||||
speak_permissions: None
|
||||
format: '&f[&3Trade&f] {vault_prefix} {player_displayname}&3:'
|
||||
Local:
|
||||
color: yellow
|
||||
@ -412,4 +438,5 @@ channels:
|
||||
bungeecord: false
|
||||
alias: l
|
||||
permissions: None
|
||||
speak_permissions: None
|
||||
format: '&f[&eLocal&f] {vault_prefix} {player_displayname}&e:'
|
@ -294,7 +294,11 @@ enable_factions_channel: false
|
||||
# You must have prefixes and suffixes set in a Vault compatible permissions plugin to avoid errors
|
||||
# Use "" as the prefix or suffix to have none
|
||||
|
||||
#Set chatcolor to 'None' to have a group based chat color! Don't forget to put a suffix or other placeholder at the end of the format!
|
||||
# Set chatcolor to 'None' to have a group based chat color! Don't forget to put a suffix or other placeholder at the end of the format!
|
||||
|
||||
# Important!!!
|
||||
# Important!!!
|
||||
# If you delete a channel, restart the server! Do not use /chatreload!!!
|
||||
channels:
|
||||
GroupChatColorExample:
|
||||
color: '#706C1E'
|
||||
@ -308,6 +312,7 @@ channels:
|
||||
bungeecord: false
|
||||
alias: ge
|
||||
permissions: None
|
||||
speak_permissions: None
|
||||
format: '&f[#706C1EGroupColorChat&f] {vault_prefix} {player_displayname}#706C1E:{vault_suffix}'
|
||||
HexExample:
|
||||
color: '#ff0000'
|
||||
@ -321,6 +326,7 @@ channels:
|
||||
bungeecord: false
|
||||
alias: he
|
||||
permissions: None
|
||||
speak_permissions: None
|
||||
format: '&f[#ff0000Hex&f] {vault_prefix} {player_displayname}#ff0000:'
|
||||
BungeeExample:
|
||||
color: gold
|
||||
@ -334,7 +340,22 @@ channels:
|
||||
bungeecord: true
|
||||
alias: be
|
||||
permissions: None
|
||||
speak_permissions: None
|
||||
format: '&f[&6Network&f] {vault_prefix} {player_displayname}&6:'
|
||||
AnnouncementExample:
|
||||
color: red
|
||||
chatcolor: red
|
||||
mutable: false
|
||||
filter: false
|
||||
autojoin: true
|
||||
default: false
|
||||
distance: 0
|
||||
cooldown: 0
|
||||
bungeecord: true
|
||||
alias: announce
|
||||
permissions: None
|
||||
speak_permissions: announcement
|
||||
format: '&f[&aServer Announcement&f] {vault_prefix} {player_displayname}&c:'
|
||||
Global:
|
||||
color: dark_green
|
||||
chatcolor: dark_green
|
||||
@ -347,6 +368,7 @@ channels:
|
||||
bungeecord: false
|
||||
alias: g
|
||||
permissions: None
|
||||
speak_permissions: None
|
||||
format: '&f[&2Global&f] {vault_prefix} {player_displayname}&2:'
|
||||
Staff:
|
||||
color: green
|
||||
@ -360,6 +382,7 @@ channels:
|
||||
bungeecord: false
|
||||
alias: st
|
||||
permissions: staffchannel
|
||||
speak_permissions: None
|
||||
format: '&f[&aStaff&f] {vault_prefix} {player_displayname}&a:'
|
||||
Donator:
|
||||
color: light_purple
|
||||
@ -373,6 +396,7 @@ channels:
|
||||
bungeecord: false
|
||||
alias: d
|
||||
permissions: donatorchannel
|
||||
speak_permissions: None
|
||||
format: '&f[&dDonator&f] {vault_prefix} {player_displayname}&d:'
|
||||
Help:
|
||||
color: aqua
|
||||
@ -386,6 +410,7 @@ channels:
|
||||
bungeecord: false
|
||||
alias: h
|
||||
permissions: None
|
||||
speak_permissions: None
|
||||
format: '&f[&bHelp&f] {vault_prefix} {player_displayname}&b:'
|
||||
Trade:
|
||||
color: dark_aqua
|
||||
@ -399,6 +424,7 @@ channels:
|
||||
bungeecord: false
|
||||
alias: t
|
||||
permissions: None
|
||||
speak_permissions: None
|
||||
format: '&f[&3Trade&f] {vault_prefix} {player_displayname}&3:'
|
||||
Local:
|
||||
color: yellow
|
||||
@ -412,4 +438,5 @@ channels:
|
||||
bungeecord: false
|
||||
alias: l
|
||||
permissions: None
|
||||
speak_permissions: None
|
||||
format: '&f[&eLocal&f] {vault_prefix} {player_displayname}&e:'
|
@ -12,11 +12,20 @@ import mineverse.Aust1n46.chat.utilities.Format;
|
||||
//This class is used to create ChatChannel objects, which store all the information for a channel. This
|
||||
//information is read in from the config file when the server starts up.
|
||||
public class ChatChannel {
|
||||
private static final String PERMISSION_PREFIX = "venturechat.";
|
||||
private static final String NO_PERMISSIONS = "venturechat.none";
|
||||
|
||||
private static MineverseChat plugin = MineverseChat.getInstance();
|
||||
private static ChatChannel defaultChatChannel;
|
||||
private static ChatChannel[] channels;
|
||||
private static String defaultColor;
|
||||
|
||||
private String name;
|
||||
private String permission;
|
||||
private String speakPermission;
|
||||
private Boolean mutable;
|
||||
private String color;
|
||||
private String chatcolor;
|
||||
private String chatColor;
|
||||
private Boolean defaultChannel;
|
||||
private Boolean autojoin;
|
||||
private String alias;
|
||||
@ -25,50 +34,32 @@ public class ChatChannel {
|
||||
private Boolean bungee;
|
||||
private String format;
|
||||
private int cooldown;
|
||||
private boolean irc;
|
||||
|
||||
private static MineverseChat plugin = MineverseChat.getInstance();
|
||||
private static ChatChannel defaultChatChannel;
|
||||
private static ChatChannel[] channels;
|
||||
private static String defaultColor;
|
||||
|
||||
public static void initialize() {
|
||||
String _color = "";
|
||||
String _chatcolor = "";
|
||||
String _name = "";
|
||||
String _permission = "";
|
||||
Boolean _mutable = false;
|
||||
Boolean _filter = false;
|
||||
Boolean _defaultchannel = false;
|
||||
String _alias = "";
|
||||
Double _distance = (double) 0;
|
||||
Boolean _autojoin = false;
|
||||
Boolean _bungee = false;
|
||||
String _format = "";
|
||||
int _cooldown = 0;
|
||||
ConfigurationSection cs = plugin.getConfig().getConfigurationSection("channels");
|
||||
int len = (cs.getKeys(false)).size();
|
||||
channels = new ChatChannel[len];
|
||||
int x = 0;
|
||||
int counter = 0;
|
||||
for(String key : cs.getKeys(false)) {
|
||||
_color = (String) cs.getString(key + ".color", "white");
|
||||
_chatcolor = (String) cs.getString(key + ".chatcolor", "white");
|
||||
_name = key;
|
||||
_permission = (String) cs.getString(key + ".permissions", "None");
|
||||
_mutable = (Boolean) cs.getBoolean(key + ".mutable", false);
|
||||
_filter = (Boolean) cs.getBoolean(key + ".filter", true);
|
||||
_bungee = (Boolean) cs.getBoolean(key + ".bungeecord", false);
|
||||
_format = cs.getString(key + ".format", "Default");
|
||||
_defaultchannel = (Boolean) cs.getBoolean(key + ".default", false);
|
||||
_alias = (String) cs.getString(key + ".alias", "None");
|
||||
_distance = (Double) cs.getDouble(key + ".distance", (double) 0);
|
||||
_cooldown = (int) cs.getInt(key + ".cooldown", 0);
|
||||
_autojoin = (Boolean) cs.getBoolean(key + ".autojoin", false);
|
||||
ChatChannel c = new ChatChannel(_name, _color, _chatcolor, _permission, _mutable, _filter, _defaultchannel, _alias, _distance, _autojoin, _bungee, _cooldown, _format);
|
||||
channels[x++] = c;
|
||||
if(_defaultchannel) {
|
||||
defaultChatChannel = c;
|
||||
defaultColor = _color;
|
||||
String color = cs.getString(key + ".color", "white");
|
||||
String chatColor = cs.getString(key + ".chatcolor", "white");
|
||||
String name = key;
|
||||
String permission = cs.getString(key + ".permissions", "None");
|
||||
String speakPermission = cs.getString(key + ".speak_permissions", "None");
|
||||
boolean mutable = cs.getBoolean(key + ".mutable", false);
|
||||
boolean filter = cs.getBoolean(key + ".filter", true);
|
||||
boolean bungee = cs.getBoolean(key + ".bungeecord", false);
|
||||
String format = cs.getString(key + ".format", "Default");
|
||||
boolean defaultChannel = cs.getBoolean(key + ".default", false);
|
||||
String alias = cs.getString(key + ".alias", "None");
|
||||
double distance = cs.getDouble(key + ".distance", (double) 0);
|
||||
int cooldown = cs.getInt(key + ".cooldown", 0);
|
||||
boolean autojoin = cs.getBoolean(key + ".autojoin", false);
|
||||
ChatChannel chatChannel = new ChatChannel(name, color, chatColor, permission, speakPermission, mutable, filter, defaultChannel, alias, distance, autojoin, bungee, cooldown, format);
|
||||
channels[counter++] = chatChannel;
|
||||
if(defaultChannel) {
|
||||
defaultChatChannel = chatChannel;
|
||||
defaultColor = color;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -108,46 +99,35 @@ public class ChatChannel {
|
||||
return joinlist;
|
||||
}
|
||||
|
||||
public ChatChannel(String _Name, String _color, String _chatcolor, String _Permission, Boolean _mutable, Boolean _filter, Boolean _defaultchannel, String _alias, Double _distance, Boolean _autojoin, Boolean _bungee, int _cooldown, String _format) {
|
||||
name = _Name;
|
||||
permission = "venturechat." + _Permission;
|
||||
mutable = _mutable;
|
||||
setColor(_color);
|
||||
setChatColor(_chatcolor);
|
||||
setDefaultChannel(_defaultchannel);
|
||||
setAlias(_alias);
|
||||
setDistance(_distance);
|
||||
setFilter(_filter);
|
||||
setAutojoin(_autojoin);
|
||||
setBungee(_bungee);
|
||||
setCooldown(_cooldown);
|
||||
setFormat(_format);
|
||||
public ChatChannel(String name, String color, String chatColor, String permission, String speakPermission, Boolean mutable, Boolean filter, Boolean defaultChannel, String alias, Double distance, Boolean autojoin, Boolean bungee, int cooldown, String format) {
|
||||
this.name = name;
|
||||
this.color = color;
|
||||
this.chatColor = chatColor;
|
||||
this.permission = PERMISSION_PREFIX + permission;
|
||||
this.speakPermission = PERMISSION_PREFIX + speakPermission;
|
||||
this.mutable = mutable;
|
||||
this.filter = filter;
|
||||
this.defaultChannel = defaultChannel;
|
||||
this.alias = alias;
|
||||
this.distance = distance;
|
||||
this.autojoin = autojoin;
|
||||
this.bungee = bungee;
|
||||
this.cooldown = cooldown;
|
||||
this.format = format;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setFormat(String _format) {
|
||||
format = _format;
|
||||
}
|
||||
|
||||
public String getFormat() {
|
||||
return format;
|
||||
}
|
||||
|
||||
public void setCooldown(int _cooldown) {
|
||||
cooldown = _cooldown;
|
||||
}
|
||||
|
||||
public int getCooldown() {
|
||||
return cooldown;
|
||||
}
|
||||
|
||||
public void setBungee(Boolean _bungee) {
|
||||
bungee = _bungee;
|
||||
}
|
||||
|
||||
public Boolean getBungee() {
|
||||
return bungee;
|
||||
}
|
||||
@ -160,10 +140,6 @@ public class ChatChannel {
|
||||
return autojoin;
|
||||
}
|
||||
|
||||
public void setAutojoin(Boolean _autojoin) {
|
||||
autojoin = _autojoin;
|
||||
}
|
||||
|
||||
public Boolean isMutable() {
|
||||
return mutable;
|
||||
}
|
||||
@ -182,55 +158,35 @@ public class ChatChannel {
|
||||
return color;
|
||||
}
|
||||
|
||||
public void setColor(String color) {
|
||||
this.color = color;
|
||||
}
|
||||
|
||||
public String getChatColor() {
|
||||
if(chatcolor.equalsIgnoreCase("None")) {
|
||||
return chatcolor;
|
||||
if(chatColor.equalsIgnoreCase("None")) {
|
||||
return chatColor;
|
||||
}
|
||||
if(Format.isValidColor(chatcolor)) {
|
||||
return String.valueOf(ChatColor.valueOf(chatcolor.toUpperCase()));
|
||||
if(Format.isValidColor(chatColor)) {
|
||||
return String.valueOf(ChatColor.valueOf(chatColor.toUpperCase()));
|
||||
}
|
||||
if(Format.isValidHexColor(chatcolor)) {
|
||||
return Format.convertHexColorCodeToBukkitColorCode(chatcolor);
|
||||
if(Format.isValidHexColor(chatColor)) {
|
||||
return Format.convertHexColorCodeToBukkitColorCode(chatColor);
|
||||
}
|
||||
return Format.DEFAULT_COLOR_CODE;
|
||||
}
|
||||
|
||||
public String getChatColorRaw() {
|
||||
return chatcolor;
|
||||
}
|
||||
|
||||
public void setChatColor(String chatcolor) {
|
||||
this.chatcolor = chatcolor;
|
||||
return chatColor;
|
||||
}
|
||||
|
||||
public Boolean isDefaultchannel() {
|
||||
return defaultChannel;
|
||||
}
|
||||
|
||||
public void setDefaultChannel(Boolean defaultChannel) {
|
||||
this.defaultChannel = defaultChannel;
|
||||
}
|
||||
|
||||
public String getAlias() {
|
||||
return alias;
|
||||
}
|
||||
|
||||
public void setAlias(String alias) {
|
||||
this.alias = alias;
|
||||
}
|
||||
|
||||
public Double getDistance() {
|
||||
return distance;
|
||||
}
|
||||
|
||||
public void setDistance(Double distance) {
|
||||
this.distance = distance;
|
||||
}
|
||||
|
||||
public Boolean hasDistance() {
|
||||
return distance > 0;
|
||||
}
|
||||
@ -240,20 +196,20 @@ public class ChatChannel {
|
||||
}
|
||||
|
||||
public Boolean hasPermission() {
|
||||
return !permission.equalsIgnoreCase("venturechat.none");
|
||||
return !permission.equalsIgnoreCase(NO_PERMISSIONS);
|
||||
}
|
||||
|
||||
public boolean hasSpeakPermission() {
|
||||
return !speakPermission.equalsIgnoreCase(NO_PERMISSIONS);
|
||||
}
|
||||
|
||||
public String getSpeakPermission() {
|
||||
return speakPermission;
|
||||
}
|
||||
|
||||
public Boolean isFiltered() {
|
||||
return filter;
|
||||
}
|
||||
|
||||
public void setFilter(Boolean filter) {
|
||||
this.filter = filter;
|
||||
}
|
||||
|
||||
public boolean isIRC() {
|
||||
return irc;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object channel) {
|
||||
|
@ -243,6 +243,11 @@ public class ChatListener implements Listener {
|
||||
mcp.setCurrentChannel(ChatChannel.getDefaultChannel());
|
||||
return;
|
||||
}
|
||||
if(eventChannel.hasSpeakPermission() && !mcp.getPlayer().hasPermission(eventChannel.getSpeakPermission())) {
|
||||
mcp.getPlayer().sendMessage(LocalizedMessage.CHANNEL_NO_SPEAK_PERMISSIONS.toString());
|
||||
mcp.setQuickChat(false);
|
||||
return;
|
||||
}
|
||||
curColor = eventChannel.getChatColor();
|
||||
bungee = eventChannel.getBungee();
|
||||
|
||||
|
@ -14,7 +14,7 @@ public class Localization {
|
||||
private static MineverseChat plugin = MineverseChat.getInstance();
|
||||
private static FileConfiguration localization;
|
||||
|
||||
private static final String VERSION = "2.18.2";
|
||||
private static final String VERSION = "2.20.0";
|
||||
|
||||
public static void initialize() {
|
||||
File localizationFile = new File(plugin.getDataFolder().getAbsolutePath(), "Messages.yml");
|
||||
|
@ -21,6 +21,7 @@ public enum LocalizedMessage {
|
||||
CHANNEL_LIST_WITH_PERMISSIONS("ChannelListWithPermissions"),
|
||||
CHANNEL_NO_PERMISSION("ChannelNoPermission"),
|
||||
CHANNEL_NO_PERMISSION_VIEW("ChannelNoPermissionView"),
|
||||
CHANNEL_NO_SPEAK_PERMISSIONS("ChannelNoSpeakPermissions"),
|
||||
CHANNEL_PLAYER_LIST_HEADER("ChannelPlayerListHeader"),
|
||||
CHANNEL_MUTED("ChannelMuted"),
|
||||
COMMAND_INVALID_ARGUMENTS("CommandInvalidArguments"),
|
||||
|
@ -1,5 +1,5 @@
|
||||
name: VentureChat
|
||||
version: 2.19.3
|
||||
version: 2.20.0
|
||||
api-version: 1.13
|
||||
main: mineverse.Aust1n46.chat.MineverseChat
|
||||
depend: [Vault, ProtocolLib, PlaceholderAPI]
|
||||
|
Loading…
x
Reference in New Issue
Block a user