Updated a lot
This commit is contained in:
@@ -54,6 +54,10 @@ public final class Sentinel extends JavaPlugin {
|
|||||||
log.info("]======----- Auth Success! -----======[");
|
log.info("]======----- Auth Success! -----======[");
|
||||||
// Init
|
// Init
|
||||||
getConfig().options().copyDefaults();
|
getConfig().options().copyDefaults();
|
||||||
|
saveResource("nbt-config.yml", false);
|
||||||
|
saveResource("false-positives.yml", false);
|
||||||
|
saveResource("strict.yml", false);
|
||||||
|
saveResource("swears.yml", false);
|
||||||
saveDefaultConfig();
|
saveDefaultConfig();
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,9 @@ package io.github.thetrouper.sentinel.data;
|
|||||||
import io.github.thetrouper.sentinel.Sentinel;
|
import io.github.thetrouper.sentinel.Sentinel;
|
||||||
import org.bukkit.configuration.ConfigurationSection;
|
import org.bukkit.configuration.ConfigurationSection;
|
||||||
import org.bukkit.configuration.file.FileConfiguration;
|
import org.bukkit.configuration.file.FileConfiguration;
|
||||||
|
import org.bukkit.configuration.file.YamlConfiguration;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@@ -16,7 +18,12 @@ import java.util.Map;
|
|||||||
* Config loader
|
* Config loader
|
||||||
*/
|
*/
|
||||||
public abstract class Config {
|
public abstract class Config {
|
||||||
private static final FileConfiguration config = Sentinel.getInstance().getConfig();
|
private static final FileConfiguration mainConfig = Sentinel.getInstance().getConfig();
|
||||||
|
private static final FileConfiguration nbtConfig = YamlConfiguration.loadConfiguration(new File(Sentinel.getDF() + "nbt-config.yml"));
|
||||||
|
private static final FileConfiguration falsePositives = YamlConfiguration.loadConfiguration(new File(Sentinel.getDF() + "false-positives.yml"));
|
||||||
|
private static final FileConfiguration strictWords = YamlConfiguration.loadConfiguration(new File(Sentinel.getDF() + "strict.yml"));
|
||||||
|
private static final FileConfiguration swearWords = YamlConfiguration.loadConfiguration(new File(Sentinel.getDF() + "swears"));
|
||||||
|
|
||||||
|
|
||||||
public static List<String> getPunishCommands() {
|
public static List<String> getPunishCommands() {
|
||||||
return punishCommands;
|
return punishCommands;
|
||||||
@@ -27,7 +34,7 @@ public abstract class Config {
|
|||||||
*/
|
*/
|
||||||
public class Plugin {
|
public class Plugin {
|
||||||
public static String getPrefix() {
|
public static String getPrefix() {
|
||||||
return config.getString("config.plugin.prefix");
|
return mainConfig.getString("config.plugin.prefix");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public static String webhook;
|
public static String webhook;
|
||||||
@@ -133,124 +140,124 @@ public abstract class Config {
|
|||||||
|
|
||||||
public static void loadConfiguration() {
|
public static void loadConfiguration() {
|
||||||
|
|
||||||
Sentinel.prefix = config.getString("config.plugin.prefix");
|
Sentinel.prefix = mainConfig.getString("config.plugin.prefix");
|
||||||
Sentinel.key = config.getString("config.plugin.key");
|
Sentinel.key = mainConfig.getString("config.plugin.key");
|
||||||
webhook = config.getString("config.plugin.webhook");
|
webhook = mainConfig.getString("config.plugin.webhook");
|
||||||
trustedPlayers = config.getStringList("config.plugin.trusted");
|
trustedPlayers = mainConfig.getStringList("config.plugin.trusted");
|
||||||
blockSpecific = config.getBoolean("config.plugin.block-specific");
|
blockSpecific = mainConfig.getBoolean("config.plugin.block-specific");
|
||||||
preventNBT = config.getBoolean("config.plugin.prevent-nbt");
|
preventNBT = mainConfig.getBoolean("config.plugin.prevent-nbt");
|
||||||
preventCmdBlockPlace = config.getBoolean("config.plugin.prevent-cmdblock-place");
|
preventCmdBlockPlace = mainConfig.getBoolean("config.plugin.prevent-cmdblock-place");
|
||||||
preventCmdBlockUse = config.getBoolean("config.plugin.prevent-cmdblock-use");
|
preventCmdBlockUse = mainConfig.getBoolean("config.plugin.prevent-cmdblock-use");
|
||||||
preventCmdBlockChange = config.getBoolean("config.plugin.prevent-cmdblock-change");
|
preventCmdBlockChange = mainConfig.getBoolean("config.plugin.prevent-cmdblock-change");
|
||||||
preventCmdCartPlace = config.getBoolean("config.plugin.prevent-cmdcart-place");
|
preventCmdCartPlace = mainConfig.getBoolean("config.plugin.prevent-cmdcart-place");
|
||||||
preventCmdCartUse = config.getBoolean("config.plugin.prevent-cmdcart-use");
|
preventCmdCartUse = mainConfig.getBoolean("config.plugin.prevent-cmdcart-use");
|
||||||
cmdBlockOpCheck = config.getBoolean("config.plugin.cmdblock-op-check");
|
cmdBlockOpCheck = mainConfig.getBoolean("config.plugin.cmdblock-op-check");
|
||||||
dangerous = config.getStringList("config.plugin.dangerous");
|
dangerous = mainConfig.getStringList("config.plugin.dangerous");
|
||||||
logDangerous = config.getBoolean("config.plugin.log-dangerous");
|
logDangerous = mainConfig.getBoolean("config.plugin.log-dangerous");
|
||||||
logCmdBlocks = config.getBoolean("config.plugin.log-cmdblocks");
|
logCmdBlocks = mainConfig.getBoolean("config.plugin.log-cmdblocks");
|
||||||
logNBT = config.getBoolean("config.plugin.log-nbt");
|
logNBT = mainConfig.getBoolean("config.plugin.log-nbt");
|
||||||
logSpecific = config.getBoolean("config.plugin.log-specific");
|
logSpecific = mainConfig.getBoolean("config.plugin.log-specific");
|
||||||
logged = config.getStringList("config.plugin.logged");
|
logged = mainConfig.getStringList("config.plugin.logged");
|
||||||
deop = config.getBoolean("config.plugin.deop");
|
deop = mainConfig.getBoolean("config.plugin.deop");
|
||||||
nbtPunish = config.getBoolean("config.plugin.nbt-punish");
|
nbtPunish = mainConfig.getBoolean("config.plugin.nbt-punish");
|
||||||
cmdBlockPunish = config.getBoolean("config.plugin.cmdblock-punish");
|
cmdBlockPunish = mainConfig.getBoolean("config.plugin.cmdblock-punish");
|
||||||
commandPunish = config.getBoolean("config.plugin.command-punish");
|
commandPunish = mainConfig.getBoolean("config.plugin.command-punish");
|
||||||
specificPunish = config.getBoolean("config.plugin.specific-punish");
|
specificPunish = mainConfig.getBoolean("config.plugin.specific-punish");
|
||||||
punishCommands = config.getStringList("config.plugin.punish-commands");
|
punishCommands = mainConfig.getStringList("config.plugin.punish-commands");
|
||||||
reopCommand = config.getBoolean("config.plugin.reop-command");
|
reopCommand = mainConfig.getBoolean("config.plugin.reop-command");
|
||||||
|
|
||||||
// NBT
|
// NBT
|
||||||
allowName = config.getBoolean("config.nbt.allow-name");
|
allowName = nbtConfig.getBoolean("nbt.allow-name");
|
||||||
allowLore = config.getBoolean("config.nbt.allow-lore");
|
allowLore = nbtConfig.getBoolean("nbt.allow-lore");
|
||||||
allowAttributes = config.getBoolean("config.nbt.allow-attributes");
|
allowAttributes = nbtConfig.getBoolean("nbt.allow-attributes");
|
||||||
globalMaxEnchant = config.getInt("config.nbt.global-max-enchant");
|
globalMaxEnchant = nbtConfig.getInt("nbt.global-max-enchant");
|
||||||
|
|
||||||
// ALL
|
// ALL
|
||||||
maxMending = config.getInt("config.nbt.max-mending");
|
maxMending = nbtConfig.getInt("nbt.max-mending");
|
||||||
maxUnbreaking = config.getInt("config.nbt.max-unbreaking");
|
maxUnbreaking = nbtConfig.getInt("nbt.max-unbreaking");
|
||||||
maxVanishing = config.getInt("config.nbt.max-vanishing");
|
maxVanishing = nbtConfig.getInt("nbt.max-vanishing");
|
||||||
|
|
||||||
// ARMOR
|
// ARMOR
|
||||||
maxAquaAffinity = config.getInt("config.nbt.max-aqua-affinity");
|
maxAquaAffinity = nbtConfig.getInt("nbt.max-aqua-affinity");
|
||||||
maxBlastProtection = config.getInt("config.nbt.max-blast-protection");
|
maxBlastProtection = nbtConfig.getInt("nbt.max-blast-protection");
|
||||||
maxCurseOfBinding = config.getInt("config.nbt.max-curse-of-binding");
|
maxCurseOfBinding = nbtConfig.getInt("nbt.max-curse-of-binding");
|
||||||
maxDepthStrider = config.getInt("config.nbt.max-depth-strider");
|
maxDepthStrider = nbtConfig.getInt("nbt.max-depth-strider");
|
||||||
maxFeatherFalling = config.getInt("config.nbt.max-feather-falling");
|
maxFeatherFalling = nbtConfig.getInt("nbt.max-feather-falling");
|
||||||
maxFireProtection = config.getInt("config.nbt.max-fire-protection");
|
maxFireProtection = nbtConfig.getInt("nbt.max-fire-protection");
|
||||||
maxFrostWalker = config.getInt("config.nbt.max-frost-walker");
|
maxFrostWalker = nbtConfig.getInt("nbt.max-frost-walker");
|
||||||
maxProjectileProtection = config.getInt("config.nbt.max-projectile-protection");
|
maxProjectileProtection = nbtConfig.getInt("nbt.max-projectile-protection");
|
||||||
maxProtection = config.getInt("config.nbt.max-protection");
|
maxProtection = nbtConfig.getInt("nbt.max-protection");
|
||||||
maxRespiration = config.getInt("config.nbt.max-respiration");
|
maxRespiration = nbtConfig.getInt("nbt.max-respiration");
|
||||||
maxSoulSpeed = config.getInt("config.nbt.max-soul-speed");
|
maxSoulSpeed = nbtConfig.getInt("nbt.max-soul-speed");
|
||||||
maxThorns = config.getInt("config.nbt.max-thorns");
|
maxThorns = nbtConfig.getInt("nbt.max-thorns");
|
||||||
maxSwiftSneak = config.getInt("config.nbt.max-swift-sneak");
|
maxSwiftSneak = nbtConfig.getInt("nbt.max-swift-sneak");
|
||||||
|
|
||||||
// MELEE WEAPONS
|
// MELEE WEAPONS
|
||||||
maxBaneOfArthropods = config.getInt("config.nbt.max-bane-of-arthropods");
|
maxBaneOfArthropods = nbtConfig.getInt("nbt.max-bane-of-arthropods");
|
||||||
maxEfficiency = config.getInt("config.nbt.max-efficiency");
|
maxEfficiency = nbtConfig.getInt("nbt.max-efficiency");
|
||||||
maxFireAspect = config.getInt("config.nbt.max-fire-aspect");
|
maxFireAspect = nbtConfig.getInt("nbt.max-fire-aspect");
|
||||||
maxLooting = config.getInt("config.nbt.max-looting");
|
maxLooting = nbtConfig.getInt("nbt.max-looting");
|
||||||
maxImpaling = config.getInt("config.nbt.max-impaling");
|
maxImpaling = nbtConfig.getInt("nbt.max-impaling");
|
||||||
maxKnockback = config.getInt("config.nbt.max-knockback");
|
maxKnockback = nbtConfig.getInt("nbt.max-knockback");
|
||||||
maxSharpness = config.getInt("config.nbt.max-sharpness");
|
maxSharpness = nbtConfig.getInt("nbt.max-sharpness");
|
||||||
maxSmite = config.getInt("config.nbt.max-smite");
|
maxSmite = nbtConfig.getInt("nbt.max-smite");
|
||||||
maxSweepingEdge = config.getInt("config.nbt.max-sweeping-edge");
|
maxSweepingEdge = nbtConfig.getInt("nbt.max-sweeping-edge");
|
||||||
|
|
||||||
// RANGED WEAPONS
|
// RANGED WEAPONS
|
||||||
maxChanneling = config.getInt("config.nbt.max-channeling");
|
maxChanneling = nbtConfig.getInt("nbt.max-channeling");
|
||||||
maxFlame = config.getInt("config.nbt.max-flame");
|
maxFlame = nbtConfig.getInt("nbt.max-flame");
|
||||||
maxInfinity = config.getInt("config.nbt.max-infinity");
|
maxInfinity = nbtConfig.getInt("nbt.max-infinity");
|
||||||
maxLoyalty = config.getInt("config.nbt.max-loyalty");
|
maxLoyalty = nbtConfig.getInt("nbt.max-loyalty");
|
||||||
maxRiptide = config.getInt("config.nbt.max-riptide");
|
maxRiptide = nbtConfig.getInt("nbt.max-riptide");
|
||||||
maxMultishot = config.getInt("config.nbt.max-multishot");
|
maxMultishot = nbtConfig.getInt("nbt.max-multishot");
|
||||||
maxPiercing = config.getInt("config.nbt.max-piercing");
|
maxPiercing = nbtConfig.getInt("nbt.max-piercing");
|
||||||
maxPower = config.getInt("config.nbt.max-power");
|
maxPower = nbtConfig.getInt("nbt.max-power");
|
||||||
maxPunch = config.getInt("config.nbt.max-punch");
|
maxPunch = nbtConfig.getInt("nbt.max-punch");
|
||||||
maxQuickCharge = config.getInt("config.nbt.max-quick-charge");
|
maxQuickCharge = nbtConfig.getInt("nbt.max-quick-charge");
|
||||||
|
|
||||||
// TOOLS
|
// TOOLS
|
||||||
maxEfficiency = config.getInt("config.nbt.max-efficiency");
|
maxEfficiency = nbtConfig.getInt("nbt.max-efficiency");
|
||||||
maxFortune = config.getInt("config.nbt.max-fortune");
|
maxFortune = nbtConfig.getInt("nbt.max-fortune");
|
||||||
maxLuckOfTheSea = config.getInt("config.nbt.max-luck-of-the-sea");
|
maxLuckOfTheSea = nbtConfig.getInt("nbt.max-luck-of-the-sea");
|
||||||
maxLure = config.getInt("config.nbt.max-lure");
|
maxLure = nbtConfig.getInt("nbt.max-lure");
|
||||||
maxSilkTouch = config.getInt("config.nbt.max-silk-touch");
|
maxSilkTouch = nbtConfig.getInt("nbt.max-silk-touch");
|
||||||
|
|
||||||
// Chat Filter Setup & AntiSpam
|
// Chat Filter Setup & AntiSpam
|
||||||
antiUnicode = config.getBoolean("config.chat.anti-unicode");
|
antiUnicode = mainConfig.getBoolean("config.chat.anti-unicode");
|
||||||
antiSpamEnabled = config.getBoolean("config.chat.anti-spam.enabled");
|
antiSpamEnabled = mainConfig.getBoolean("config.chat.anti-spam.enabled");
|
||||||
defaultGain = config.getInt("config.chat.anti-spam.default-gain");
|
defaultGain = mainConfig.getInt("config.chat.anti-spam.default-gain");
|
||||||
lowGain = config.getInt("config.chat.anti-spam.low-gain");
|
lowGain = mainConfig.getInt("config.chat.anti-spam.low-gain");
|
||||||
mediumGain = config.getInt("config.chat.anti-spam.medium-gain");
|
mediumGain = mainConfig.getInt("config.chat.anti-spam.medium-gain");
|
||||||
highGain = config.getInt("config.chat.anti-spam.high-gain");
|
highGain = mainConfig.getInt("config.chat.anti-spam.high-gain");
|
||||||
heatDecay = config.getInt("config.chat.anti-spam.heat-decay");
|
heatDecay = mainConfig.getInt("config.chat.anti-spam.heat-decay");
|
||||||
blockHeat = config.getInt("config.chat.anti-spam.block-heat");
|
blockHeat = mainConfig.getInt("config.chat.anti-spam.block-heat");
|
||||||
punishHeat = config.getInt("config.chat.anti-spam.punish-heat");
|
punishHeat = mainConfig.getInt("config.chat.anti-spam.punish-heat");
|
||||||
clearChat = config.getBoolean("config.chat.anti-spam.clear-chat");
|
clearChat = mainConfig.getBoolean("config.chat.anti-spam.clear-chat");
|
||||||
chatClearCommand = config.getString("config.chat.anti-spam.chat-clear-command");
|
chatClearCommand = mainConfig.getString("config.chat.anti-spam.chat-clear-command");
|
||||||
spamPunishCommand = config.getString("config.chat.anti-spam.punish-command");
|
spamPunishCommand = mainConfig.getString("config.chat.anti-spam.punish-command");
|
||||||
logSpam = config.getBoolean("config.chat.anti-spam.log-spam");
|
logSpam = mainConfig.getBoolean("config.chat.anti-spam.log-spam");
|
||||||
antiSwearEnabled = config.getBoolean("config.chat.anti-swear.enabled");
|
antiSwearEnabled = mainConfig.getBoolean("config.chat.anti-swear.enabled");
|
||||||
lowScore = config.getInt("config.chat.anti-swear.low-score");
|
lowScore = mainConfig.getInt("config.chat.anti-swear.low-score");
|
||||||
mediumLowScore = config.getInt("config.chat.anti-swear.medium-low-score");
|
mediumLowScore = mainConfig.getInt("config.chat.anti-swear.medium-low-score");
|
||||||
mediumScore = config.getInt("config.chat.anti-swear.medium-score");
|
mediumScore = mainConfig.getInt("config.chat.anti-swear.medium-score");
|
||||||
mediumHighScore = config.getInt("config.chat.anti-swear.medium-high-score");
|
mediumHighScore = mainConfig.getInt("config.chat.anti-swear.medium-high-score");
|
||||||
highScore = config.getInt("config.chat.anti-swear.high-score");
|
highScore = mainConfig.getInt("config.chat.anti-swear.high-score");
|
||||||
scoreDecay = config.getInt("config.chat.anti-swear.score-decay");
|
scoreDecay = mainConfig.getInt("config.chat.anti-swear.score-decay");
|
||||||
punishScore = config.getInt("config.chat.anti-swear.punish-score");
|
punishScore = mainConfig.getInt("config.chat.anti-swear.punish-score");
|
||||||
strictInstaPunish = config.getBoolean("config.chat.anti-swear.strict-insta-punish");
|
strictInstaPunish = mainConfig.getBoolean("config.chat.anti-swear.strict-insta-punish");
|
||||||
swearPunishCommand = config.getString("config.chat.anti-swear.punish-command");
|
swearPunishCommand = mainConfig.getString("config.chat.anti-swear.punish-command");
|
||||||
strictPunishCommand = config.getString("config.chat.anti-swear.strict-command");
|
strictPunishCommand = mainConfig.getString("config.chat.anti-swear.strict-command");
|
||||||
logSwear = config.getBoolean("config.chat.anti-swear.log-swear");
|
logSwear = mainConfig.getBoolean("config.chat.anti-swear.log-swear");
|
||||||
swearWhitelist = config.getStringList("config.chat.anti-swear.false-positives");
|
swearWhitelist = falsePositives.getStringList("false-positives");
|
||||||
swearBlacklist = config.getStringList("config.chat.anti-swear.blacklisted");
|
swearBlacklist = swearWords.getStringList("blacklisted");
|
||||||
slurs = config.getStringList("config.chat.anti-swear.strict");
|
slurs = strictWords.getStringList("strict");
|
||||||
leetPatterns = loadLeetPatterns();
|
leetPatterns = loadLeetPatterns();
|
||||||
logSwear = config.getBoolean("config.chat.anti-swear.log-swear");
|
logSwear = mainConfig.getBoolean("config.chat.anti-swear.log-swear");
|
||||||
|
|
||||||
}
|
}
|
||||||
private static Map<String, String> loadLeetPatterns() {
|
private static Map<String, String> loadLeetPatterns() {
|
||||||
Map<String, String> dictionary = new HashMap<>();
|
Map<String, String> dictionary = new HashMap<>();
|
||||||
ConfigurationSection section = config.getConfigurationSection("config.chat.anti-swear.leet-patterns");
|
ConfigurationSection section = mainConfig.getConfigurationSection("config.chat.anti-swear.leet-patterns");
|
||||||
|
|
||||||
if (section != null) {
|
if (section != null) {
|
||||||
for (String key : section.getKeys(false)) {
|
for (String key : section.getKeys(false)) {
|
||||||
|
|||||||
@@ -59,64 +59,6 @@ config:
|
|||||||
- "smite %player%"
|
- "smite %player%"
|
||||||
- "ban %player% ]=- Sentinel -=[ You have been banned for attempting a dangerous action. If you believe this to be a mistake, please contact the server owner."
|
- "ban %player% ]=- Sentinel -=[ You have been banned for attempting a dangerous action. If you believe this to be a mistake, please contact the server owner."
|
||||||
reop-command: false # Defaulted false | This enables the command allowing trusted players to op themselves if they get deoped.
|
reop-command: false # Defaulted false | This enables the command allowing trusted players to op themselves if they get deoped.
|
||||||
nbt:
|
|
||||||
allow-name: true # Defaulted to true, weather or not to allow all item names durring creative inv event
|
|
||||||
allow-lore: true # Defaulted to true, weather or not to allow all item lore during creative inv event
|
|
||||||
allow-attributes: false # defaulted to false, weather or not to allow item attributes in a creative inv event
|
|
||||||
|
|
||||||
# Enchants
|
|
||||||
global-max-enchant: 5 # Defaulted to 5, if any enchantment is above this, it will get deleted. Set to 0 to disable all enchants from creative inv
|
|
||||||
# It is recommended to keep the ones defaulted to 1 at 1, as this will keep people who spam 32k onto every enchant will get caught
|
|
||||||
|
|
||||||
# All items
|
|
||||||
max-mending: 1 # Defaulted to 1
|
|
||||||
max-unbreaking: 3 # Defaulted to 3
|
|
||||||
max-vanishing: 1 # Defaulted to 1
|
|
||||||
|
|
||||||
# ARMOR
|
|
||||||
max-aqua-affinity: 1 # Defaulted to 1
|
|
||||||
max-blast-protection: 4 # Defaulted to 4
|
|
||||||
max-curse-of-binding: 1 # Defaulted to 1
|
|
||||||
max-depth-strider: 3 # Defaulted to 3
|
|
||||||
max-feather-falling: 4 # Defaulted to 4
|
|
||||||
max-fire-protection: 4 # Defaulted to 4
|
|
||||||
max-frost-walker: 2 # Defaulted to 2
|
|
||||||
max-projectile-protection: 4 # Defaulted to 4
|
|
||||||
max-protection: 4 # Defaulted to 4
|
|
||||||
max-respiration: 3 # Defaulted to 3
|
|
||||||
max-soul-speed: 3 # Defaulted to 3
|
|
||||||
max-thorns: 3 # Defaulted to 3
|
|
||||||
max-swift-sneak: 3 # Defaulted to 3
|
|
||||||
|
|
||||||
# MELEE WEAPONS
|
|
||||||
max-bane-of-arthropods: 5 # Defaulted to 5
|
|
||||||
max-efficiency: 5 # Defaulted to 5
|
|
||||||
max-fire-aspect: 2 # Defaulted to 2
|
|
||||||
max-looting: 3 # Defaulted to 3
|
|
||||||
max-impaling: 5 # Defaulted to 5
|
|
||||||
max-knockback: 2 # Defaulted to 2
|
|
||||||
max-sharpness: 5 # Defaulted to 5
|
|
||||||
max-smite: 5 # Defaulted to 5
|
|
||||||
max-sweeping-edge: 3 # Defaulted to 3
|
|
||||||
|
|
||||||
# RANGED WEAPONS
|
|
||||||
max-channeling: 1 # Defaulted to 1
|
|
||||||
max-flame: 1 # Defaulted to 1
|
|
||||||
max-infinity: 1 # Defaulted to 1
|
|
||||||
max-loyalty: 3 # Defaulted to 3
|
|
||||||
max-riptide: 3 # Defaulted to 3
|
|
||||||
max-multishot: 1 # Defaulted to 1
|
|
||||||
max-piercing: 4 # Defaulted to 4
|
|
||||||
max-power: 5 # Defaulted to 5
|
|
||||||
max-punch: 2 # Defaulted to 2
|
|
||||||
max-quick-charge: 3 # Defaulted to 3
|
|
||||||
|
|
||||||
# TOOLS
|
|
||||||
max-fortune: 3 # Defaulted to 3
|
|
||||||
max-luck-of-the-sea: 3 # Defaulted to 3
|
|
||||||
max-lure: 3 # Defaulted to 3
|
|
||||||
max-silk-touch: 1 # Defaulted to 1
|
|
||||||
|
|
||||||
# -------------------------------
|
# -------------------------------
|
||||||
# Chat Filter Setup & AntiSpam
|
# Chat Filter Setup & AntiSpam
|
||||||
# -------------------------------
|
# -------------------------------
|
||||||
@@ -149,149 +91,6 @@ config:
|
|||||||
punish-command: "mute %player% 15m Do not attempt to bypass the Profanity Filter"
|
punish-command: "mute %player% 15m Do not attempt to bypass the Profanity Filter"
|
||||||
strict-command: "mute %player% 1h Discriminatory speech is not tolerated on this server!"
|
strict-command: "mute %player% 1h Discriminatory speech is not tolerated on this server!"
|
||||||
log-swear: true # Default true | Logs swear punishments to the webhook
|
log-swear: true # Default true | Logs swear punishments to the webhook
|
||||||
false-positives: # Words that will falsly flag the anti-swear
|
|
||||||
- but then
|
|
||||||
- was scamming
|
|
||||||
- an alt
|
|
||||||
- can also
|
|
||||||
- analysis
|
|
||||||
- analytics
|
|
||||||
- arsenal
|
|
||||||
- assassin
|
|
||||||
- as saying
|
|
||||||
- assert
|
|
||||||
- assign
|
|
||||||
- assimil
|
|
||||||
- assist
|
|
||||||
- associat
|
|
||||||
- assum
|
|
||||||
- assur
|
|
||||||
- basement
|
|
||||||
- bass
|
|
||||||
- cass
|
|
||||||
- butter
|
|
||||||
- canvass
|
|
||||||
- cocktail
|
|
||||||
- cumber
|
|
||||||
- document
|
|
||||||
- evaluate
|
|
||||||
- exclusive
|
|
||||||
- expensive
|
|
||||||
- explain
|
|
||||||
- expression
|
|
||||||
- grape
|
|
||||||
- grass
|
|
||||||
- harass
|
|
||||||
- hotwater
|
|
||||||
- identit
|
|
||||||
- kassa
|
|
||||||
- kassi
|
|
||||||
- lass
|
|
||||||
- leafage
|
|
||||||
- libshitz
|
|
||||||
- magnacumlaude
|
|
||||||
- mass
|
|
||||||
- mocha
|
|
||||||
- pass
|
|
||||||
- phoebe
|
|
||||||
- phoenix
|
|
||||||
- push it
|
|
||||||
- sassy
|
|
||||||
- saturday
|
|
||||||
- scrap
|
|
||||||
- serfage
|
|
||||||
- sexist
|
|
||||||
- shoe
|
|
||||||
- stitch
|
|
||||||
- therapist
|
|
||||||
blacklisted: # Swears to check for
|
|
||||||
- anal
|
|
||||||
- anus
|
|
||||||
- arse
|
|
||||||
- ass
|
|
||||||
- ballsack
|
|
||||||
- balls
|
|
||||||
- bastard
|
|
||||||
- bitch
|
|
||||||
- btch
|
|
||||||
- biatch
|
|
||||||
- blowjob
|
|
||||||
- bollock
|
|
||||||
- bollok
|
|
||||||
- boner
|
|
||||||
- boob
|
|
||||||
- bugger
|
|
||||||
- butt
|
|
||||||
- choad
|
|
||||||
- clitoris
|
|
||||||
- cock
|
|
||||||
- coon
|
|
||||||
- crap
|
|
||||||
- cum
|
|
||||||
- cunt
|
|
||||||
- dick
|
|
||||||
- dildo
|
|
||||||
- douchebag
|
|
||||||
- dyke
|
|
||||||
- feck
|
|
||||||
- fellate
|
|
||||||
- fellatio
|
|
||||||
- felching
|
|
||||||
- fuck
|
|
||||||
- fudgepacker
|
|
||||||
- flange
|
|
||||||
- gtfo
|
|
||||||
- hoe
|
|
||||||
- horny
|
|
||||||
- incest
|
|
||||||
- jerk
|
|
||||||
- jizz
|
|
||||||
- labia
|
|
||||||
- masturb
|
|
||||||
- muff
|
|
||||||
- nazi
|
|
||||||
- nipple
|
|
||||||
- nips
|
|
||||||
- nude
|
|
||||||
- pedophile
|
|
||||||
- penis
|
|
||||||
- piss
|
|
||||||
- poop
|
|
||||||
- porn
|
|
||||||
- prick
|
|
||||||
- prostit
|
|
||||||
- pube
|
|
||||||
- pussie
|
|
||||||
- pussy
|
|
||||||
- queer
|
|
||||||
- rape
|
|
||||||
- rapist
|
|
||||||
- retard
|
|
||||||
- rimjob
|
|
||||||
- scrotum
|
|
||||||
- sex
|
|
||||||
- shit
|
|
||||||
- slut
|
|
||||||
- spunk
|
|
||||||
- stfu
|
|
||||||
- suckmy
|
|
||||||
- tits
|
|
||||||
- tittie
|
|
||||||
- titty
|
|
||||||
- turd
|
|
||||||
- twat
|
|
||||||
- vagina
|
|
||||||
- wank
|
|
||||||
- whore
|
|
||||||
strict: # Very bad words to insta-punish for
|
|
||||||
- nigg
|
|
||||||
- niger
|
|
||||||
- nlgg
|
|
||||||
- nlger
|
|
||||||
- njgg
|
|
||||||
- tranny
|
|
||||||
- fag
|
|
||||||
- beaner
|
|
||||||
leet-patterns: # Replacement patterns for "l33t" strings
|
leet-patterns: # Replacement patterns for "l33t" strings
|
||||||
'0': o
|
'0': o
|
||||||
'1': i
|
'1': i
|
||||||
|
|||||||
55
src/main/resources/false-positives.yml
Normal file
55
src/main/resources/false-positives.yml
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
false-positives: # Words that will falsly flag the anti-swear
|
||||||
|
- but then
|
||||||
|
- was scamming
|
||||||
|
- an alt
|
||||||
|
- can also
|
||||||
|
- analysis
|
||||||
|
- analytics
|
||||||
|
- arsenal
|
||||||
|
- assassin
|
||||||
|
- as saying
|
||||||
|
- assert
|
||||||
|
- assign
|
||||||
|
- assimil
|
||||||
|
- assist
|
||||||
|
- associat
|
||||||
|
- assum
|
||||||
|
- assur
|
||||||
|
- basement
|
||||||
|
- bass
|
||||||
|
- cass
|
||||||
|
- butter
|
||||||
|
- canvass
|
||||||
|
- cocktail
|
||||||
|
- cumber
|
||||||
|
- document
|
||||||
|
- evaluate
|
||||||
|
- exclusive
|
||||||
|
- expensive
|
||||||
|
- explain
|
||||||
|
- expression
|
||||||
|
- grape
|
||||||
|
- grass
|
||||||
|
- harass
|
||||||
|
- hotwater
|
||||||
|
- identit
|
||||||
|
- kassa
|
||||||
|
- kassi
|
||||||
|
- lass
|
||||||
|
- leafage
|
||||||
|
- libshitz
|
||||||
|
- magnacumlaude
|
||||||
|
- mass
|
||||||
|
- mocha
|
||||||
|
- pass
|
||||||
|
- phoebe
|
||||||
|
- phoenix
|
||||||
|
- push it
|
||||||
|
- sassy
|
||||||
|
- saturday
|
||||||
|
- scrap
|
||||||
|
- serfage
|
||||||
|
- sexist
|
||||||
|
- shoe
|
||||||
|
- stitch
|
||||||
|
- therapist
|
||||||
57
src/main/resources/nbt-config.yml
Normal file
57
src/main/resources/nbt-config.yml
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
nbt:
|
||||||
|
allow-name: true # Defaulted to true, weather or not to allow all item names durring creative inv event
|
||||||
|
allow-lore: true # Defaulted to true, weather or not to allow all item lore during creative inv event
|
||||||
|
allow-attributes: false # defaulted to false, weather or not to allow item attributes in a creative inv event
|
||||||
|
|
||||||
|
# Enchants
|
||||||
|
global-max-enchant: 5 # Defaulted to 5, if any enchantment is above this, it will get deleted. Set to 0 to disable all enchants from creative inv
|
||||||
|
# It is recommended to keep the ones defaulted to 1 at 1, as this will keep people who spam 32k onto every enchant will get caught
|
||||||
|
|
||||||
|
# All items
|
||||||
|
max-mending: 1 # Defaulted to 1
|
||||||
|
max-unbreaking: 3 # Defaulted to 3
|
||||||
|
max-vanishing: 1 # Defaulted to 1
|
||||||
|
|
||||||
|
# ARMOR
|
||||||
|
max-aqua-affinity: 1 # Defaulted to 1
|
||||||
|
max-blast-protection: 4 # Defaulted to 4
|
||||||
|
max-curse-of-binding: 1 # Defaulted to 1
|
||||||
|
max-depth-strider: 3 # Defaulted to 3
|
||||||
|
max-feather-falling: 4 # Defaulted to 4
|
||||||
|
max-fire-protection: 4 # Defaulted to 4
|
||||||
|
max-frost-walker: 2 # Defaulted to 2
|
||||||
|
max-projectile-protection: 4 # Defaulted to 4
|
||||||
|
max-protection: 4 # Defaulted to 4
|
||||||
|
max-respiration: 3 # Defaulted to 3
|
||||||
|
max-soul-speed: 3 # Defaulted to 3
|
||||||
|
max-thorns: 3 # Defaulted to 3
|
||||||
|
max-swift-sneak: 3 # Defaulted to 3
|
||||||
|
|
||||||
|
# MELEE WEAPONS
|
||||||
|
max-bane-of-arthropods: 5 # Defaulted to 5
|
||||||
|
max-efficiency: 5 # Defaulted to 5
|
||||||
|
max-fire-aspect: 2 # Defaulted to 2
|
||||||
|
max-looting: 3 # Defaulted to 3
|
||||||
|
max-impaling: 5 # Defaulted to 5
|
||||||
|
max-knockback: 2 # Defaulted to 2
|
||||||
|
max-sharpness: 5 # Defaulted to 5
|
||||||
|
max-smite: 5 # Defaulted to 5
|
||||||
|
max-sweeping-edge: 3 # Defaulted to 3
|
||||||
|
|
||||||
|
# RANGED WEAPONS
|
||||||
|
max-channeling: 1 # Defaulted to 1
|
||||||
|
max-flame: 1 # Defaulted to 1
|
||||||
|
max-infinity: 1 # Defaulted to 1
|
||||||
|
max-loyalty: 3 # Defaulted to 3
|
||||||
|
max-riptide: 3 # Defaulted to 3
|
||||||
|
max-multishot: 1 # Defaulted to 1
|
||||||
|
max-piercing: 4 # Defaulted to 4
|
||||||
|
max-power: 5 # Defaulted to 5
|
||||||
|
max-punch: 2 # Defaulted to 2
|
||||||
|
max-quick-charge: 3 # Defaulted to 3
|
||||||
|
|
||||||
|
# TOOLS
|
||||||
|
max-fortune: 3 # Defaulted to 3
|
||||||
|
max-luck-of-the-sea: 3 # Defaulted to 3
|
||||||
|
max-lure: 3 # Defaulted to 3
|
||||||
|
max-silk-touch: 1 # Defaulted to 1
|
||||||
9
src/main/resources/strict.yml
Normal file
9
src/main/resources/strict.yml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
strict: # Very bad words to insta-punish for
|
||||||
|
- nigg
|
||||||
|
- niger
|
||||||
|
- nlgg
|
||||||
|
- nlger
|
||||||
|
- njgg
|
||||||
|
- tranny
|
||||||
|
- fag
|
||||||
|
- beaner
|
||||||
79
src/main/resources/swears.yml
Normal file
79
src/main/resources/swears.yml
Normal file
@@ -0,0 +1,79 @@
|
|||||||
|
blacklisted: # Swears to check for
|
||||||
|
- anal
|
||||||
|
- anus
|
||||||
|
- arse
|
||||||
|
- ass
|
||||||
|
- ballsack
|
||||||
|
- balls
|
||||||
|
- bastard
|
||||||
|
- bitch
|
||||||
|
- btch
|
||||||
|
- biatch
|
||||||
|
- blowjob
|
||||||
|
- bollock
|
||||||
|
- bollok
|
||||||
|
- boner
|
||||||
|
- boob
|
||||||
|
- bugger
|
||||||
|
- butt
|
||||||
|
- choad
|
||||||
|
- clitoris
|
||||||
|
- cock
|
||||||
|
- coon
|
||||||
|
- crap
|
||||||
|
- cum
|
||||||
|
- cunt
|
||||||
|
- dick
|
||||||
|
- dildo
|
||||||
|
- douchebag
|
||||||
|
- dyke
|
||||||
|
- feck
|
||||||
|
- fellate
|
||||||
|
- fellatio
|
||||||
|
- felching
|
||||||
|
- fuck
|
||||||
|
- fudgepacker
|
||||||
|
- flange
|
||||||
|
- gtfo
|
||||||
|
- hoe
|
||||||
|
- horny
|
||||||
|
- incest
|
||||||
|
- jerk
|
||||||
|
- jizz
|
||||||
|
- labia
|
||||||
|
- masturb
|
||||||
|
- muff
|
||||||
|
- nazi
|
||||||
|
- nipple
|
||||||
|
- nips
|
||||||
|
- nude
|
||||||
|
- pedophile
|
||||||
|
- penis
|
||||||
|
- piss
|
||||||
|
- poop
|
||||||
|
- porn
|
||||||
|
- prick
|
||||||
|
- prostit
|
||||||
|
- pube
|
||||||
|
- pussie
|
||||||
|
- pussy
|
||||||
|
- queer
|
||||||
|
- rape
|
||||||
|
- rapist
|
||||||
|
- retard
|
||||||
|
- rimjob
|
||||||
|
- scrotum
|
||||||
|
- sex
|
||||||
|
- shit
|
||||||
|
- slut
|
||||||
|
- spunk
|
||||||
|
- stfu
|
||||||
|
- suckmy
|
||||||
|
- tits
|
||||||
|
- tittie
|
||||||
|
- titty
|
||||||
|
- turd
|
||||||
|
- twat
|
||||||
|
- vagina
|
||||||
|
- wank
|
||||||
|
- whore
|
||||||
Reference in New Issue
Block a user