mirror of
https://github.com/Aust1n46/VentureChat.git
synced 2025-05-22 18:09:06 +00:00
Resolve more merge conflicts due to file system layout change.
This commit is contained in:
parent
81ffcda38b
commit
d20e2c0535
File diff suppressed because it is too large
Load Diff
@ -1,454 +1,457 @@
|
||||
package mineverse.Aust1n46.chat.channel;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
|
||||
import mineverse.Aust1n46.chat.MineverseChat;
|
||||
import mineverse.Aust1n46.chat.utilities.Format;
|
||||
|
||||
/**
|
||||
* Chat channel object pojo. Class also contains static initialization methods
|
||||
* for reading chat channels from the config file.
|
||||
*
|
||||
* @author Aust1n46
|
||||
*/
|
||||
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 boolean aliasesRegisteredAsCommands;
|
||||
|
||||
@Deprecated
|
||||
private static ChatChannel[] channels;
|
||||
|
||||
private static String defaultColor;
|
||||
private static HashMap<String, ChatChannel> chatChannels;
|
||||
|
||||
private String name;
|
||||
private String permission;
|
||||
private String speakPermission;
|
||||
private boolean mutable;
|
||||
private String color;
|
||||
private String chatColor;
|
||||
private boolean defaultChannel;
|
||||
private boolean autojoin;
|
||||
private String alias;
|
||||
private double distance;
|
||||
private boolean filter;
|
||||
private boolean bungee;
|
||||
private String format;
|
||||
private int cooldown;
|
||||
|
||||
/**
|
||||
* Read chat channels from config file and initialize channel array.
|
||||
*/
|
||||
public static void initialize(boolean aliasesRegisteredAsCommands) {
|
||||
chatChannels = new HashMap<String, ChatChannel>();
|
||||
ChatChannel.aliasesRegisteredAsCommands = aliasesRegisteredAsCommands;
|
||||
ConfigurationSection cs = plugin.getConfig().getConfigurationSection("channels");
|
||||
int len = (cs.getKeys(false)).size();
|
||||
channels = new ChatChannel[len];
|
||||
int counter = 0;
|
||||
for (String key : cs.getKeys(false)) {
|
||||
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;
|
||||
chatChannels.put(name.toLowerCase(), chatChannel);
|
||||
chatChannels.put(alias.toLowerCase(), chatChannel);
|
||||
if (defaultChannel) {
|
||||
defaultChatChannel = chatChannel;
|
||||
defaultColor = color;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean areAliasesRegisteredAsCommands() {
|
||||
return aliasesRegisteredAsCommands;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get array of chat channels.
|
||||
*
|
||||
* @return {@link ChatChannel}[]
|
||||
*/
|
||||
@Deprecated
|
||||
public static ChatChannel[] getChannels() {
|
||||
return channels;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get list of chat channels.
|
||||
*
|
||||
* @return {@link Collection}<{@link ChatChannel}>
|
||||
*/
|
||||
public static Collection<ChatChannel> getChatChannels() {
|
||||
return new HashSet<ChatChannel>(chatChannels.values());
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a chat channel by name.
|
||||
*
|
||||
* @param channelName name of channel to get.
|
||||
* @return {@link ChatChannel}
|
||||
*/
|
||||
public static ChatChannel getChannel(String channelName) {
|
||||
return chatChannels.get(channelName.toLowerCase());
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the chat channel exists.
|
||||
*
|
||||
* @param channelName name of channel to check.
|
||||
* @return true if channel exists, false otherwise.
|
||||
*/
|
||||
public static boolean isChannel(String channelName) {
|
||||
return getChannel(channelName) != null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get default chat channel color.
|
||||
*
|
||||
* @return {@link String}
|
||||
*/
|
||||
public static String getDefaultColor() {
|
||||
return defaultColor;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get default chat channel.
|
||||
*
|
||||
* @return {@link ChatChannel}
|
||||
*/
|
||||
public static ChatChannel getDefaultChannel() {
|
||||
return defaultChatChannel;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get list of chat channels with autojoin set to true.
|
||||
*
|
||||
* @return {@link List}<{@link ChatChannel}>
|
||||
*/
|
||||
public static List<ChatChannel> getAutojoinList() {
|
||||
List<ChatChannel> joinlist = new ArrayList<ChatChannel>();
|
||||
for (ChatChannel c : channels) {
|
||||
if (c.getAutojoin()) {
|
||||
joinlist.add(c);
|
||||
}
|
||||
}
|
||||
return joinlist;
|
||||
}
|
||||
|
||||
/**
|
||||
* Parameterized constructor a {@link ChatChannel}.
|
||||
*
|
||||
* @param name
|
||||
* @param color
|
||||
* @param chatColor
|
||||
* @param permission
|
||||
* @param speakPermission
|
||||
* @param mutable
|
||||
* @param filter
|
||||
* @param defaultChannel
|
||||
* @param alias
|
||||
* @param distance
|
||||
* @param autojoin
|
||||
* @param bungee
|
||||
* @param cooldown
|
||||
* @param 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;
|
||||
}
|
||||
|
||||
/**
|
||||
* Deprecated parameterized constructor a {@link ChatChannel}.
|
||||
*
|
||||
* @param name
|
||||
* @param color
|
||||
* @param chatColor
|
||||
* @param permission
|
||||
* @param speakPermission
|
||||
* @param mutable
|
||||
* @param filter
|
||||
* @param defaultChannel
|
||||
* @param alias
|
||||
* @param distance
|
||||
* @param autojoin
|
||||
* @param bungee
|
||||
* @param cooldown
|
||||
* @param format
|
||||
*/
|
||||
@Deprecated
|
||||
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;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the name of the chat channel.
|
||||
*
|
||||
* @return {@link String}
|
||||
*/
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the format of the chat channel.
|
||||
*
|
||||
* @return {@link String}
|
||||
*/
|
||||
public String getFormat() {
|
||||
return format;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the cooldown of the chat channel in seconds.
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
public int getCooldown() {
|
||||
return cooldown;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the chat channel is BungeeCord enabled.
|
||||
*
|
||||
* @return {@link Boolean#TRUE} if the chat channel is BungeeCord enabled,
|
||||
* {@link Boolean#FALSE} otherwise.
|
||||
*/
|
||||
public Boolean getBungee() {
|
||||
return Boolean.valueOf(bungee);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the permissions node for the chat channel.
|
||||
*
|
||||
* @return {@link String}
|
||||
*/
|
||||
public String getPermission() {
|
||||
return permission;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if autojoin is enabled for the chat channel.
|
||||
*
|
||||
* @return {@link Boolean#TRUE} if autojoin is enabled, {@link Boolean#FALSE}
|
||||
* otherwise.
|
||||
*/
|
||||
public Boolean getAutojoin() {
|
||||
return Boolean.valueOf(autojoin);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the chat channel allows muting.
|
||||
*
|
||||
* @return {@link Boolean#TRUE} if muting is allowed, {@link Boolean#FALSE}
|
||||
* otherwise.
|
||||
*/
|
||||
public Boolean isMutable() {
|
||||
return Boolean.valueOf(mutable);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the formatted color of the chat channel.
|
||||
*
|
||||
* @return {@link String}. Returns {@link Format#DEFAULT_COLOR_CODE} if the
|
||||
* color is invalid.
|
||||
*/
|
||||
public String getColor() {
|
||||
if (Format.isValidColor(color)) {
|
||||
return String.valueOf(ChatColor.valueOf(color.toUpperCase()));
|
||||
}
|
||||
if (Format.isValidHexColor(color)) {
|
||||
return Format.convertHexColorCodeToBukkitColorCode(color);
|
||||
}
|
||||
return Format.DEFAULT_COLOR_CODE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the raw color value of the chat channel.
|
||||
*
|
||||
* @return {@link String}
|
||||
*/
|
||||
public String getColorRaw() {
|
||||
return color;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the formatted chat color of the chat channel.
|
||||
*
|
||||
* @return {@link String}. Returns {@link Format#DEFAULT_COLOR_CODE} if the chat
|
||||
* color is invalid.
|
||||
*/
|
||||
public String getChatColor() {
|
||||
if (chatColor.equalsIgnoreCase("None")) {
|
||||
return chatColor;
|
||||
}
|
||||
if (Format.isValidColor(chatColor)) {
|
||||
return String.valueOf(ChatColor.valueOf(chatColor.toUpperCase()));
|
||||
}
|
||||
if (Format.isValidHexColor(chatColor)) {
|
||||
return Format.convertHexColorCodeToBukkitColorCode(chatColor);
|
||||
}
|
||||
return Format.DEFAULT_COLOR_CODE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the raw chat color value of the chat channel.
|
||||
*
|
||||
* @return {@link String}
|
||||
*/
|
||||
public String getChatColorRaw() {
|
||||
return chatColor;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the chat channel is the default chat channel.
|
||||
*
|
||||
* @return {@link Boolean#TRUE} if the chat channel is the default chat channel,
|
||||
* {@link Boolean#FALSE} otherwise.
|
||||
*/
|
||||
public Boolean isDefaultchannel() {
|
||||
return Boolean.valueOf(defaultChannel);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the alias of the chat channel.
|
||||
*
|
||||
* @return {@link String}
|
||||
*/
|
||||
public String getAlias() {
|
||||
return alias;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the distance of the chat channel in blocks.
|
||||
*
|
||||
* @return {@link Double}
|
||||
*/
|
||||
public Double getDistance() {
|
||||
return Double.valueOf(distance);
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the chat channel has a distance set.
|
||||
*
|
||||
* @return {@link Boolean#TRUE} if the distance is greater than zero,
|
||||
* {@link Boolean#FALSE} otherwise.
|
||||
*/
|
||||
public Boolean hasDistance() {
|
||||
return Boolean.valueOf(distance > 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the chat channel has a cooldown set.
|
||||
*
|
||||
* @return {@link Boolean#TRUE} if the cooldown is greater than zero,
|
||||
* {@link Boolean#FALSE} otherwise.
|
||||
*/
|
||||
public Boolean hasCooldown() {
|
||||
return Boolean.valueOf(cooldown > 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the chat channel has a permission set.
|
||||
*
|
||||
* @return {@link Boolean#TRUE} if the permission does not equal
|
||||
* {@link ChatChannel#NO_PERMISSIONS}, {@link Boolean#FALSE} otherwise.
|
||||
*/
|
||||
public Boolean hasPermission() {
|
||||
return Boolean.valueOf(!permission.equalsIgnoreCase(NO_PERMISSIONS));
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the chat channel has a speak permission set.
|
||||
*
|
||||
* @return true if the speak permission does not equal
|
||||
* {@link ChatChannel#NO_PERMISSIONS}, false otherwise.
|
||||
*/
|
||||
public boolean hasSpeakPermission() {
|
||||
return !speakPermission.equalsIgnoreCase(NO_PERMISSIONS);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the speak permissions node for the chat channel.
|
||||
*
|
||||
* @return {@link String}
|
||||
*/
|
||||
public String getSpeakPermission() {
|
||||
return speakPermission;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the chat channel has the filter enabled.
|
||||
*
|
||||
* @return {@link Boolean#TRUE} if the chat channel has the filter enabled,
|
||||
* {@link Boolean#FALSE} otherwise.
|
||||
*/
|
||||
public Boolean isFiltered() {
|
||||
return Boolean.valueOf(filter);
|
||||
}
|
||||
|
||||
/**
|
||||
* Compares the chat channel by name to determine equality.
|
||||
*
|
||||
* @param channel Object to compare for equality.
|
||||
* @return true if the objects are equal, false otherwise.
|
||||
*/
|
||||
@Override
|
||||
public boolean equals(Object channel) {
|
||||
return channel instanceof ChatChannel && this.name.equals(((ChatChannel) channel).getName());
|
||||
}
|
||||
}
|
||||
package mineverse.Aust1n46.chat.channel;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
|
||||
import mineverse.Aust1n46.chat.MineverseChat;
|
||||
import mineverse.Aust1n46.chat.utilities.Format;
|
||||
|
||||
/**
|
||||
* Chat channel object pojo. Class also contains static initialization methods
|
||||
* for reading chat channels from the config file.
|
||||
*
|
||||
* @author Aust1n46
|
||||
*/
|
||||
public class ChatChannel {
|
||||
private static final String PERMISSION_PREFIX = "venturechat.";
|
||||
private static final String NO_PERMISSIONS = "venturechat.none";
|
||||
|
||||
private static boolean aliasesRegisteredAsCommands;
|
||||
|
||||
private static MineverseChat plugin = MineverseChat.getInstance();
|
||||
private static ChatChannel defaultChatChannel;
|
||||
private static String defaultColor;
|
||||
private static HashMap<String, ChatChannel> chatChannels;
|
||||
|
||||
@Deprecated
|
||||
private static ChatChannel[] channels;
|
||||
|
||||
private String name;
|
||||
private String permission;
|
||||
private String speakPermission;
|
||||
private boolean mutable;
|
||||
private String color;
|
||||
private String chatColor;
|
||||
private boolean defaultChannel;
|
||||
private boolean autojoin;
|
||||
private String alias;
|
||||
private double distance;
|
||||
private boolean filter;
|
||||
private boolean bungee;
|
||||
private String format;
|
||||
private int cooldown;
|
||||
|
||||
/**
|
||||
* Read chat channels from config file and initialize channel array.
|
||||
*/
|
||||
public static void initialize(boolean aliasesRegisteredAsCommands) {
|
||||
chatChannels = new HashMap<String, ChatChannel>();
|
||||
ChatChannel.aliasesRegisteredAsCommands = aliasesRegisteredAsCommands;
|
||||
ConfigurationSection cs = plugin.getConfig().getConfigurationSection("channels");
|
||||
int len = (cs.getKeys(false)).size();
|
||||
channels = new ChatChannel[len];
|
||||
int counter = 0;
|
||||
for (String key : cs.getKeys(false)) {
|
||||
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;
|
||||
chatChannels.put(name.toLowerCase(), chatChannel);
|
||||
chatChannels.put(alias.toLowerCase(), chatChannel);
|
||||
if (defaultChannel) {
|
||||
defaultChatChannel = chatChannel;
|
||||
defaultColor = color;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean areAliasesRegisteredAsCommands() {
|
||||
return aliasesRegisteredAsCommands;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get array of chat channels.
|
||||
*
|
||||
* @return {@link ChatChannel}[]
|
||||
*/
|
||||
@Deprecated
|
||||
public static ChatChannel[] getChannels() {
|
||||
return channels;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get list of chat channels.
|
||||
*
|
||||
* @return {@link Collection}<{@link ChatChannel}>
|
||||
*/
|
||||
public static Collection<ChatChannel> getChatChannels() {
|
||||
return new HashSet<ChatChannel>(chatChannels.values());
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a chat channel by name.
|
||||
*
|
||||
* @param channelName
|
||||
* name of channel to get.
|
||||
* @return {@link ChatChannel}
|
||||
*/
|
||||
public static ChatChannel getChannel(String channelName) {
|
||||
return chatChannels.get(channelName.toLowerCase());
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the chat channel exists.
|
||||
*
|
||||
* @param channelName
|
||||
* name of channel to check.
|
||||
* @return true if channel exists, false otherwise.
|
||||
*/
|
||||
public static boolean isChannel(String channelName) {
|
||||
return getChannel(channelName) != null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get default chat channel color.
|
||||
*
|
||||
* @return {@link String}
|
||||
*/
|
||||
public static String getDefaultColor() {
|
||||
return defaultColor;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get default chat channel.
|
||||
*
|
||||
* @return {@link ChatChannel}
|
||||
*/
|
||||
public static ChatChannel getDefaultChannel() {
|
||||
return defaultChatChannel;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get list of chat channels with autojoin set to true.
|
||||
*
|
||||
* @return {@link List}<{@link ChatChannel}>
|
||||
*/
|
||||
public static List<ChatChannel> getAutojoinList() {
|
||||
List<ChatChannel> joinlist = new ArrayList<ChatChannel>();
|
||||
for (ChatChannel c : channels) {
|
||||
if (c.getAutojoin()) {
|
||||
joinlist.add(c);
|
||||
}
|
||||
}
|
||||
return joinlist;
|
||||
}
|
||||
|
||||
/**
|
||||
* Parameterized constructor a {@link ChatChannel}.
|
||||
*
|
||||
* @param name
|
||||
* @param color
|
||||
* @param chatColor
|
||||
* @param permission
|
||||
* @param speakPermission
|
||||
* @param mutable
|
||||
* @param filter
|
||||
* @param defaultChannel
|
||||
* @param alias
|
||||
* @param distance
|
||||
* @param autojoin
|
||||
* @param bungee
|
||||
* @param cooldown
|
||||
* @param 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;
|
||||
}
|
||||
|
||||
/**
|
||||
* Deprecated parameterized constructor a {@link ChatChannel}.
|
||||
*
|
||||
* @param name
|
||||
* @param color
|
||||
* @param chatColor
|
||||
* @param permission
|
||||
* @param speakPermission
|
||||
* @param mutable
|
||||
* @param filter
|
||||
* @param defaultChannel
|
||||
* @param alias
|
||||
* @param distance
|
||||
* @param autojoin
|
||||
* @param bungee
|
||||
* @param cooldown
|
||||
* @param format
|
||||
*/
|
||||
@Deprecated
|
||||
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;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the name of the chat channel.
|
||||
*
|
||||
* @return {@link String}
|
||||
*/
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the format of the chat channel.
|
||||
*
|
||||
* @return {@link String}
|
||||
*/
|
||||
public String getFormat() {
|
||||
return format;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the cooldown of the chat channel in seconds.
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
public int getCooldown() {
|
||||
return cooldown;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the chat channel is BungeeCord enabled.
|
||||
*
|
||||
* @return {@link Boolean#TRUE} if the chat channel is BungeeCord enabled,
|
||||
* {@link Boolean#FALSE} otherwise.
|
||||
*/
|
||||
public Boolean getBungee() {
|
||||
return Boolean.valueOf(bungee);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the permissions node for the chat channel.
|
||||
*
|
||||
* @return {@link String}
|
||||
*/
|
||||
public String getPermission() {
|
||||
return permission;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if autojoin is enabled for the chat channel.
|
||||
*
|
||||
* @return {@link Boolean#TRUE} if autojoin is enabled, {@link Boolean#FALSE}
|
||||
* otherwise.
|
||||
*/
|
||||
public Boolean getAutojoin() {
|
||||
return Boolean.valueOf(autojoin);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the chat channel allows muting.
|
||||
*
|
||||
* @return {@link Boolean#TRUE} if muting is allowed, {@link Boolean#FALSE}
|
||||
* otherwise.
|
||||
*/
|
||||
public Boolean isMutable() {
|
||||
return Boolean.valueOf(mutable);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the formatted color of the chat channel.
|
||||
*
|
||||
* @return {@link String}. Returns {@link Format#DEFAULT_COLOR_CODE} if the
|
||||
* color is invalid.
|
||||
*/
|
||||
public String getColor() {
|
||||
if (Format.isValidColor(color)) {
|
||||
return String.valueOf(ChatColor.valueOf(color.toUpperCase()));
|
||||
}
|
||||
if (Format.isValidHexColor(color)) {
|
||||
return Format.convertHexColorCodeToBukkitColorCode(color);
|
||||
}
|
||||
return Format.DEFAULT_COLOR_CODE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the raw color value of the chat channel.
|
||||
*
|
||||
* @return {@link String}
|
||||
*/
|
||||
public String getColorRaw() {
|
||||
return color;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the formatted chat color of the chat channel.
|
||||
*
|
||||
* @return {@link String}. Returns {@link Format#DEFAULT_COLOR_CODE} if the chat
|
||||
* color is invalid.
|
||||
*/
|
||||
public String getChatColor() {
|
||||
if (chatColor.equalsIgnoreCase("None")) {
|
||||
return chatColor;
|
||||
}
|
||||
if (Format.isValidColor(chatColor)) {
|
||||
return String.valueOf(ChatColor.valueOf(chatColor.toUpperCase()));
|
||||
}
|
||||
if (Format.isValidHexColor(chatColor)) {
|
||||
return Format.convertHexColorCodeToBukkitColorCode(chatColor);
|
||||
}
|
||||
return Format.DEFAULT_COLOR_CODE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the raw chat color value of the chat channel.
|
||||
*
|
||||
* @return {@link String}
|
||||
*/
|
||||
public String getChatColorRaw() {
|
||||
return chatColor;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the chat channel is the default chat channel.
|
||||
*
|
||||
* @return {@link Boolean#TRUE} if the chat channel is the default chat channel,
|
||||
* {@link Boolean#FALSE} otherwise.
|
||||
*/
|
||||
public Boolean isDefaultchannel() {
|
||||
return Boolean.valueOf(defaultChannel);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the alias of the chat channel.
|
||||
*
|
||||
* @return {@link String}
|
||||
*/
|
||||
public String getAlias() {
|
||||
return alias;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the distance of the chat channel in blocks.
|
||||
*
|
||||
* @return {@link Double}
|
||||
*/
|
||||
public Double getDistance() {
|
||||
return Double.valueOf(distance);
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the chat channel has a distance set.
|
||||
*
|
||||
* @return {@link Boolean#TRUE} if the distance is greater than zero,
|
||||
* {@link Boolean#FALSE} otherwise.
|
||||
*/
|
||||
public Boolean hasDistance() {
|
||||
return Boolean.valueOf(distance > 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the chat channel has a cooldown set.
|
||||
*
|
||||
* @return {@link Boolean#TRUE} if the cooldown is greater than zero,
|
||||
* {@link Boolean#FALSE} otherwise.
|
||||
*/
|
||||
public Boolean hasCooldown() {
|
||||
return Boolean.valueOf(cooldown > 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the chat channel has a permission set.
|
||||
*
|
||||
* @return {@link Boolean#TRUE} if the permission does not equal
|
||||
* {@link ChatChannel#NO_PERMISSIONS}, {@link Boolean#FALSE} otherwise.
|
||||
*/
|
||||
public Boolean hasPermission() {
|
||||
return Boolean.valueOf(!permission.equalsIgnoreCase(NO_PERMISSIONS));
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the chat channel has a speak permission set.
|
||||
*
|
||||
* @return true if the speak permission does not equal
|
||||
* {@link ChatChannel#NO_PERMISSIONS}, false otherwise.
|
||||
*/
|
||||
public boolean hasSpeakPermission() {
|
||||
return !speakPermission.equalsIgnoreCase(NO_PERMISSIONS);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the speak permissions node for the chat channel.
|
||||
*
|
||||
* @return {@link String}
|
||||
*/
|
||||
public String getSpeakPermission() {
|
||||
return speakPermission;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the chat channel has the filter enabled.
|
||||
*
|
||||
* @return {@link Boolean#TRUE} if the chat channel has the filter enabled,
|
||||
* {@link Boolean#FALSE} otherwise.
|
||||
*/
|
||||
public Boolean isFiltered() {
|
||||
return Boolean.valueOf(filter);
|
||||
}
|
||||
|
||||
/**
|
||||
* Compares the chat channel by name to determine equality.
|
||||
*
|
||||
* @param channel
|
||||
* Object to compare for equality.
|
||||
* @return true if the objects are equal, false otherwise.
|
||||
*/
|
||||
@Override
|
||||
public boolean equals(Object channel) {
|
||||
return channel instanceof ChatChannel && this.name.equals(((ChatChannel) channel).getName());
|
||||
}
|
||||
}
|
||||
|
@ -1,134 +1,142 @@
|
||||
package mineverse.Aust1n46.chat.command;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.command.TabExecutor;
|
||||
|
||||
import mineverse.Aust1n46.chat.MineverseChat;
|
||||
import mineverse.Aust1n46.chat.command.chat.Broadcast;
|
||||
import mineverse.Aust1n46.chat.command.chat.BungeeToggle;
|
||||
import mineverse.Aust1n46.chat.command.chat.Channel;
|
||||
import mineverse.Aust1n46.chat.command.chat.Channelinfo;
|
||||
import mineverse.Aust1n46.chat.command.chat.Chatinfo;
|
||||
import mineverse.Aust1n46.chat.command.chat.Chatreload;
|
||||
import mineverse.Aust1n46.chat.command.chat.Chlist;
|
||||
import mineverse.Aust1n46.chat.command.chat.Chwho;
|
||||
import mineverse.Aust1n46.chat.command.chat.Clearchat;
|
||||
import mineverse.Aust1n46.chat.command.chat.Commandblock;
|
||||
import mineverse.Aust1n46.chat.command.chat.Commandspy;
|
||||
import mineverse.Aust1n46.chat.command.chat.Config;
|
||||
import mineverse.Aust1n46.chat.command.chat.Edit;
|
||||
import mineverse.Aust1n46.chat.command.chat.Filter;
|
||||
import mineverse.Aust1n46.chat.command.chat.Force;
|
||||
import mineverse.Aust1n46.chat.command.chat.Forceall;
|
||||
import mineverse.Aust1n46.chat.command.chat.Kickchannel;
|
||||
import mineverse.Aust1n46.chat.command.chat.Kickchannelall;
|
||||
import mineverse.Aust1n46.chat.command.chat.Leave;
|
||||
import mineverse.Aust1n46.chat.command.chat.Listen;
|
||||
import mineverse.Aust1n46.chat.command.chat.Me;
|
||||
import mineverse.Aust1n46.chat.command.chat.Nick;
|
||||
import mineverse.Aust1n46.chat.command.chat.Party;
|
||||
import mineverse.Aust1n46.chat.command.chat.RangedSpy;
|
||||
import mineverse.Aust1n46.chat.command.chat.Removemessage;
|
||||
import mineverse.Aust1n46.chat.command.chat.Setchannel;
|
||||
import mineverse.Aust1n46.chat.command.chat.Setchannelall;
|
||||
import mineverse.Aust1n46.chat.command.chat.VentureChatGui;
|
||||
import mineverse.Aust1n46.chat.command.chat.Venturechat;
|
||||
import mineverse.Aust1n46.chat.command.message.IgnoreCommandExecutor;
|
||||
import mineverse.Aust1n46.chat.command.message.MessageCommandExecutor;
|
||||
import mineverse.Aust1n46.chat.command.message.MessageToggle;
|
||||
import mineverse.Aust1n46.chat.command.message.Notifications;
|
||||
import mineverse.Aust1n46.chat.command.message.Reply;
|
||||
import mineverse.Aust1n46.chat.command.message.Spy;
|
||||
import mineverse.Aust1n46.chat.command.mute.Mute;
|
||||
import mineverse.Aust1n46.chat.command.mute.Muteall;
|
||||
import mineverse.Aust1n46.chat.command.mute.Unmute;
|
||||
import mineverse.Aust1n46.chat.command.mute.Unmuteall;
|
||||
|
||||
/**
|
||||
* Class that initializes and executes the plugin's commands.
|
||||
*/
|
||||
public class VentureCommandExecutor implements TabExecutor {
|
||||
private static Map<String, VentureCommand> commands = new HashMap<String, VentureCommand>();
|
||||
private static MineverseChat plugin = MineverseChat.getInstance();
|
||||
private static VentureCommandExecutor commandExecutor;
|
||||
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command command, String label, String[] parameters) {
|
||||
commands.get(command.getName()).execute(sender, command.getName(), parameters);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> onTabComplete(CommandSender sender, Command command, String label, String[] args) {
|
||||
return commands.get(command.getName()).onTabComplete(sender, command, label, args);
|
||||
}
|
||||
|
||||
public static void initialize() {
|
||||
commandExecutor = new VentureCommandExecutor();
|
||||
commands.put("broadcast", new Broadcast());
|
||||
commands.put("channel", new Channel());
|
||||
commands.put("join", new Channel());
|
||||
commands.put("channelinfo", new Channelinfo());
|
||||
commands.put("chatinfo", new Chatinfo());
|
||||
commands.put("chatreload", new Chatreload());
|
||||
commands.put("chlist", new Chlist());
|
||||
commands.put("chwho", new Chwho());
|
||||
commands.put("clearchat", new Clearchat());
|
||||
commands.put("commandblock", new Commandblock());
|
||||
commands.put("commandspy", new Commandspy());
|
||||
commands.put("config", new Config());
|
||||
commands.put("edit", new Edit());
|
||||
commands.put("filter", new Filter());
|
||||
commands.put("force", new Force());
|
||||
commands.put("forceall", new Forceall());
|
||||
commands.put("kickchannel", new Kickchannel());
|
||||
commands.put("kickchannelall", new Kickchannelall());
|
||||
commands.put("leave", new Leave());
|
||||
commands.put("listen", new Listen());
|
||||
commands.put("me", new Me());
|
||||
commands.put("venturechat", new Venturechat());
|
||||
commands.put("setnickname", new Nick());
|
||||
commands.put("notifications", new Notifications());
|
||||
commands.put("party", new Party());
|
||||
commands.put("rangedspy", new RangedSpy());
|
||||
commands.put("removemessage", new Removemessage());
|
||||
commands.put("setchannel", new Setchannel());
|
||||
commands.put("setchannelall", new Setchannelall());
|
||||
commands.put("spy", new Spy());
|
||||
commands.put("venturechatgui", new VentureChatGui());
|
||||
commands.put("messagetoggle", new MessageToggle());
|
||||
commands.put("bungeetoggle", new BungeeToggle());
|
||||
for (String command : commands.keySet()) {
|
||||
plugin.getCommand(command).setExecutor(commandExecutor);
|
||||
}
|
||||
|
||||
plugin.getServer().getScheduler().runTaskLater(plugin, () -> {
|
||||
VentureCommand reply = new Reply();
|
||||
commands.put("reply", reply);
|
||||
commands.put("r", reply);
|
||||
plugin.getCommand("reply").setExecutor(commandExecutor);
|
||||
plugin.getCommand("r").setExecutor(commandExecutor);
|
||||
|
||||
commands.put("mute", new Mute());
|
||||
commands.put("muteall", new Muteall());
|
||||
commands.put("unmute", new Unmute());
|
||||
commands.put("unmuteall", new Unmuteall());
|
||||
plugin.getCommand("mute").setExecutor(commandExecutor);
|
||||
plugin.getCommand("muteall").setExecutor(commandExecutor);
|
||||
plugin.getCommand("unmute").setExecutor(commandExecutor);
|
||||
plugin.getCommand("unmuteall").setExecutor(commandExecutor);
|
||||
|
||||
MessageCommandExecutor messageCommandExecutor = new MessageCommandExecutor();
|
||||
plugin.getCommand("message").setExecutor(messageCommandExecutor);
|
||||
plugin.getCommand("msg").setExecutor(messageCommandExecutor);
|
||||
plugin.getCommand("tell").setExecutor(messageCommandExecutor);
|
||||
plugin.getCommand("whisper").setExecutor(messageCommandExecutor);
|
||||
plugin.getCommand("ignore").setExecutor(new IgnoreCommandExecutor());
|
||||
}, 0);
|
||||
}
|
||||
}
|
||||
package mineverse.Aust1n46.chat.command;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.command.TabExecutor;
|
||||
|
||||
import mineverse.Aust1n46.chat.MineverseChat;
|
||||
import mineverse.Aust1n46.chat.command.chat.Broadcast;
|
||||
import mineverse.Aust1n46.chat.command.chat.BungeeToggle;
|
||||
import mineverse.Aust1n46.chat.command.chat.Channel;
|
||||
import mineverse.Aust1n46.chat.command.chat.Channelinfo;
|
||||
import mineverse.Aust1n46.chat.command.chat.Chatinfo;
|
||||
import mineverse.Aust1n46.chat.command.chat.Chatreload;
|
||||
import mineverse.Aust1n46.chat.command.chat.Chlist;
|
||||
import mineverse.Aust1n46.chat.command.chat.Chwho;
|
||||
import mineverse.Aust1n46.chat.command.chat.Clearchat;
|
||||
import mineverse.Aust1n46.chat.command.chat.Commandblock;
|
||||
import mineverse.Aust1n46.chat.command.chat.Commandspy;
|
||||
import mineverse.Aust1n46.chat.command.chat.Config;
|
||||
import mineverse.Aust1n46.chat.command.chat.Edit;
|
||||
import mineverse.Aust1n46.chat.command.chat.Filter;
|
||||
import mineverse.Aust1n46.chat.command.chat.Force;
|
||||
import mineverse.Aust1n46.chat.command.chat.Forceall;
|
||||
import mineverse.Aust1n46.chat.command.chat.Kickchannel;
|
||||
import mineverse.Aust1n46.chat.command.chat.Kickchannelall;
|
||||
import mineverse.Aust1n46.chat.command.chat.Leave;
|
||||
import mineverse.Aust1n46.chat.command.chat.Listen;
|
||||
import mineverse.Aust1n46.chat.command.chat.Me;
|
||||
import mineverse.Aust1n46.chat.command.chat.Nick;
|
||||
import mineverse.Aust1n46.chat.command.chat.Party;
|
||||
import mineverse.Aust1n46.chat.command.chat.RangedSpy;
|
||||
import mineverse.Aust1n46.chat.command.chat.Removemessage;
|
||||
import mineverse.Aust1n46.chat.command.chat.Setchannel;
|
||||
import mineverse.Aust1n46.chat.command.chat.Setchannelall;
|
||||
import mineverse.Aust1n46.chat.command.chat.VentureChatGui;
|
||||
import mineverse.Aust1n46.chat.command.chat.Venturechat;
|
||||
import mineverse.Aust1n46.chat.command.message.IgnoreCommandExecutor;
|
||||
import mineverse.Aust1n46.chat.command.message.MessageCommandExecutor;
|
||||
import mineverse.Aust1n46.chat.command.message.MessageToggle;
|
||||
import mineverse.Aust1n46.chat.command.message.Notifications;
|
||||
import mineverse.Aust1n46.chat.command.message.Reply;
|
||||
import mineverse.Aust1n46.chat.command.message.Spy;
|
||||
import mineverse.Aust1n46.chat.command.mute.Mute;
|
||||
import mineverse.Aust1n46.chat.command.mute.Muteall;
|
||||
import mineverse.Aust1n46.chat.command.mute.Unmute;
|
||||
import mineverse.Aust1n46.chat.command.mute.Unmuteall;
|
||||
|
||||
/**
|
||||
* Class that initializes and executes the plugin's commands.
|
||||
*/
|
||||
public class VentureCommandExecutor implements TabExecutor {
|
||||
private static Map<String, VentureCommand> commands = new HashMap<String, VentureCommand>();
|
||||
private static MineverseChat plugin = MineverseChat.getInstance();
|
||||
private static VentureCommandExecutor commandExecutor;
|
||||
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command command, String label, String[] parameters) {
|
||||
commands.get(command.getName()).execute(sender, command.getName(), parameters);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> onTabComplete(CommandSender sender, Command command, String label, String[] args) {
|
||||
return commands.get(command.getName()).onTabComplete(sender, command, label, args);
|
||||
}
|
||||
|
||||
public static void initialize() {
|
||||
commandExecutor = new VentureCommandExecutor();
|
||||
commands.put("broadcast", new Broadcast());
|
||||
commands.put("channel", new Channel());
|
||||
commands.put("join", new Channel());
|
||||
commands.put("channelinfo", new Channelinfo());
|
||||
commands.put("chatinfo", new Chatinfo());
|
||||
commands.put("chatreload", new Chatreload());
|
||||
commands.put("chlist", new Chlist());
|
||||
commands.put("chwho", new Chwho());
|
||||
commands.put("clearchat", new Clearchat());
|
||||
commands.put("commandblock", new Commandblock());
|
||||
commands.put("commandspy", new Commandspy());
|
||||
commands.put("config", new Config());
|
||||
commands.put("edit", new Edit());
|
||||
commands.put("filter", new Filter());
|
||||
commands.put("force", new Force());
|
||||
commands.put("forceall", new Forceall());
|
||||
commands.put("kickchannel", new Kickchannel());
|
||||
commands.put("kickchannelall", new Kickchannelall());
|
||||
commands.put("leave", new Leave());
|
||||
commands.put("listen", new Listen());
|
||||
commands.put("me", new Me());
|
||||
commands.put("venturechat", new Venturechat());
|
||||
commands.put("setnickname", new Nick());
|
||||
commands.put("notifications", new Notifications());
|
||||
commands.put("party", new Party());
|
||||
commands.put("rangedspy", new RangedSpy());
|
||||
commands.put("removemessage", new Removemessage());
|
||||
commands.put("setchannel", new Setchannel());
|
||||
commands.put("setchannelall", new Setchannelall());
|
||||
commands.put("spy", new Spy());
|
||||
commands.put("venturechatgui", new VentureChatGui());
|
||||
commands.put("messagetoggle", new MessageToggle());
|
||||
commands.put("bungeetoggle", new BungeeToggle());
|
||||
for(String command : commands.keySet()) {
|
||||
registerCommand(command, commandExecutor);
|
||||
}
|
||||
|
||||
plugin.getServer().getScheduler().runTaskLater(plugin, () -> {
|
||||
VentureCommand reply = new Reply();
|
||||
commands.put("reply", reply);
|
||||
commands.put("r", reply);
|
||||
registerCommand("reply", commandExecutor);
|
||||
registerCommand("r", commandExecutor);
|
||||
|
||||
commands.put("mute", new Mute());
|
||||
commands.put("muteall", new Muteall());
|
||||
commands.put("unmute", new Unmute());
|
||||
commands.put("unmuteall", new Unmuteall());
|
||||
registerCommand("mute", commandExecutor);
|
||||
registerCommand("muteall", commandExecutor);
|
||||
registerCommand("unmute", commandExecutor);
|
||||
registerCommand("unmuteall", commandExecutor);
|
||||
|
||||
MessageCommandExecutor messageCommandExecutor = new MessageCommandExecutor();
|
||||
registerCommand("message", messageCommandExecutor);
|
||||
registerCommand("msg", messageCommandExecutor);
|
||||
registerCommand("tell", messageCommandExecutor);
|
||||
registerCommand("whisper", messageCommandExecutor);
|
||||
|
||||
registerCommand("ignore", new IgnoreCommandExecutor());
|
||||
}, 0);
|
||||
}
|
||||
|
||||
private static void registerCommand(String command, CommandExecutor commandExecutor) {
|
||||
if(plugin.getCommand(command) != null) {
|
||||
plugin.getCommand(command).setExecutor(commandExecutor);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,32 +1,60 @@
|
||||
package mineverse.Aust1n46.chat.command.chat;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
import mineverse.Aust1n46.chat.MineverseChat;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
||||
import mineverse.Aust1n46.chat.command.VentureCommand;
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
|
||||
public class Chatreload implements VentureCommand {
|
||||
private MineverseChat plugin = MineverseChat.getInstance();
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
if (sender.hasPermission("venturechat.reload")) {
|
||||
plugin.reloadConfig();
|
||||
Bukkit.getPluginManager().disablePlugin(plugin);
|
||||
Bukkit.getPluginManager().enablePlugin(plugin);
|
||||
plugin.getServer().getLogger().info("[VentureChat] Config reloaded");
|
||||
for (MineverseChatPlayer player : MineverseChatAPI.getOnlineMineverseChatPlayers()) {
|
||||
if (player.getPlayer().hasPermission("venturechat.reload")) {
|
||||
player.getPlayer().sendMessage(LocalizedMessage.CONFIG_RELOADED.toString());
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
return;
|
||||
}
|
||||
}
|
||||
package mineverse.Aust1n46.chat.command.chat;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import mineverse.Aust1n46.chat.MineverseChat;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
||||
import mineverse.Aust1n46.chat.command.VentureCommand;
|
||||
import mineverse.Aust1n46.chat.database.PlayerData;
|
||||
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
|
||||
import mineverse.Aust1n46.chat.utilities.Format;
|
||||
|
||||
public class Chatreload implements VentureCommand {
|
||||
private MineverseChat plugin = MineverseChat.getInstance();
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String command, String[] args) {
|
||||
if(sender.hasPermission("venturechat.reload")) {
|
||||
PlayerData.savePlayerData();
|
||||
MineverseChatAPI.clearMineverseChatPlayerMap();
|
||||
MineverseChatAPI.clearNameMap();
|
||||
MineverseChatAPI.clearOnlineMineverseChatPlayerMap();
|
||||
|
||||
plugin.reloadConfig();
|
||||
MineverseChat.initializeConfigReaders();
|
||||
|
||||
PlayerData.loadLegacyPlayerData();
|
||||
PlayerData.loadPlayerData();
|
||||
for(Player p : plugin.getServer().getOnlinePlayers()) {
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getMineverseChatPlayer(p);
|
||||
if(mcp == null) {
|
||||
Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&c - Could not find player data post reload for currently online player: " + p.getName()));
|
||||
Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&c - There could be an issue with your player data saving."));
|
||||
String name = p.getName();
|
||||
UUID uuid = p.getUniqueId();
|
||||
mcp = new MineverseChatPlayer(uuid, name);
|
||||
}
|
||||
mcp.setOnline(true);
|
||||
mcp.setHasPlayed(false);
|
||||
mcp.setJsonFormat();
|
||||
MineverseChatAPI.addMineverseChatOnlinePlayerToMap(mcp);
|
||||
MineverseChatAPI.addNameToMap(mcp);
|
||||
}
|
||||
|
||||
Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&e - Config reloaded"));
|
||||
for(MineverseChatPlayer player : MineverseChatAPI.getOnlineMineverseChatPlayers()) {
|
||||
if(player.getPlayer().hasPermission("venturechat.reload")) {
|
||||
player.getPlayer().sendMessage(LocalizedMessage.CONFIG_RELOADED.toString());
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,423 +1,424 @@
|
||||
#===============================================================
|
||||
# VentureChat Config =
|
||||
# Author: Aust1n46 =
|
||||
#===============================================================
|
||||
|
||||
# - regex1,regex2
|
||||
# Simple regex tips: Use \b to "cut" a section of the word or phrase. Example: \bass,donuts
|
||||
# Example filtered sentence: You are an ass. Will become: You are an donuts.
|
||||
# Example filtered sentence: You caught a bass. Will stay: You caught a bass.
|
||||
# Example filtered sentence: You are an asshole. Will become: You are an donutshole.
|
||||
# Default filters by Jabelpeeps
|
||||
filters:
|
||||
- (\b.?anus),donuts
|
||||
- (\ba+r*(se+|ss+(?!(ass|um|oc|ign|ist)).*?|s*e*h+[o0]*[l1]+e*[sz]*)\b),donuts
|
||||
- (b[i1]a?tch(es)?),puppy
|
||||
- Carpet Muncher,cookie monster
|
||||
- (\bc((?!ook\b)[o0]+c*|aw)k\W?(sucker|s*|he[ea]*d)\b),rooster
|
||||
- (\b[ck]r+a+p+(er|s|z)?\b),poopoo
|
||||
- (\bcu+m+\b),go
|
||||
- (\b.?[ck](u*n+|[l1]+[i1]+)t+[sz]*\b),peach
|
||||
- (\b.?d[1i](c?k(head)?|[l1]+d[o0])e?[sz]?\b),rooster
|
||||
- f u c k( e r)?,nono
|
||||
- (\b.?fai*g+[oei1]*t*[sz]*\b),cigar
|
||||
- Fudge Packer,fine person
|
||||
- (\b(m[uo]+th[ae]r?)?(f|ph)uc*k*(e[rn]|ah*|ing?|)[sz]?\b),oh dear
|
||||
- (\b(j(ac|er|ur)k\W?(of+))|(ji[sz]+i*m*)\b),bake brownies
|
||||
- (\b(ma+s+te?rbai?te?[rs]?|wank(er)?[sz]?)\b),bake brownies
|
||||
- orafi(s|ce),rooster
|
||||
- (\bp+[e3]+[ai]*n+[i1!ua]+s+),rooster
|
||||
- (\bp[i1]s+(?!(ton))(flap|face|drop)?),peepee
|
||||
- (\b.?sh[i1!y]t+(er?|y|head)?[sz]*),poopoo
|
||||
- (\bva[1i]?[gj]+[i1]+na+\b),peach
|
||||
- vu[1l]+va,peach
|
||||
- planet.?minecraft,another dimension
|
||||
- pmc,another dimension
|
||||
- ((\d+\.){3}\d+),another dimension
|
||||
|
||||
# command without the /
|
||||
blockablecommands:
|
||||
- vote
|
||||
- me
|
||||
|
||||
# blacklisted nicknames
|
||||
nicknames:
|
||||
- Notch
|
||||
|
||||
nickname-in-tablist: true
|
||||
|
||||
# {player} : player sending command
|
||||
# {command} : command typed
|
||||
commandspy:
|
||||
format: '&6{player}: {command}'
|
||||
worldeditcommands: true
|
||||
|
||||
antispam:
|
||||
enabled: true
|
||||
|
||||
# Number of messages to be spam
|
||||
spamnumber: 5
|
||||
|
||||
# Amount of time in seconds for it to be spam
|
||||
spamtime: 10
|
||||
|
||||
# Amount of time for the mute to last
|
||||
# Acceptable units are: d,h,m,s
|
||||
# Units can be combined, for example: 1d8h30m15s
|
||||
# Use 0 for untimed mute
|
||||
mutetime: 10m
|
||||
|
||||
# Logging chat and commands to a mysql database
|
||||
mysql:
|
||||
enabled: false
|
||||
user: User
|
||||
port: 3306
|
||||
password: Password
|
||||
host: localhost
|
||||
database: Database
|
||||
|
||||
# Loglevel feature is still in the works for adding of debug messages
|
||||
# Valid loglevels:
|
||||
# Info: Regular logging
|
||||
# Debug: Show extra messages and caught errors for debugging
|
||||
# Severe: Only show severe messages
|
||||
loglevel: info
|
||||
|
||||
# saveinterval is in minutes
|
||||
saveinterval: 30
|
||||
|
||||
# If you're running a "cracked" server, player data might not be stored properly, and thus, you are on your own.
|
||||
# If you run your server in offline mode, you might have to reset your player data when switching to online mode!
|
||||
# If you see this warning by accident and you are using BungeeCord, make sure you have properly setup IP Forwarding.
|
||||
# https://www.spigotmc.org/wiki/bungeecord-ip-forwarding/
|
||||
# No player data will be saved in offline mode unless you set this acknowledgement to 'true'
|
||||
offline_server_acknowledgement: false
|
||||
|
||||
# The time in seconds between each check to remove timed mutes
|
||||
unmuteinterval: 60
|
||||
|
||||
# Enables or disabled BungeeCord messaging
|
||||
bungeecordmessaging: false
|
||||
|
||||
# Sound for message notification
|
||||
message_sound: ENTITY_PLAYER_LEVELUP
|
||||
|
||||
# This will allow vanished players to be exempt from being sent private messages, and will act as if they aren't online
|
||||
vanishsupport: true
|
||||
|
||||
# Use PlaceholderAPI placeholders
|
||||
# Start the placeholder with 'sender_' for the sending players placeholder
|
||||
# Start the placeholder with 'receiver_' for the receiving players placeholder
|
||||
# The defaults shown below provide an example of each
|
||||
tellformatto: '&7You message {receiver_vault_prefix}{receiver_player_displayname}&7:'
|
||||
tellformatfrom: '{sender_vault_prefix}{sender_player_displayname} &7messages you:'
|
||||
tellformatspy: '{sender_player_name} messages {receiver_player_name}:&7'
|
||||
replyformatto: '&7You reply to {receiver_vault_prefix}{receiver_player_displayname}&7:'
|
||||
replyformatfrom: '{sender_vault_prefix}{sender_player_displayname} &7replies to you:'
|
||||
replyformatspy: '{sender_player_name} replies to {receiver_player_name}:&7'
|
||||
|
||||
# {host} : party hosts name
|
||||
# {player} : player name
|
||||
# use Default for the basic formatting
|
||||
partyformat: Default
|
||||
|
||||
formatcleaner: true
|
||||
|
||||
# If true, /ignore will block chat from the ignored player as well as PM's
|
||||
ignorechat: false
|
||||
|
||||
# The message shown to players alerting them no one is in the channel to hear them
|
||||
emptychannelalert: "&6No one is listening to you."
|
||||
|
||||
messageremoverpermissions: '&cYou need additional permissions to view this message!'
|
||||
messageremovertext: '&c&o<message removed>'
|
||||
|
||||
# The name of the group is the permissions node for the format
|
||||
# Example: venturechat.json.Owner is the node for the group Owner
|
||||
# A lower priority overrides a higher priority if a player has more than 1 group
|
||||
# Possible options for click_name and click_prefix are suggest_command, run_command, and open_url
|
||||
jsonformatting:
|
||||
Default: # This default format is required! Do not delete or rename it!
|
||||
priority: 2147483647 # Integer.MAX_VALUE
|
||||
hover_name:
|
||||
- '&6I have no rank!'
|
||||
click_name: 'suggest_command'
|
||||
click_name_text: '/msg {player_name}'
|
||||
hover_prefix:
|
||||
- '&dI am default!'
|
||||
click_prefix: 'run_command'
|
||||
click_prefix_text: '/help'
|
||||
hover_suffix:
|
||||
- '&dI am default suffix!'
|
||||
click_suffix: 'suggest_command'
|
||||
click_suffix_text: '/msg {player_name}'
|
||||
Owner:
|
||||
priority: 1 # Lowest Priority
|
||||
hover_name:
|
||||
- '&cOwner of the server!'
|
||||
- '&bMessage me for help!'
|
||||
click_name: 'suggest_command'
|
||||
click_name_text: '/msg {player_name}'
|
||||
hover_prefix:
|
||||
- '&dServer Owner'
|
||||
click_prefix: 'run_command'
|
||||
click_prefix_text: '/help'
|
||||
hover_suffix:
|
||||
- '&dI am Owner suffix!'
|
||||
click_suffix: 'suggest_command'
|
||||
click_suffix_text: '/msg {player_name}'
|
||||
|
||||
# The icon is the block shown in the GUI
|
||||
# The text is the display name of the block icon
|
||||
# Include a slash (/) before the command
|
||||
# Permissions are the name of the button and automatically include "venturechat."
|
||||
# Example: mute equals venturechat.mute
|
||||
venturegui:
|
||||
mute:
|
||||
icon: 'REDSTONE_BLOCK'
|
||||
durability: 0
|
||||
text: '&cMute {player_name} &410m'
|
||||
permission: 'mute'
|
||||
command: '/mute {channel} {player_name} 10m'
|
||||
slot: 1
|
||||
unmute:
|
||||
icon: 'DIAMOND_BLOCK'
|
||||
durability: 0
|
||||
text: '&bUnmute {player_name}'
|
||||
permission: 'mute'
|
||||
command: '/unmute {channel} {player_name} '
|
||||
slot: 2
|
||||
removemessage:
|
||||
icon: 'DIAMOND_AXE'
|
||||
durability: 0
|
||||
text: '&cRemove Message'
|
||||
permission: 'removemessage'
|
||||
command: '/removemessage {hash} {channel}'
|
||||
slot: 7
|
||||
|
||||
guiicon: '&c [✓]'
|
||||
guitext: '&cOpen Moderation GUI'
|
||||
guirows: 1
|
||||
|
||||
# All clickable URL's will be underlined if set to true
|
||||
underlineurls: true
|
||||
|
||||
# broadcast information
|
||||
broadcast:
|
||||
color: red
|
||||
permissions: venturechat.adminchannel
|
||||
displaytag: '[Broadcast]'
|
||||
|
||||
# Use $ to include arguments into the message
|
||||
# Valid component types are:
|
||||
# Command: Sends a message or command in chat
|
||||
# Message: Sends a message to the player
|
||||
# Broadcast: Sends a broadcast to all players on the server
|
||||
# Permissions automatically include "venturechat."
|
||||
# Example: permissions: alert equals venturechat.alert
|
||||
# Use None for no permissions
|
||||
# The number of arguments is the minimum number of required arguments, use 0 for no required arguments
|
||||
alias:
|
||||
vote:
|
||||
arguments: 0
|
||||
permissions: None
|
||||
components:
|
||||
- 'Message: &6Vote here: www.votelinkhere.com'
|
||||
bane:
|
||||
arguments: 2
|
||||
permissions: bane
|
||||
components:
|
||||
- 'Command: /ban $ appeal at www.site.com'
|
||||
- 'Command: /st banned $'
|
||||
alert:
|
||||
arguments: 1
|
||||
permissions: alert
|
||||
components:
|
||||
- 'Broadcast: &c<Alert> $'
|
||||
donate:
|
||||
arguments: 0
|
||||
permissions: None
|
||||
components:
|
||||
- 'Message: &bDonate here: www.mywebsite.com'
|
||||
website:
|
||||
arguments: 0
|
||||
permissions: None
|
||||
components:
|
||||
- 'Message: &aThis is our website: www.site.net'
|
||||
|
||||
# Enables the creation of special Towny channels: Town and Nation
|
||||
# To create these channels, simply name two channels below "Town" and "Nation"
|
||||
# Bungeecord must be set to false for these channels!
|
||||
enable_towny_channel: false
|
||||
|
||||
# Enables the creation of a special faction only channel using the Factions plugin
|
||||
# To create this channel, simply name a channel below "Faction"
|
||||
# Bungeecord must be set to false for this channel!
|
||||
# WARNING: May not work for all versions of Factions!
|
||||
enable_factions_channel: false
|
||||
|
||||
# color = [channel] color
|
||||
# chatcolor = text color
|
||||
# cooldown is in seconds
|
||||
# bungeecord overrides distance
|
||||
# channel permissions are configurable
|
||||
# channels can be changed, and new channels can be created
|
||||
# Permissions automatically include "venturechat."
|
||||
# Example: permissions: staff equals venturechat.staff
|
||||
# Use None for no permissions
|
||||
|
||||
# Use PlaceholderAPI placeholders are required!!!
|
||||
# Use PlaceholderAPI placeholders are required!!!
|
||||
# Use PlaceholderAPI placeholders are required!!!
|
||||
# /papi ecloud download [plugin]
|
||||
# /papi reload
|
||||
# Use '' or "" around format, example: '[&2global&f] {vault_prefix} {player_displayname}&2:'
|
||||
# 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!
|
||||
|
||||
# Important!!!
|
||||
# Important!!!
|
||||
# If you delete a channel, restart the server! Do not use /chatreload!!!
|
||||
channels:
|
||||
GroupChatColorExample:
|
||||
color: '#706C1E'
|
||||
chatcolor: 'None'
|
||||
mutable: true
|
||||
filter: true
|
||||
autojoin: true
|
||||
default: false
|
||||
distance: 0
|
||||
cooldown: 0
|
||||
bungeecord: false
|
||||
alias: ge
|
||||
permissions: None
|
||||
speak_permissions: None
|
||||
format: '&f[#706C1EGroupColorChat&f] {vault_prefix} {player_displayname}#706C1E:{vault_suffix}'
|
||||
HexExample:
|
||||
color: '#ff0000'
|
||||
chatcolor: '#ff0000'
|
||||
mutable: true
|
||||
filter: true
|
||||
autojoin: true
|
||||
default: false
|
||||
distance: 0
|
||||
cooldown: 0
|
||||
bungeecord: false
|
||||
alias: he
|
||||
permissions: None
|
||||
speak_permissions: None
|
||||
format: '&f[#ff0000Hex&f] {vault_prefix} {player_displayname}#ff0000:'
|
||||
BungeeExample:
|
||||
color: gold
|
||||
chatcolor: gold
|
||||
mutable: true
|
||||
filter: true
|
||||
autojoin: true
|
||||
default: false
|
||||
distance: 0
|
||||
cooldown: 3
|
||||
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
|
||||
mutable: true
|
||||
filter: true
|
||||
autojoin: true
|
||||
default: true
|
||||
distance: 0
|
||||
cooldown: 0
|
||||
bungeecord: false
|
||||
alias: g
|
||||
permissions: None
|
||||
speak_permissions: None
|
||||
format: '&f[&2Global&f] {vault_prefix} {player_displayname}&2:'
|
||||
Staff:
|
||||
color: green
|
||||
chatcolor: green
|
||||
mutable: false
|
||||
filter: false
|
||||
autojoin: true
|
||||
default: false
|
||||
distance: 0
|
||||
cooldown: 0
|
||||
bungeecord: false
|
||||
alias: st
|
||||
permissions: staffchannel
|
||||
speak_permissions: None
|
||||
format: '&f[&aStaff&f] {vault_prefix} {player_displayname}&a:'
|
||||
Donator:
|
||||
color: light_purple
|
||||
chatcolor: light_purple
|
||||
mutable: true
|
||||
filter: true
|
||||
autojoin: true
|
||||
default: false
|
||||
distance: 0
|
||||
cooldown: 0
|
||||
bungeecord: false
|
||||
alias: d
|
||||
permissions: donatorchannel
|
||||
speak_permissions: None
|
||||
format: '&f[&dDonator&f] {vault_prefix} {player_displayname}&d:'
|
||||
Help:
|
||||
color: aqua
|
||||
chatcolor: aqua
|
||||
mutable: true
|
||||
filter: true
|
||||
autojoin: true
|
||||
default: false
|
||||
distance: 0
|
||||
cooldown: 0
|
||||
bungeecord: false
|
||||
alias: h
|
||||
permissions: None
|
||||
speak_permissions: None
|
||||
format: '&f[&bHelp&f] {vault_prefix} {player_displayname}&b:'
|
||||
Trade:
|
||||
color: dark_aqua
|
||||
chatcolor: dark_aqua
|
||||
mutable: true
|
||||
filter: true
|
||||
autojoin: true
|
||||
default: false
|
||||
distance: 0
|
||||
cooldown: 0
|
||||
bungeecord: false
|
||||
alias: t
|
||||
permissions: None
|
||||
speak_permissions: None
|
||||
format: '&f[&3Trade&f] {vault_prefix} {player_displayname}&3:'
|
||||
Local:
|
||||
color: yellow
|
||||
chatcolor: yellow
|
||||
mutable: true
|
||||
filter: true
|
||||
autojoin: true
|
||||
default: false
|
||||
distance: 230
|
||||
cooldown: 0
|
||||
bungeecord: false
|
||||
alias: l
|
||||
permissions: None
|
||||
speak_permissions: None
|
||||
#===============================================================
|
||||
# VentureChat Config =
|
||||
# Author: Aust1n46 =
|
||||
#===============================================================
|
||||
|
||||
# - regex1,regex2
|
||||
# Simple regex tips: Use \b to "cut" a section of the word or phrase. Example: \bass,donuts
|
||||
# Example filtered sentence: You are an ass. Will become: You are an donuts.
|
||||
# Example filtered sentence: You caught a bass. Will stay: You caught a bass.
|
||||
# Example filtered sentence: You are an asshole. Will become: You are an donutshole.
|
||||
# Default filters by Jabelpeeps
|
||||
filters:
|
||||
- (\b.?anus),donuts
|
||||
- (\ba+r*(se+|ss+(?!(ass|um|oc|ign|ist)).*?|s*e*h+[o0]*[l1]+e*[sz]*)\b),donuts
|
||||
- (b[i1]a?tch(es)?),puppy
|
||||
- Carpet Muncher,cookie monster
|
||||
- (\bc((?!ook\b)[o0]+c*|aw)k\W?(sucker|s*|he[ea]*d)\b),rooster
|
||||
- (\b[ck]r+a+p+(er|s|z)?\b),poopoo
|
||||
- (\bcu+m+\b),go
|
||||
- (\b.?[ck](u*n+|[l1]+[i1]+)t+[sz]*\b),peach
|
||||
- (\b.?d[1i](c?k(head)?|[l1]+d[o0])e?[sz]?\b),rooster
|
||||
- f u c k( e r)?,nono
|
||||
- (\b.?fai*g+[oei1]*t*[sz]*\b),cigar
|
||||
- Fudge Packer,fine person
|
||||
- (\b(m[uo]+th[ae]r?)?(f|ph)uc*k*(e[rn]|ah*|ing?|)[sz]?\b),oh dear
|
||||
- (\b(j(ac|er|ur)k\W?(of+))|(ji[sz]+i*m*)\b),bake brownies
|
||||
- (\b(ma+s+te?rbai?te?[rs]?|wank(er)?[sz]?)\b),bake brownies
|
||||
- orafi(s|ce),rooster
|
||||
- (\bp+[e3]+[ai]*n+[i1!ua]+s+),rooster
|
||||
- (\bp[i1]s+(?!(ton))(flap|face|drop)?),peepee
|
||||
- (\b.?sh[i1!y]t+(er?|y|head)?[sz]*),poopoo
|
||||
- (\bva[1i]?[gj]+[i1]+na+\b),peach
|
||||
- vu[1l]+va,peach
|
||||
- planet.?minecraft,another dimension
|
||||
- pmc,another dimension
|
||||
- ((\d+\.){3}\d+),another dimension
|
||||
|
||||
# command without the /
|
||||
blockablecommands:
|
||||
- vote
|
||||
- me
|
||||
|
||||
# blacklisted nicknames
|
||||
nicknames:
|
||||
- Notch
|
||||
|
||||
nickname-in-tablist: true
|
||||
|
||||
# {player} : player sending command
|
||||
# {command} : command typed
|
||||
commandspy:
|
||||
format: '&6{player}: {command}'
|
||||
worldeditcommands: true
|
||||
|
||||
antispam:
|
||||
enabled: true
|
||||
|
||||
# Number of messages to be spam
|
||||
spamnumber: 5
|
||||
|
||||
# Amount of time in seconds for it to be spam
|
||||
spamtime: 10
|
||||
|
||||
# Amount of time for the mute to last
|
||||
# Acceptable units are: d,h,m,s
|
||||
# Units can be combined, for example: 1d8h30m15s
|
||||
# Use 0 for untimed mute
|
||||
mutetime: 10m
|
||||
|
||||
# Logging chat and commands to a mysql database
|
||||
mysql:
|
||||
enabled: false
|
||||
user: User
|
||||
port: 3306
|
||||
password: Password
|
||||
host: localhost
|
||||
database: Database
|
||||
|
||||
# Loglevel feature is still in the works for adding of debug messages
|
||||
# Valid loglevels:
|
||||
# Info: Regular logging
|
||||
# Debug: Show extra messages and caught errors for debugging
|
||||
# Severe: Only show severe messages
|
||||
loglevel: info
|
||||
|
||||
# saveinterval is in minutes
|
||||
saveinterval: 30
|
||||
|
||||
# If you're running a "cracked" server, player data might not be stored properly, and thus, you are on your own.
|
||||
# If you run your server in offline mode, you might have to reset your player data when switching to online mode!
|
||||
# If you see this warning by accident and you are using BungeeCord, make sure you have properly setup IP Forwarding.
|
||||
# https://www.spigotmc.org/wiki/bungeecord-ip-forwarding/
|
||||
# No player data will be saved in offline mode unless you set this acknowledgement to 'true'
|
||||
offline_server_acknowledgement: false
|
||||
|
||||
# The time in seconds between each check to remove timed mutes
|
||||
unmuteinterval: 60
|
||||
|
||||
# Enables or disabled BungeeCord messaging
|
||||
bungeecordmessaging: false
|
||||
|
||||
# Sound for message notification
|
||||
# Enter 'None' to disable the sound
|
||||
message_sound: ENTITY_PLAYER_LEVELUP
|
||||
|
||||
# This will allow vanished players to be exempt from being sent private messages, and will act as if they aren't online
|
||||
vanishsupport: true
|
||||
|
||||
# Use PlaceholderAPI placeholders
|
||||
# Start the placeholder with 'sender_' for the sending players placeholder
|
||||
# Start the placeholder with 'receiver_' for the receiving players placeholder
|
||||
# The defaults shown below provide an example of each
|
||||
tellformatto: '&7You message {receiver_vault_prefix}{receiver_player_displayname}&7:'
|
||||
tellformatfrom: '{sender_vault_prefix}{sender_player_displayname} &7messages you:'
|
||||
tellformatspy: '{sender_player_name} messages {receiver_player_name}:&7'
|
||||
replyformatto: '&7You reply to {receiver_vault_prefix}{receiver_player_displayname}&7:'
|
||||
replyformatfrom: '{sender_vault_prefix}{sender_player_displayname} &7replies to you:'
|
||||
replyformatspy: '{sender_player_name} replies to {receiver_player_name}:&7'
|
||||
|
||||
# {host} : party hosts name
|
||||
# {player} : player name
|
||||
# use Default for the basic formatting
|
||||
partyformat: Default
|
||||
|
||||
formatcleaner: true
|
||||
|
||||
# If true, /ignore will block chat from the ignored player as well as PM's
|
||||
ignorechat: false
|
||||
|
||||
# The message shown to players alerting them no one is in the channel to hear them
|
||||
emptychannelalert: "&6No one is listening to you."
|
||||
|
||||
messageremoverpermissions: '&cYou need additional permissions to view this message!'
|
||||
messageremovertext: '&c&o<message removed>'
|
||||
|
||||
# The name of the group is the permissions node for the format
|
||||
# Example: venturechat.json.Owner is the node for the group Owner
|
||||
# A lower priority overrides a higher priority if a player has more than 1 group
|
||||
# Possible options for click_name and click_prefix are suggest_command, run_command, and open_url
|
||||
jsonformatting:
|
||||
Default: # This default format is required! Do not delete or rename it!
|
||||
priority: 2147483647 # Integer.MAX_VALUE
|
||||
hover_name:
|
||||
- '&6I have no rank!'
|
||||
click_name: 'suggest_command'
|
||||
click_name_text: '/msg {player_name}'
|
||||
hover_prefix:
|
||||
- '&dI am default!'
|
||||
click_prefix: 'run_command'
|
||||
click_prefix_text: '/help'
|
||||
hover_suffix:
|
||||
- '&dI am default suffix!'
|
||||
click_suffix: 'suggest_command'
|
||||
click_suffix_text: '/msg {player_name}'
|
||||
Owner:
|
||||
priority: 1 # Lowest Priority
|
||||
hover_name:
|
||||
- '&cOwner of the server!'
|
||||
- '&bMessage me for help!'
|
||||
click_name: 'suggest_command'
|
||||
click_name_text: '/msg {player_name}'
|
||||
hover_prefix:
|
||||
- '&dServer Owner'
|
||||
click_prefix: 'run_command'
|
||||
click_prefix_text: '/help'
|
||||
hover_suffix:
|
||||
- '&dI am Owner suffix!'
|
||||
click_suffix: 'suggest_command'
|
||||
click_suffix_text: '/msg {player_name}'
|
||||
|
||||
# The icon is the block shown in the GUI
|
||||
# The text is the display name of the block icon
|
||||
# Include a slash (/) before the command
|
||||
# Permissions are the name of the button and automatically include "venturechat."
|
||||
# Example: mute equals venturechat.mute
|
||||
venturegui:
|
||||
mute:
|
||||
icon: 'REDSTONE_BLOCK'
|
||||
durability: 0
|
||||
text: '&cMute {player_name} &410m'
|
||||
permission: 'mute'
|
||||
command: '/mute {channel} {player_name} 10m'
|
||||
slot: 1
|
||||
unmute:
|
||||
icon: 'DIAMOND_BLOCK'
|
||||
durability: 0
|
||||
text: '&bUnmute {player_name}'
|
||||
permission: 'mute'
|
||||
command: '/unmute {channel} {player_name} '
|
||||
slot: 2
|
||||
removemessage:
|
||||
icon: 'DIAMOND_AXE'
|
||||
durability: 0
|
||||
text: '&cRemove Message'
|
||||
permission: 'removemessage'
|
||||
command: '/removemessage {hash} {channel}'
|
||||
slot: 7
|
||||
|
||||
guiicon: '&c [✓]'
|
||||
guitext: '&cOpen Moderation GUI'
|
||||
guirows: 1
|
||||
|
||||
# All clickable URL's will be underlined if set to true
|
||||
underlineurls: true
|
||||
|
||||
# broadcast information
|
||||
broadcast:
|
||||
color: red
|
||||
permissions: venturechat.adminchannel
|
||||
displaytag: '[Broadcast]'
|
||||
|
||||
# Use $ to include arguments into the message
|
||||
# Valid component types are:
|
||||
# Command: Sends a message or command in chat
|
||||
# Message: Sends a message to the player
|
||||
# Broadcast: Sends a broadcast to all players on the server
|
||||
# Permissions automatically include "venturechat."
|
||||
# Example: permissions: alert equals venturechat.alert
|
||||
# Use None for no permissions
|
||||
# The number of arguments is the minimum number of required arguments, use 0 for no required arguments
|
||||
alias:
|
||||
vote:
|
||||
arguments: 0
|
||||
permissions: None
|
||||
components:
|
||||
- 'Message: &6Vote here: www.votelinkhere.com'
|
||||
bane:
|
||||
arguments: 2
|
||||
permissions: bane
|
||||
components:
|
||||
- 'Command: /ban $ appeal at www.site.com'
|
||||
- 'Command: /st banned $'
|
||||
alert:
|
||||
arguments: 1
|
||||
permissions: alert
|
||||
components:
|
||||
- 'Broadcast: &c<Alert> $'
|
||||
donate:
|
||||
arguments: 0
|
||||
permissions: None
|
||||
components:
|
||||
- 'Message: &bDonate here: www.mywebsite.com'
|
||||
website:
|
||||
arguments: 0
|
||||
permissions: None
|
||||
components:
|
||||
- 'Message: &aThis is our website: www.site.net'
|
||||
|
||||
# Enables the creation of special Towny channels: Town and Nation
|
||||
# To create these channels, simply name two channels below "Town" and "Nation"
|
||||
# Bungeecord must be set to false for these channels!
|
||||
enable_towny_channel: false
|
||||
|
||||
# Enables the creation of a special faction only channel using the Factions plugin
|
||||
# To create this channel, simply name a channel below "Faction"
|
||||
# Bungeecord must be set to false for this channel!
|
||||
# WARNING: May not work for all versions of Factions!
|
||||
enable_factions_channel: false
|
||||
|
||||
# color = [channel] color
|
||||
# chatcolor = text color
|
||||
# cooldown is in seconds
|
||||
# bungeecord overrides distance
|
||||
# channel permissions are configurable
|
||||
# channels can be changed, and new channels can be created
|
||||
# Permissions automatically include "venturechat."
|
||||
# Example: permissions: staff equals venturechat.staff
|
||||
# Use None for no permissions
|
||||
|
||||
# Use PlaceholderAPI placeholders are required!!!
|
||||
# Use PlaceholderAPI placeholders are required!!!
|
||||
# Use PlaceholderAPI placeholders are required!!!
|
||||
# /papi ecloud download [plugin]
|
||||
# /papi reload
|
||||
# Use '' or "" around format, example: '[&2global&f] {vault_prefix} {player_displayname}&2:'
|
||||
# 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!
|
||||
|
||||
# Important!!!
|
||||
# Important!!!
|
||||
# If you delete a channel, restart the server! Do not use /chatreload!!!
|
||||
channels:
|
||||
GroupChatColorExample:
|
||||
color: '#706C1E'
|
||||
chatcolor: 'None'
|
||||
mutable: true
|
||||
filter: true
|
||||
autojoin: true
|
||||
default: false
|
||||
distance: 0
|
||||
cooldown: 0
|
||||
bungeecord: false
|
||||
alias: ge
|
||||
permissions: None
|
||||
speak_permissions: None
|
||||
format: '&f[#706C1EGroupColorChat&f] {vault_prefix} {player_displayname}#706C1E:{vault_suffix}'
|
||||
HexExample:
|
||||
color: '#ff0000'
|
||||
chatcolor: '#ff0000'
|
||||
mutable: true
|
||||
filter: true
|
||||
autojoin: true
|
||||
default: false
|
||||
distance: 0
|
||||
cooldown: 0
|
||||
bungeecord: false
|
||||
alias: he
|
||||
permissions: None
|
||||
speak_permissions: None
|
||||
format: '&f[#ff0000Hex&f] {vault_prefix} {player_displayname}#ff0000:'
|
||||
BungeeExample:
|
||||
color: gold
|
||||
chatcolor: gold
|
||||
mutable: true
|
||||
filter: true
|
||||
autojoin: true
|
||||
default: false
|
||||
distance: 0
|
||||
cooldown: 3
|
||||
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
|
||||
mutable: true
|
||||
filter: true
|
||||
autojoin: true
|
||||
default: true
|
||||
distance: 0
|
||||
cooldown: 0
|
||||
bungeecord: false
|
||||
alias: g
|
||||
permissions: None
|
||||
speak_permissions: None
|
||||
format: '&f[&2Global&f] {vault_prefix} {player_displayname}&2:'
|
||||
Staff:
|
||||
color: green
|
||||
chatcolor: green
|
||||
mutable: false
|
||||
filter: false
|
||||
autojoin: true
|
||||
default: false
|
||||
distance: 0
|
||||
cooldown: 0
|
||||
bungeecord: false
|
||||
alias: st
|
||||
permissions: staffchannel
|
||||
speak_permissions: None
|
||||
format: '&f[&aStaff&f] {vault_prefix} {player_displayname}&a:'
|
||||
Donator:
|
||||
color: light_purple
|
||||
chatcolor: light_purple
|
||||
mutable: true
|
||||
filter: true
|
||||
autojoin: true
|
||||
default: false
|
||||
distance: 0
|
||||
cooldown: 0
|
||||
bungeecord: false
|
||||
alias: d
|
||||
permissions: donatorchannel
|
||||
speak_permissions: None
|
||||
format: '&f[&dDonator&f] {vault_prefix} {player_displayname}&d:'
|
||||
Help:
|
||||
color: aqua
|
||||
chatcolor: aqua
|
||||
mutable: true
|
||||
filter: true
|
||||
autojoin: true
|
||||
default: false
|
||||
distance: 0
|
||||
cooldown: 0
|
||||
bungeecord: false
|
||||
alias: h
|
||||
permissions: None
|
||||
speak_permissions: None
|
||||
format: '&f[&bHelp&f] {vault_prefix} {player_displayname}&b:'
|
||||
Trade:
|
||||
color: dark_aqua
|
||||
chatcolor: dark_aqua
|
||||
mutable: true
|
||||
filter: true
|
||||
autojoin: true
|
||||
default: false
|
||||
distance: 0
|
||||
cooldown: 0
|
||||
bungeecord: false
|
||||
alias: t
|
||||
permissions: None
|
||||
speak_permissions: None
|
||||
format: '&f[&3Trade&f] {vault_prefix} {player_displayname}&3:'
|
||||
Local:
|
||||
color: yellow
|
||||
chatcolor: yellow
|
||||
mutable: true
|
||||
filter: true
|
||||
autojoin: true
|
||||
default: false
|
||||
distance: 230
|
||||
cooldown: 0
|
||||
bungeecord: false
|
||||
alias: l
|
||||
permissions: None
|
||||
speak_permissions: None
|
||||
format: '&f[&eLocal&f] {vault_prefix} {player_displayname}&e:'
|
@ -1,423 +1,424 @@
|
||||
#===============================================================
|
||||
# VentureChat Config =
|
||||
# Author: Aust1n46 =
|
||||
#===============================================================
|
||||
|
||||
# - regex1,regex2
|
||||
# Simple regex tips: Use \b to "cut" a section of the word or phrase. Example: \bass,donuts
|
||||
# Example filtered sentence: You are an ass. Will become: You are an donuts.
|
||||
# Example filtered sentence: You caught a bass. Will stay: You caught a bass.
|
||||
# Example filtered sentence: You are an asshole. Will become: You are an donutshole.
|
||||
# Default filters by Jabelpeeps
|
||||
filters:
|
||||
- (\b.?anus),donuts
|
||||
- (\ba+r*(se+|ss+(?!(ass|um|oc|ign|ist)).*?|s*e*h+[o0]*[l1]+e*[sz]*)\b),donuts
|
||||
- (b[i1]a?tch(es)?),puppy
|
||||
- Carpet Muncher,cookie monster
|
||||
- (\bc((?!ook\b)[o0]+c*|aw)k\W?(sucker|s*|he[ea]*d)\b),rooster
|
||||
- (\b[ck]r+a+p+(er|s|z)?\b),poopoo
|
||||
- (\bcu+m+\b),go
|
||||
- (\b.?[ck](u*n+|[l1]+[i1]+)t+[sz]*\b),peach
|
||||
- (\b.?d[1i](c?k(head)?|[l1]+d[o0])e?[sz]?\b),rooster
|
||||
- f u c k( e r)?,nono
|
||||
- (\b.?fai*g+[oei1]*t*[sz]*\b),cigar
|
||||
- Fudge Packer,fine person
|
||||
- (\b(m[uo]+th[ae]r?)?(f|ph)uc*k*(e[rn]|ah*|ing?|)[sz]?\b),oh dear
|
||||
- (\b(j(ac|er|ur)k\W?(of+))|(ji[sz]+i*m*)\b),bake brownies
|
||||
- (\b(ma+s+te?rbai?te?[rs]?|wank(er)?[sz]?)\b),bake brownies
|
||||
- orafi(s|ce),rooster
|
||||
- (\bp+[e3]+[ai]*n+[i1!ua]+s+),rooster
|
||||
- (\bp[i1]s+(?!(ton))(flap|face|drop)?),peepee
|
||||
- (\b.?sh[i1!y]t+(er?|y|head)?[sz]*),poopoo
|
||||
- (\bva[1i]?[gj]+[i1]+na+\b),peach
|
||||
- vu[1l]+va,peach
|
||||
- planet.?minecraft,another dimension
|
||||
- pmc,another dimension
|
||||
- ((\d+\.){3}\d+),another dimension
|
||||
|
||||
# command without the /
|
||||
blockablecommands:
|
||||
- vote
|
||||
- me
|
||||
|
||||
# blacklisted nicknames
|
||||
nicknames:
|
||||
- Notch
|
||||
|
||||
nickname-in-tablist: true
|
||||
|
||||
# {player} : player sending command
|
||||
# {command} : command typed
|
||||
commandspy:
|
||||
format: '&6{player}: {command}'
|
||||
worldeditcommands: true
|
||||
|
||||
antispam:
|
||||
enabled: true
|
||||
|
||||
# Number of messages to be spam
|
||||
spamnumber: 5
|
||||
|
||||
# Amount of time in seconds for it to be spam
|
||||
spamtime: 10
|
||||
|
||||
# Amount of time for the mute to last
|
||||
# Acceptable units are: d,h,m,s
|
||||
# Units can be combined, for example: 1d8h30m15s
|
||||
# Use 0 for untimed mute
|
||||
mutetime: 10m
|
||||
|
||||
# Logging chat and commands to a mysql database
|
||||
mysql:
|
||||
enabled: false
|
||||
user: User
|
||||
port: 3306
|
||||
password: Password
|
||||
host: localhost
|
||||
database: Database
|
||||
|
||||
# Loglevel feature is still in the works for adding of debug messages
|
||||
# Valid loglevels:
|
||||
# Info: Regular logging
|
||||
# Debug: Show extra messages and caught errors for debugging
|
||||
# Severe: Only show severe messages
|
||||
loglevel: info
|
||||
|
||||
# saveinterval is in minutes
|
||||
saveinterval: 30
|
||||
|
||||
# If you're running a "cracked" server, player data might not be stored properly, and thus, you are on your own.
|
||||
# If you run your server in offline mode, you might have to reset your player data when switching to online mode!
|
||||
# If you see this warning by accident and you are using BungeeCord, make sure you have properly setup IP Forwarding.
|
||||
# https://www.spigotmc.org/wiki/bungeecord-ip-forwarding/
|
||||
# No player data will be saved in offline mode unless you set this acknowledgement to 'true'
|
||||
offline_server_acknowledgement: false
|
||||
|
||||
# The time in seconds between each check to remove timed mutes
|
||||
unmuteinterval: 60
|
||||
|
||||
# Enables or disabled BungeeCord messaging
|
||||
bungeecordmessaging: false
|
||||
|
||||
# Sound for message notification
|
||||
message_sound: ENTITY_PLAYER_LEVELUP
|
||||
|
||||
# This will allow vanished players to be exempt from being sent private messages, and will act as if they aren't online
|
||||
vanishsupport: true
|
||||
|
||||
# Use PlaceholderAPI placeholders
|
||||
# Start the placeholder with 'sender_' for the sending players placeholder
|
||||
# Start the placeholder with 'receiver_' for the receiving players placeholder
|
||||
# The defaults shown below provide an example of each
|
||||
tellformatto: '&7You message {receiver_vault_prefix}{receiver_player_displayname}&7:'
|
||||
tellformatfrom: '{sender_vault_prefix}{sender_player_displayname} &7messages you:'
|
||||
tellformatspy: '{sender_player_name} messages {receiver_player_name}:&7'
|
||||
replyformatto: '&7You reply to {receiver_vault_prefix}{receiver_player_displayname}&7:'
|
||||
replyformatfrom: '{sender_vault_prefix}{sender_player_displayname} &7replies to you:'
|
||||
replyformatspy: '{sender_player_name} replies to {receiver_player_name}:&7'
|
||||
|
||||
# {host} : party hosts name
|
||||
# {player} : player name
|
||||
# use Default for the basic formatting
|
||||
partyformat: Default
|
||||
|
||||
formatcleaner: true
|
||||
|
||||
# If true, /ignore will block chat from the ignored player as well as PM's
|
||||
ignorechat: false
|
||||
|
||||
# The message shown to players alerting them no one is in the channel to hear them
|
||||
emptychannelalert: "&6No one is listening to you."
|
||||
|
||||
messageremoverpermissions: '&cYou need additional permissions to view this message!'
|
||||
messageremovertext: '&c&o<message removed>'
|
||||
|
||||
# The name of the group is the permissions node for the format
|
||||
# Example: venturechat.json.Owner is the node for the group Owner
|
||||
# A lower priority overrides a higher priority if a player has more than 1 group
|
||||
# Possible options for click_name and click_prefix are suggest_command, run_command, and open_url
|
||||
jsonformatting:
|
||||
Default: # This default format is required! Do not delete or rename it!
|
||||
priority: 2147483647 # Integer.MAX_VALUE
|
||||
hover_name:
|
||||
- '&6I have no rank!'
|
||||
click_name: 'suggest_command'
|
||||
click_name_text: '/msg {player_name}'
|
||||
hover_prefix:
|
||||
- '&dI am default!'
|
||||
click_prefix: 'run_command'
|
||||
click_prefix_text: '/help'
|
||||
hover_suffix:
|
||||
- '&dI am default suffix!'
|
||||
click_suffix: 'suggest_command'
|
||||
click_suffix_text: '/msg {player_name}'
|
||||
Owner:
|
||||
priority: 1 # Lowest Priority
|
||||
hover_name:
|
||||
- '&cOwner of the server!'
|
||||
- '&bMessage me for help!'
|
||||
click_name: 'suggest_command'
|
||||
click_name_text: '/msg {player_name}'
|
||||
hover_prefix:
|
||||
- '&dServer Owner'
|
||||
click_prefix: 'run_command'
|
||||
click_prefix_text: '/help'
|
||||
hover_suffix:
|
||||
- '&dI am Owner suffix!'
|
||||
click_suffix: 'suggest_command'
|
||||
click_suffix_text: '/msg {player_name}'
|
||||
|
||||
# The icon is the block shown in the GUI
|
||||
# The text is the display name of the block icon
|
||||
# Include a slash (/) before the command
|
||||
# Permissions are the name of the button and automatically include "venturechat."
|
||||
# Example: mute equals venturechat.mute
|
||||
venturegui:
|
||||
mute:
|
||||
icon: 'REDSTONE_BLOCK'
|
||||
durability: 0
|
||||
text: '&cMute {player_name} &410m'
|
||||
permission: 'mute'
|
||||
command: '/mute {channel} {player_name} 10m'
|
||||
slot: 1
|
||||
unmute:
|
||||
icon: 'DIAMOND_BLOCK'
|
||||
durability: 0
|
||||
text: '&bUnmute {player_name}'
|
||||
permission: 'mute'
|
||||
command: '/unmute {channel} {player_name} '
|
||||
slot: 2
|
||||
removemessage:
|
||||
icon: 'DIAMOND_AXE'
|
||||
durability: 0
|
||||
text: '&cRemove Message'
|
||||
permission: 'removemessage'
|
||||
command: '/removemessage {hash} {channel}'
|
||||
slot: 7
|
||||
|
||||
guiicon: '&c [✓]'
|
||||
guitext: '&cOpen Moderation GUI'
|
||||
guirows: 1
|
||||
|
||||
# All clickable URL's will be underlined if set to true
|
||||
underlineurls: true
|
||||
|
||||
# broadcast information
|
||||
broadcast:
|
||||
color: red
|
||||
permissions: venturechat.adminchannel
|
||||
displaytag: '[Broadcast]'
|
||||
|
||||
# Use $ to include arguments into the message
|
||||
# Valid component types are:
|
||||
# Command: Sends a message or command in chat
|
||||
# Message: Sends a message to the player
|
||||
# Broadcast: Sends a broadcast to all players on the server
|
||||
# Permissions automatically include "venturechat."
|
||||
# Example: permissions: alert equals venturechat.alert
|
||||
# Use None for no permissions
|
||||
# The number of arguments is the minimum number of required arguments, use 0 for no required arguments
|
||||
alias:
|
||||
vote:
|
||||
arguments: 0
|
||||
permissions: None
|
||||
components:
|
||||
- 'Message: &6Vote here: www.votelinkhere.com'
|
||||
bane:
|
||||
arguments: 2
|
||||
permissions: bane
|
||||
components:
|
||||
- 'Command: /ban $ appeal at www.site.com'
|
||||
- 'Command: /st banned $'
|
||||
alert:
|
||||
arguments: 1
|
||||
permissions: alert
|
||||
components:
|
||||
- 'Broadcast: &c<Alert> $'
|
||||
donate:
|
||||
arguments: 0
|
||||
permissions: None
|
||||
components:
|
||||
- 'Message: &bDonate here: www.mywebsite.com'
|
||||
website:
|
||||
arguments: 0
|
||||
permissions: None
|
||||
components:
|
||||
- 'Message: &aThis is our website: www.site.net'
|
||||
|
||||
# Enables the creation of special Towny channels: Town and Nation
|
||||
# To create these channels, simply name two channels below "Town" and "Nation"
|
||||
# Bungeecord must be set to false for these channels!
|
||||
enable_towny_channel: false
|
||||
|
||||
# Enables the creation of a special faction only channel using the Factions plugin
|
||||
# To create this channel, simply name a channel below "Faction"
|
||||
# Bungeecord must be set to false for this channel!
|
||||
# WARNING: May not work for all versions of Factions!
|
||||
enable_factions_channel: false
|
||||
|
||||
# color = [channel] color
|
||||
# chatcolor = text color
|
||||
# cooldown is in seconds
|
||||
# bungeecord overrides distance
|
||||
# channel permissions are configurable
|
||||
# channels can be changed, and new channels can be created
|
||||
# Permissions automatically include "venturechat."
|
||||
# Example: permissions: staff equals venturechat.staff
|
||||
# Use None for no permissions
|
||||
|
||||
# Use PlaceholderAPI placeholders are required!!!
|
||||
# Use PlaceholderAPI placeholders are required!!!
|
||||
# Use PlaceholderAPI placeholders are required!!!
|
||||
# /papi ecloud download [plugin]
|
||||
# /papi reload
|
||||
# Use '' or "" around format, example: '[&2global&f] {vault_prefix} {player_displayname}&2:'
|
||||
# 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!
|
||||
|
||||
# Important!!!
|
||||
# Important!!!
|
||||
# If you delete a channel, restart the server! Do not use /chatreload!!!
|
||||
channels:
|
||||
GroupChatColorExample:
|
||||
color: '#706C1E'
|
||||
chatcolor: 'None'
|
||||
mutable: true
|
||||
filter: true
|
||||
autojoin: true
|
||||
default: false
|
||||
distance: 0
|
||||
cooldown: 0
|
||||
bungeecord: false
|
||||
alias: ge
|
||||
permissions: None
|
||||
speak_permissions: None
|
||||
format: '&f[#706C1EGroupColorChat&f] {vault_prefix} {player_displayname}#706C1E:{vault_suffix}'
|
||||
HexExample:
|
||||
color: '#ff0000'
|
||||
chatcolor: '#ff0000'
|
||||
mutable: true
|
||||
filter: true
|
||||
autojoin: true
|
||||
default: false
|
||||
distance: 0
|
||||
cooldown: 0
|
||||
bungeecord: false
|
||||
alias: he
|
||||
permissions: None
|
||||
speak_permissions: None
|
||||
format: '&f[#ff0000Hex&f] {vault_prefix} {player_displayname}#ff0000:'
|
||||
BungeeExample:
|
||||
color: gold
|
||||
chatcolor: gold
|
||||
mutable: true
|
||||
filter: true
|
||||
autojoin: true
|
||||
default: false
|
||||
distance: 0
|
||||
cooldown: 3
|
||||
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
|
||||
mutable: true
|
||||
filter: true
|
||||
autojoin: true
|
||||
default: true
|
||||
distance: 0
|
||||
cooldown: 0
|
||||
bungeecord: false
|
||||
alias: g
|
||||
permissions: None
|
||||
speak_permissions: None
|
||||
format: '&f[&2Global&f] {vault_prefix} {player_displayname}&2:'
|
||||
Staff:
|
||||
color: green
|
||||
chatcolor: green
|
||||
mutable: false
|
||||
filter: false
|
||||
autojoin: true
|
||||
default: false
|
||||
distance: 0
|
||||
cooldown: 0
|
||||
bungeecord: false
|
||||
alias: st
|
||||
permissions: staffchannel
|
||||
speak_permissions: None
|
||||
format: '&f[&aStaff&f] {vault_prefix} {player_displayname}&a:'
|
||||
Donator:
|
||||
color: light_purple
|
||||
chatcolor: light_purple
|
||||
mutable: true
|
||||
filter: true
|
||||
autojoin: true
|
||||
default: false
|
||||
distance: 0
|
||||
cooldown: 0
|
||||
bungeecord: false
|
||||
alias: d
|
||||
permissions: donatorchannel
|
||||
speak_permissions: None
|
||||
format: '&f[&dDonator&f] {vault_prefix} {player_displayname}&d:'
|
||||
Help:
|
||||
color: aqua
|
||||
chatcolor: aqua
|
||||
mutable: true
|
||||
filter: true
|
||||
autojoin: true
|
||||
default: false
|
||||
distance: 0
|
||||
cooldown: 0
|
||||
bungeecord: false
|
||||
alias: h
|
||||
permissions: None
|
||||
speak_permissions: None
|
||||
format: '&f[&bHelp&f] {vault_prefix} {player_displayname}&b:'
|
||||
Trade:
|
||||
color: dark_aqua
|
||||
chatcolor: dark_aqua
|
||||
mutable: true
|
||||
filter: true
|
||||
autojoin: true
|
||||
default: false
|
||||
distance: 0
|
||||
cooldown: 0
|
||||
bungeecord: false
|
||||
alias: t
|
||||
permissions: None
|
||||
speak_permissions: None
|
||||
format: '&f[&3Trade&f] {vault_prefix} {player_displayname}&3:'
|
||||
Local:
|
||||
color: yellow
|
||||
chatcolor: yellow
|
||||
mutable: true
|
||||
filter: true
|
||||
autojoin: true
|
||||
default: false
|
||||
distance: 230
|
||||
cooldown: 0
|
||||
bungeecord: false
|
||||
alias: l
|
||||
permissions: None
|
||||
speak_permissions: None
|
||||
#===============================================================
|
||||
# VentureChat Config =
|
||||
# Author: Aust1n46 =
|
||||
#===============================================================
|
||||
|
||||
# - regex1,regex2
|
||||
# Simple regex tips: Use \b to "cut" a section of the word or phrase. Example: \bass,donuts
|
||||
# Example filtered sentence: You are an ass. Will become: You are an donuts.
|
||||
# Example filtered sentence: You caught a bass. Will stay: You caught a bass.
|
||||
# Example filtered sentence: You are an asshole. Will become: You are an donutshole.
|
||||
# Default filters by Jabelpeeps
|
||||
filters:
|
||||
- (\b.?anus),donuts
|
||||
- (\ba+r*(se+|ss+(?!(ass|um|oc|ign|ist)).*?|s*e*h+[o0]*[l1]+e*[sz]*)\b),donuts
|
||||
- (b[i1]a?tch(es)?),puppy
|
||||
- Carpet Muncher,cookie monster
|
||||
- (\bc((?!ook\b)[o0]+c*|aw)k\W?(sucker|s*|he[ea]*d)\b),rooster
|
||||
- (\b[ck]r+a+p+(er|s|z)?\b),poopoo
|
||||
- (\bcu+m+\b),go
|
||||
- (\b.?[ck](u*n+|[l1]+[i1]+)t+[sz]*\b),peach
|
||||
- (\b.?d[1i](c?k(head)?|[l1]+d[o0])e?[sz]?\b),rooster
|
||||
- f u c k( e r)?,nono
|
||||
- (\b.?fai*g+[oei1]*t*[sz]*\b),cigar
|
||||
- Fudge Packer,fine person
|
||||
- (\b(m[uo]+th[ae]r?)?(f|ph)uc*k*(e[rn]|ah*|ing?|)[sz]?\b),oh dear
|
||||
- (\b(j(ac|er|ur)k\W?(of+))|(ji[sz]+i*m*)\b),bake brownies
|
||||
- (\b(ma+s+te?rbai?te?[rs]?|wank(er)?[sz]?)\b),bake brownies
|
||||
- orafi(s|ce),rooster
|
||||
- (\bp+[e3]+[ai]*n+[i1!ua]+s+),rooster
|
||||
- (\bp[i1]s+(?!(ton))(flap|face|drop)?),peepee
|
||||
- (\b.?sh[i1!y]t+(er?|y|head)?[sz]*),poopoo
|
||||
- (\bva[1i]?[gj]+[i1]+na+\b),peach
|
||||
- vu[1l]+va,peach
|
||||
- planet.?minecraft,another dimension
|
||||
- pmc,another dimension
|
||||
- ((\d+\.){3}\d+),another dimension
|
||||
|
||||
# command without the /
|
||||
blockablecommands:
|
||||
- vote
|
||||
- me
|
||||
|
||||
# blacklisted nicknames
|
||||
nicknames:
|
||||
- Notch
|
||||
|
||||
nickname-in-tablist: true
|
||||
|
||||
# {player} : player sending command
|
||||
# {command} : command typed
|
||||
commandspy:
|
||||
format: '&6{player}: {command}'
|
||||
worldeditcommands: true
|
||||
|
||||
antispam:
|
||||
enabled: true
|
||||
|
||||
# Number of messages to be spam
|
||||
spamnumber: 5
|
||||
|
||||
# Amount of time in seconds for it to be spam
|
||||
spamtime: 10
|
||||
|
||||
# Amount of time for the mute to last
|
||||
# Acceptable units are: d,h,m,s
|
||||
# Units can be combined, for example: 1d8h30m15s
|
||||
# Use 0 for untimed mute
|
||||
mutetime: 10m
|
||||
|
||||
# Logging chat and commands to a mysql database
|
||||
mysql:
|
||||
enabled: false
|
||||
user: User
|
||||
port: 3306
|
||||
password: Password
|
||||
host: localhost
|
||||
database: Database
|
||||
|
||||
# Loglevel feature is still in the works for adding of debug messages
|
||||
# Valid loglevels:
|
||||
# Info: Regular logging
|
||||
# Debug: Show extra messages and caught errors for debugging
|
||||
# Severe: Only show severe messages
|
||||
loglevel: info
|
||||
|
||||
# saveinterval is in minutes
|
||||
saveinterval: 30
|
||||
|
||||
# If you're running a "cracked" server, player data might not be stored properly, and thus, you are on your own.
|
||||
# If you run your server in offline mode, you might have to reset your player data when switching to online mode!
|
||||
# If you see this warning by accident and you are using BungeeCord, make sure you have properly setup IP Forwarding.
|
||||
# https://www.spigotmc.org/wiki/bungeecord-ip-forwarding/
|
||||
# No player data will be saved in offline mode unless you set this acknowledgement to 'true'
|
||||
offline_server_acknowledgement: false
|
||||
|
||||
# The time in seconds between each check to remove timed mutes
|
||||
unmuteinterval: 60
|
||||
|
||||
# Enables or disabled BungeeCord messaging
|
||||
bungeecordmessaging: false
|
||||
|
||||
# Sound for message notification
|
||||
# Enter 'None' to disable the sound
|
||||
message_sound: ENTITY_PLAYER_LEVELUP
|
||||
|
||||
# This will allow vanished players to be exempt from being sent private messages, and will act as if they aren't online
|
||||
vanishsupport: true
|
||||
|
||||
# Use PlaceholderAPI placeholders
|
||||
# Start the placeholder with 'sender_' for the sending players placeholder
|
||||
# Start the placeholder with 'receiver_' for the receiving players placeholder
|
||||
# The defaults shown below provide an example of each
|
||||
tellformatto: '&7You message {receiver_vault_prefix}{receiver_player_displayname}&7:'
|
||||
tellformatfrom: '{sender_vault_prefix}{sender_player_displayname} &7messages you:'
|
||||
tellformatspy: '{sender_player_name} messages {receiver_player_name}:&7'
|
||||
replyformatto: '&7You reply to {receiver_vault_prefix}{receiver_player_displayname}&7:'
|
||||
replyformatfrom: '{sender_vault_prefix}{sender_player_displayname} &7replies to you:'
|
||||
replyformatspy: '{sender_player_name} replies to {receiver_player_name}:&7'
|
||||
|
||||
# {host} : party hosts name
|
||||
# {player} : player name
|
||||
# use Default for the basic formatting
|
||||
partyformat: Default
|
||||
|
||||
formatcleaner: true
|
||||
|
||||
# If true, /ignore will block chat from the ignored player as well as PM's
|
||||
ignorechat: false
|
||||
|
||||
# The message shown to players alerting them no one is in the channel to hear them
|
||||
emptychannelalert: "&6No one is listening to you."
|
||||
|
||||
messageremoverpermissions: '&cYou need additional permissions to view this message!'
|
||||
messageremovertext: '&c&o<message removed>'
|
||||
|
||||
# The name of the group is the permissions node for the format
|
||||
# Example: venturechat.json.Owner is the node for the group Owner
|
||||
# A lower priority overrides a higher priority if a player has more than 1 group
|
||||
# Possible options for click_name and click_prefix are suggest_command, run_command, and open_url
|
||||
jsonformatting:
|
||||
Default: # This default format is required! Do not delete or rename it!
|
||||
priority: 2147483647 # Integer.MAX_VALUE
|
||||
hover_name:
|
||||
- '&6I have no rank!'
|
||||
click_name: 'suggest_command'
|
||||
click_name_text: '/msg {player_name}'
|
||||
hover_prefix:
|
||||
- '&dI am default!'
|
||||
click_prefix: 'run_command'
|
||||
click_prefix_text: '/help'
|
||||
hover_suffix:
|
||||
- '&dI am default suffix!'
|
||||
click_suffix: 'suggest_command'
|
||||
click_suffix_text: '/msg {player_name}'
|
||||
Owner:
|
||||
priority: 1 # Lowest Priority
|
||||
hover_name:
|
||||
- '&cOwner of the server!'
|
||||
- '&bMessage me for help!'
|
||||
click_name: 'suggest_command'
|
||||
click_name_text: '/msg {player_name}'
|
||||
hover_prefix:
|
||||
- '&dServer Owner'
|
||||
click_prefix: 'run_command'
|
||||
click_prefix_text: '/help'
|
||||
hover_suffix:
|
||||
- '&dI am Owner suffix!'
|
||||
click_suffix: 'suggest_command'
|
||||
click_suffix_text: '/msg {player_name}'
|
||||
|
||||
# The icon is the block shown in the GUI
|
||||
# The text is the display name of the block icon
|
||||
# Include a slash (/) before the command
|
||||
# Permissions are the name of the button and automatically include "venturechat."
|
||||
# Example: mute equals venturechat.mute
|
||||
venturegui:
|
||||
mute:
|
||||
icon: 'REDSTONE_BLOCK'
|
||||
durability: 0
|
||||
text: '&cMute {player_name} &410m'
|
||||
permission: 'mute'
|
||||
command: '/mute {channel} {player_name} 10m'
|
||||
slot: 1
|
||||
unmute:
|
||||
icon: 'DIAMOND_BLOCK'
|
||||
durability: 0
|
||||
text: '&bUnmute {player_name}'
|
||||
permission: 'mute'
|
||||
command: '/unmute {channel} {player_name} '
|
||||
slot: 2
|
||||
removemessage:
|
||||
icon: 'DIAMOND_AXE'
|
||||
durability: 0
|
||||
text: '&cRemove Message'
|
||||
permission: 'removemessage'
|
||||
command: '/removemessage {hash} {channel}'
|
||||
slot: 7
|
||||
|
||||
guiicon: '&c [✓]'
|
||||
guitext: '&cOpen Moderation GUI'
|
||||
guirows: 1
|
||||
|
||||
# All clickable URL's will be underlined if set to true
|
||||
underlineurls: true
|
||||
|
||||
# broadcast information
|
||||
broadcast:
|
||||
color: red
|
||||
permissions: venturechat.adminchannel
|
||||
displaytag: '[Broadcast]'
|
||||
|
||||
# Use $ to include arguments into the message
|
||||
# Valid component types are:
|
||||
# Command: Sends a message or command in chat
|
||||
# Message: Sends a message to the player
|
||||
# Broadcast: Sends a broadcast to all players on the server
|
||||
# Permissions automatically include "venturechat."
|
||||
# Example: permissions: alert equals venturechat.alert
|
||||
# Use None for no permissions
|
||||
# The number of arguments is the minimum number of required arguments, use 0 for no required arguments
|
||||
alias:
|
||||
vote:
|
||||
arguments: 0
|
||||
permissions: None
|
||||
components:
|
||||
- 'Message: &6Vote here: www.votelinkhere.com'
|
||||
bane:
|
||||
arguments: 2
|
||||
permissions: bane
|
||||
components:
|
||||
- 'Command: /ban $ appeal at www.site.com'
|
||||
- 'Command: /st banned $'
|
||||
alert:
|
||||
arguments: 1
|
||||
permissions: alert
|
||||
components:
|
||||
- 'Broadcast: &c<Alert> $'
|
||||
donate:
|
||||
arguments: 0
|
||||
permissions: None
|
||||
components:
|
||||
- 'Message: &bDonate here: www.mywebsite.com'
|
||||
website:
|
||||
arguments: 0
|
||||
permissions: None
|
||||
components:
|
||||
- 'Message: &aThis is our website: www.site.net'
|
||||
|
||||
# Enables the creation of special Towny channels: Town and Nation
|
||||
# To create these channels, simply name two channels below "Town" and "Nation"
|
||||
# Bungeecord must be set to false for these channels!
|
||||
enable_towny_channel: false
|
||||
|
||||
# Enables the creation of a special faction only channel using the Factions plugin
|
||||
# To create this channel, simply name a channel below "Faction"
|
||||
# Bungeecord must be set to false for this channel!
|
||||
# WARNING: May not work for all versions of Factions!
|
||||
enable_factions_channel: false
|
||||
|
||||
# color = [channel] color
|
||||
# chatcolor = text color
|
||||
# cooldown is in seconds
|
||||
# bungeecord overrides distance
|
||||
# channel permissions are configurable
|
||||
# channels can be changed, and new channels can be created
|
||||
# Permissions automatically include "venturechat."
|
||||
# Example: permissions: staff equals venturechat.staff
|
||||
# Use None for no permissions
|
||||
|
||||
# Use PlaceholderAPI placeholders are required!!!
|
||||
# Use PlaceholderAPI placeholders are required!!!
|
||||
# Use PlaceholderAPI placeholders are required!!!
|
||||
# /papi ecloud download [plugin]
|
||||
# /papi reload
|
||||
# Use '' or "" around format, example: '[&2global&f] {vault_prefix} {player_displayname}&2:'
|
||||
# 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!
|
||||
|
||||
# Important!!!
|
||||
# Important!!!
|
||||
# If you delete a channel, restart the server! Do not use /chatreload!!!
|
||||
channels:
|
||||
GroupChatColorExample:
|
||||
color: '#706C1E'
|
||||
chatcolor: 'None'
|
||||
mutable: true
|
||||
filter: true
|
||||
autojoin: true
|
||||
default: false
|
||||
distance: 0
|
||||
cooldown: 0
|
||||
bungeecord: false
|
||||
alias: ge
|
||||
permissions: None
|
||||
speak_permissions: None
|
||||
format: '&f[#706C1EGroupColorChat&f] {vault_prefix} {player_displayname}#706C1E:{vault_suffix}'
|
||||
HexExample:
|
||||
color: '#ff0000'
|
||||
chatcolor: '#ff0000'
|
||||
mutable: true
|
||||
filter: true
|
||||
autojoin: true
|
||||
default: false
|
||||
distance: 0
|
||||
cooldown: 0
|
||||
bungeecord: false
|
||||
alias: he
|
||||
permissions: None
|
||||
speak_permissions: None
|
||||
format: '&f[#ff0000Hex&f] {vault_prefix} {player_displayname}#ff0000:'
|
||||
BungeeExample:
|
||||
color: gold
|
||||
chatcolor: gold
|
||||
mutable: true
|
||||
filter: true
|
||||
autojoin: true
|
||||
default: false
|
||||
distance: 0
|
||||
cooldown: 3
|
||||
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
|
||||
mutable: true
|
||||
filter: true
|
||||
autojoin: true
|
||||
default: true
|
||||
distance: 0
|
||||
cooldown: 0
|
||||
bungeecord: false
|
||||
alias: g
|
||||
permissions: None
|
||||
speak_permissions: None
|
||||
format: '&f[&2Global&f] {vault_prefix} {player_displayname}&2:'
|
||||
Staff:
|
||||
color: green
|
||||
chatcolor: green
|
||||
mutable: false
|
||||
filter: false
|
||||
autojoin: true
|
||||
default: false
|
||||
distance: 0
|
||||
cooldown: 0
|
||||
bungeecord: false
|
||||
alias: st
|
||||
permissions: staffchannel
|
||||
speak_permissions: None
|
||||
format: '&f[&aStaff&f] {vault_prefix} {player_displayname}&a:'
|
||||
Donator:
|
||||
color: light_purple
|
||||
chatcolor: light_purple
|
||||
mutable: true
|
||||
filter: true
|
||||
autojoin: true
|
||||
default: false
|
||||
distance: 0
|
||||
cooldown: 0
|
||||
bungeecord: false
|
||||
alias: d
|
||||
permissions: donatorchannel
|
||||
speak_permissions: None
|
||||
format: '&f[&dDonator&f] {vault_prefix} {player_displayname}&d:'
|
||||
Help:
|
||||
color: aqua
|
||||
chatcolor: aqua
|
||||
mutable: true
|
||||
filter: true
|
||||
autojoin: true
|
||||
default: false
|
||||
distance: 0
|
||||
cooldown: 0
|
||||
bungeecord: false
|
||||
alias: h
|
||||
permissions: None
|
||||
speak_permissions: None
|
||||
format: '&f[&bHelp&f] {vault_prefix} {player_displayname}&b:'
|
||||
Trade:
|
||||
color: dark_aqua
|
||||
chatcolor: dark_aqua
|
||||
mutable: true
|
||||
filter: true
|
||||
autojoin: true
|
||||
default: false
|
||||
distance: 0
|
||||
cooldown: 0
|
||||
bungeecord: false
|
||||
alias: t
|
||||
permissions: None
|
||||
speak_permissions: None
|
||||
format: '&f[&3Trade&f] {vault_prefix} {player_displayname}&3:'
|
||||
Local:
|
||||
color: yellow
|
||||
chatcolor: yellow
|
||||
mutable: true
|
||||
filter: true
|
||||
autojoin: true
|
||||
default: false
|
||||
distance: 230
|
||||
cooldown: 0
|
||||
bungeecord: false
|
||||
alias: l
|
||||
permissions: None
|
||||
speak_permissions: None
|
||||
format: '&f[&eLocal&f] {vault_prefix} {player_displayname}&e:'
|
@ -1,187 +1,187 @@
|
||||
package mineverse.Aust1n46.chat.utilities;
|
||||
|
||||
import static mineverse.Aust1n46.chat.utilities.Format.BUKKIT_COLOR_CODE_PREFIX;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.Mockito;
|
||||
import org.powermock.api.mockito.PowerMockito;
|
||||
import org.powermock.core.classloader.annotations.PrepareForTest;
|
||||
import org.powermock.modules.junit4.PowerMockRunner;
|
||||
|
||||
import mineverse.Aust1n46.chat.MineverseChat;
|
||||
|
||||
/**
|
||||
* Tests {@link Format}.
|
||||
*/
|
||||
@RunWith(PowerMockRunner.class)
|
||||
@PrepareForTest({ MineverseChat.class })
|
||||
public class FormatTest {
|
||||
|
||||
private MineverseChat mockPlugin;
|
||||
private FileConfiguration mockConfig;
|
||||
|
||||
private List<String> filters;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
filters = new ArrayList<String>();
|
||||
filters.add("ass,donut");
|
||||
|
||||
mockPlugin = Mockito.mock(MineverseChat.class);
|
||||
mockConfig = Mockito.mock(FileConfiguration.class);
|
||||
|
||||
PowerMockito.mockStatic(MineverseChat.class);
|
||||
PowerMockito.when(MineverseChat.getInstance()).thenReturn(mockPlugin);
|
||||
Mockito.when(mockPlugin.getConfig()).thenReturn(mockConfig);
|
||||
Mockito.when(mockConfig.getStringList("filters")).thenReturn(filters);
|
||||
}
|
||||
|
||||
@After
|
||||
public void tearDown() {
|
||||
mockPlugin = null;
|
||||
mockConfig = null;
|
||||
filters = new ArrayList<String>();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetLastCodeSingleColor() {
|
||||
String input = BUKKIT_COLOR_CODE_PREFIX + "cHello";
|
||||
String expectedResult = BUKKIT_COLOR_CODE_PREFIX + "c";
|
||||
|
||||
String result = Format.getLastCode(input);
|
||||
|
||||
assertEquals(expectedResult, result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetLastCodeColorAfterFormat() {
|
||||
String input = BUKKIT_COLOR_CODE_PREFIX + "o" + BUKKIT_COLOR_CODE_PREFIX + "cHello";
|
||||
String expectedResult = BUKKIT_COLOR_CODE_PREFIX + "c";
|
||||
|
||||
String result = Format.getLastCode(input);
|
||||
|
||||
assertEquals(expectedResult, result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetLastCodeColorBeforeFormat() {
|
||||
String input = BUKKIT_COLOR_CODE_PREFIX + "c" + BUKKIT_COLOR_CODE_PREFIX + "oHello";
|
||||
String expectedResult = BUKKIT_COLOR_CODE_PREFIX + "c" + BUKKIT_COLOR_CODE_PREFIX + "o";
|
||||
|
||||
String result = Format.getLastCode(input);
|
||||
|
||||
assertEquals(expectedResult, result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFilterChat() {
|
||||
String test = "I am an ass";
|
||||
String expectedResult = "I am an donut";
|
||||
|
||||
String result = Format.FilterChat(test);
|
||||
assertEquals(expectedResult, result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testIsValidColor() {
|
||||
String color = "red";
|
||||
|
||||
boolean result = Format.isValidColor(color);
|
||||
assertTrue(result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testIsInvalidColor() {
|
||||
String color = "randomString";
|
||||
|
||||
boolean result = Format.isValidColor(color);
|
||||
assertFalse(result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testIsValidHexColor() {
|
||||
String hexColor = "#ff00ff";
|
||||
|
||||
boolean result = Format.isValidHexColor(hexColor);
|
||||
assertTrue(result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testIsInvalidHexColor() {
|
||||
String hexColor = "#random";
|
||||
|
||||
boolean result = Format.isValidHexColor(hexColor);
|
||||
assertFalse(result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testConvertHexColorCodeToBukkitColorCode() {
|
||||
String hexColor = "#ff00ff";
|
||||
String expectedResult = BUKKIT_COLOR_CODE_PREFIX + "x" + BUKKIT_COLOR_CODE_PREFIX + "f"
|
||||
+ BUKKIT_COLOR_CODE_PREFIX + "f" + BUKKIT_COLOR_CODE_PREFIX + "0" + BUKKIT_COLOR_CODE_PREFIX + "0"
|
||||
+ BUKKIT_COLOR_CODE_PREFIX + "f" + BUKKIT_COLOR_CODE_PREFIX + "f";
|
||||
|
||||
String result = Format.convertHexColorCodeToBukkitColorCode(hexColor);
|
||||
assertEquals(expectedResult, result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testConvertHexColorCodeStringToBukkitColorCodeString() {
|
||||
String input = "#ff00ffHello" + BUKKIT_COLOR_CODE_PREFIX + "cThere#00ff00Austin";
|
||||
String expectedResult = BUKKIT_COLOR_CODE_PREFIX + "x" + BUKKIT_COLOR_CODE_PREFIX + "f"
|
||||
+ BUKKIT_COLOR_CODE_PREFIX + "f" + BUKKIT_COLOR_CODE_PREFIX + "0" + BUKKIT_COLOR_CODE_PREFIX + "0"
|
||||
+ BUKKIT_COLOR_CODE_PREFIX + "f" + BUKKIT_COLOR_CODE_PREFIX + "fHello" + BUKKIT_COLOR_CODE_PREFIX
|
||||
+ "cThere" + BUKKIT_COLOR_CODE_PREFIX + "x" + BUKKIT_COLOR_CODE_PREFIX + "0" + BUKKIT_COLOR_CODE_PREFIX
|
||||
+ "0" + BUKKIT_COLOR_CODE_PREFIX + "f" + BUKKIT_COLOR_CODE_PREFIX + "f" + BUKKIT_COLOR_CODE_PREFIX + "0"
|
||||
+ BUKKIT_COLOR_CODE_PREFIX + "0Austin";
|
||||
|
||||
String result = Format.convertHexColorCodeStringToBukkitColorCodeString(input);
|
||||
assertEquals(expectedResult, result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFormatStringLegacyColor_NoColorCode() {
|
||||
String input = "Hello There Austin";
|
||||
String expectedResult = "Hello There Austin";
|
||||
|
||||
String result = Format.FormatStringLegacyColor(input);
|
||||
assertEquals(expectedResult, result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFormatStringLegacyColor_LegacyCodeOnly() {
|
||||
String input = "Hello &cThere Austin";
|
||||
String expectedResult = "Hello " + BUKKIT_COLOR_CODE_PREFIX + "cThere Austin";
|
||||
|
||||
String result = Format.FormatStringLegacyColor(input);
|
||||
assertEquals(expectedResult, result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFormatStringLegacyColor_SpigotHexCodeOnly() {
|
||||
String input = "&x&f&f&f&f&f&fHello There Austin";
|
||||
String expectedResult = "&x&f&f&f&f&f&fHello There Austin";
|
||||
|
||||
String result = Format.FormatStringLegacyColor(input);
|
||||
assertEquals(expectedResult, result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFormatStringLegacyColor_BothColorCodes() {
|
||||
String input = "&x&f&f&f&f&f&f&cHello There Austin";
|
||||
String expectedResult = "&x&f&f&f&f&f&f" + BUKKIT_COLOR_CODE_PREFIX + "cHello There Austin";
|
||||
|
||||
String result = Format.FormatStringLegacyColor(input);
|
||||
assertEquals(expectedResult, result);
|
||||
}
|
||||
}
|
||||
package mineverse.Aust1n46.chat.utilities;
|
||||
|
||||
import static mineverse.Aust1n46.chat.utilities.Format.BUKKIT_COLOR_CODE_PREFIX;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.Mockito;
|
||||
import org.powermock.api.mockito.PowerMockito;
|
||||
import org.powermock.core.classloader.annotations.PrepareForTest;
|
||||
import org.powermock.modules.junit4.PowerMockRunner;
|
||||
|
||||
import mineverse.Aust1n46.chat.MineverseChat;
|
||||
|
||||
/**
|
||||
* Tests {@link Format}.
|
||||
*/
|
||||
@RunWith(PowerMockRunner.class)
|
||||
@PrepareForTest({ MineverseChat.class })
|
||||
public class FormatTest {
|
||||
|
||||
private MineverseChat mockPlugin;
|
||||
private FileConfiguration mockConfig;
|
||||
|
||||
private List<String> filters;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
filters = new ArrayList<String>();
|
||||
filters.add("ass,donut");
|
||||
|
||||
mockPlugin = Mockito.mock(MineverseChat.class);
|
||||
mockConfig = Mockito.mock(FileConfiguration.class);
|
||||
|
||||
PowerMockito.mockStatic(MineverseChat.class);
|
||||
PowerMockito.when(MineverseChat.getInstance()).thenReturn(mockPlugin);
|
||||
Mockito.when(mockPlugin.getConfig()).thenReturn(mockConfig);
|
||||
Mockito.when(mockConfig.getStringList("filters")).thenReturn(filters);
|
||||
}
|
||||
|
||||
@After
|
||||
public void tearDown() {
|
||||
mockPlugin = null;
|
||||
mockConfig = null;
|
||||
filters = new ArrayList<String>();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetLastCodeSingleColor() {
|
||||
String input = BUKKIT_COLOR_CODE_PREFIX + "cHello";
|
||||
String expectedResult = BUKKIT_COLOR_CODE_PREFIX + "c";
|
||||
|
||||
String result = Format.getLastCode(input);
|
||||
|
||||
assertEquals(expectedResult, result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetLastCodeColorAfterFormat() {
|
||||
String input = BUKKIT_COLOR_CODE_PREFIX + "o" + BUKKIT_COLOR_CODE_PREFIX + "cHello";
|
||||
String expectedResult = BUKKIT_COLOR_CODE_PREFIX + "c";
|
||||
|
||||
String result = Format.getLastCode(input);
|
||||
|
||||
assertEquals(expectedResult, result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetLastCodeColorBeforeFormat() {
|
||||
String input = BUKKIT_COLOR_CODE_PREFIX + "c" + BUKKIT_COLOR_CODE_PREFIX + "oHello";
|
||||
String expectedResult = BUKKIT_COLOR_CODE_PREFIX + "c" + BUKKIT_COLOR_CODE_PREFIX + "o";
|
||||
|
||||
String result = Format.getLastCode(input);
|
||||
|
||||
assertEquals(expectedResult, result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFilterChat() {
|
||||
String test = "I am an ass";
|
||||
String expectedResult = "I am an donut";
|
||||
|
||||
String result = Format.FilterChat(test);
|
||||
assertEquals(expectedResult, result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testIsValidColor() {
|
||||
String color = "red";
|
||||
|
||||
boolean result = Format.isValidColor(color);
|
||||
assertTrue(result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testIsInvalidColor() {
|
||||
String color = "randomString";
|
||||
|
||||
boolean result = Format.isValidColor(color);
|
||||
assertFalse(result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testIsValidHexColor() {
|
||||
String hexColor = "#ff00ff";
|
||||
|
||||
boolean result = Format.isValidHexColor(hexColor);
|
||||
assertTrue(result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testIsInvalidHexColor() {
|
||||
String hexColor = "#random";
|
||||
|
||||
boolean result = Format.isValidHexColor(hexColor);
|
||||
assertFalse(result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testConvertHexColorCodeToBukkitColorCode() {
|
||||
String hexColor = "#ff00ff";
|
||||
String expectedResult = BUKKIT_COLOR_CODE_PREFIX + "x" + BUKKIT_COLOR_CODE_PREFIX + "f"
|
||||
+ BUKKIT_COLOR_CODE_PREFIX + "f" + BUKKIT_COLOR_CODE_PREFIX + "0" + BUKKIT_COLOR_CODE_PREFIX + "0"
|
||||
+ BUKKIT_COLOR_CODE_PREFIX + "f" + BUKKIT_COLOR_CODE_PREFIX + "f";
|
||||
|
||||
String result = Format.convertHexColorCodeToBukkitColorCode(hexColor);
|
||||
assertEquals(expectedResult, result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testConvertHexColorCodeStringToBukkitColorCodeString() {
|
||||
String input = "#ff00ffHello" + BUKKIT_COLOR_CODE_PREFIX + "cThere#00ff00Austin";
|
||||
String expectedResult = BUKKIT_COLOR_CODE_PREFIX + "x" + BUKKIT_COLOR_CODE_PREFIX + "f"
|
||||
+ BUKKIT_COLOR_CODE_PREFIX + "f" + BUKKIT_COLOR_CODE_PREFIX + "0" + BUKKIT_COLOR_CODE_PREFIX + "0"
|
||||
+ BUKKIT_COLOR_CODE_PREFIX + "f" + BUKKIT_COLOR_CODE_PREFIX + "fHello" + BUKKIT_COLOR_CODE_PREFIX
|
||||
+ "cThere" + BUKKIT_COLOR_CODE_PREFIX + "x" + BUKKIT_COLOR_CODE_PREFIX + "0" + BUKKIT_COLOR_CODE_PREFIX
|
||||
+ "0" + BUKKIT_COLOR_CODE_PREFIX + "f" + BUKKIT_COLOR_CODE_PREFIX + "f" + BUKKIT_COLOR_CODE_PREFIX + "0"
|
||||
+ BUKKIT_COLOR_CODE_PREFIX + "0Austin";
|
||||
|
||||
String result = Format.convertHexColorCodeStringToBukkitColorCodeString(input);
|
||||
assertEquals(expectedResult, result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFormatStringLegacyColor_NoColorCode() {
|
||||
String input = "Hello There Austin";
|
||||
String expectedResult = "Hello There Austin";
|
||||
|
||||
String result = Format.FormatStringLegacyColor(input);
|
||||
assertEquals(expectedResult, result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFormatStringLegacyColor_LegacyCodeOnly() {
|
||||
String input = "Hello &cThere Austin";
|
||||
String expectedResult = "Hello " + BUKKIT_COLOR_CODE_PREFIX + "cThere Austin";
|
||||
|
||||
String result = Format.FormatStringLegacyColor(input);
|
||||
assertEquals(expectedResult, result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFormatStringLegacyColor_SpigotHexCodeOnly() {
|
||||
String input = "&x&f&f&f&f&f&fHello There Austin";
|
||||
String expectedResult = "&x&f&f&f&f&f&fHello There Austin";
|
||||
|
||||
String result = Format.FormatStringLegacyColor(input);
|
||||
assertEquals(expectedResult, result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFormatStringLegacyColor_BothColorCodes() {
|
||||
String input = "&x&f&f&f&f&f&f&cHello There Austin";
|
||||
String expectedResult = "&x&f&f&f&f&f&f" + BUKKIT_COLOR_CODE_PREFIX + "cHello There Austin";
|
||||
|
||||
String result = Format.FormatStringLegacyColor(input);
|
||||
assertEquals(expectedResult, result);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user