From 3b2ebe41704ce7fa3ffbfe484e58576ce2da62ff Mon Sep 17 00:00:00 2001 From: trouper Date: Mon, 28 Aug 2023 07:16:10 -0500 Subject: [PATCH] Updated a lot --- .../github/thetrouper/sentinel/Sentinel.java | 4 + .../thetrouper/sentinel/data/Config.java | 209 +++++++++--------- src/main/resources/config.yml | 201 ----------------- src/main/resources/false-positives.yml | 55 +++++ src/main/resources/nbt-config.yml | 57 +++++ src/main/resources/strict.yml | 9 + src/main/resources/swears.yml | 79 +++++++ 7 files changed, 312 insertions(+), 302 deletions(-) create mode 100644 src/main/resources/false-positives.yml create mode 100644 src/main/resources/nbt-config.yml create mode 100644 src/main/resources/strict.yml create mode 100644 src/main/resources/swears.yml diff --git a/src/main/java/io/github/thetrouper/sentinel/Sentinel.java b/src/main/java/io/github/thetrouper/sentinel/Sentinel.java index 7e1e1c8..3b9ba22 100644 --- a/src/main/java/io/github/thetrouper/sentinel/Sentinel.java +++ b/src/main/java/io/github/thetrouper/sentinel/Sentinel.java @@ -54,6 +54,10 @@ public final class Sentinel extends JavaPlugin { log.info("]======----- Auth Success! -----======["); // Init getConfig().options().copyDefaults(); + saveResource("nbt-config.yml", false); + saveResource("false-positives.yml", false); + saveResource("strict.yml", false); + saveResource("swears.yml", false); saveDefaultConfig(); diff --git a/src/main/java/io/github/thetrouper/sentinel/data/Config.java b/src/main/java/io/github/thetrouper/sentinel/data/Config.java index f989f0f..73e539d 100644 --- a/src/main/java/io/github/thetrouper/sentinel/data/Config.java +++ b/src/main/java/io/github/thetrouper/sentinel/data/Config.java @@ -7,7 +7,9 @@ package io.github.thetrouper.sentinel.data; import io.github.thetrouper.sentinel.Sentinel; import org.bukkit.configuration.ConfigurationSection; import org.bukkit.configuration.file.FileConfiguration; +import org.bukkit.configuration.file.YamlConfiguration; +import java.io.File; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -16,7 +18,12 @@ import java.util.Map; * Config loader */ 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 getPunishCommands() { return punishCommands; @@ -27,7 +34,7 @@ public abstract class Config { */ public class Plugin { public static String getPrefix() { - return config.getString("config.plugin.prefix"); + return mainConfig.getString("config.plugin.prefix"); } } public static String webhook; @@ -133,124 +140,124 @@ public abstract class Config { public static void loadConfiguration() { - Sentinel.prefix = config.getString("config.plugin.prefix"); - Sentinel.key = config.getString("config.plugin.key"); - webhook = config.getString("config.plugin.webhook"); - trustedPlayers = config.getStringList("config.plugin.trusted"); - blockSpecific = config.getBoolean("config.plugin.block-specific"); - preventNBT = config.getBoolean("config.plugin.prevent-nbt"); - preventCmdBlockPlace = config.getBoolean("config.plugin.prevent-cmdblock-place"); - preventCmdBlockUse = config.getBoolean("config.plugin.prevent-cmdblock-use"); - preventCmdBlockChange = config.getBoolean("config.plugin.prevent-cmdblock-change"); - preventCmdCartPlace = config.getBoolean("config.plugin.prevent-cmdcart-place"); - preventCmdCartUse = config.getBoolean("config.plugin.prevent-cmdcart-use"); - cmdBlockOpCheck = config.getBoolean("config.plugin.cmdblock-op-check"); - dangerous = config.getStringList("config.plugin.dangerous"); - logDangerous = config.getBoolean("config.plugin.log-dangerous"); - logCmdBlocks = config.getBoolean("config.plugin.log-cmdblocks"); - logNBT = config.getBoolean("config.plugin.log-nbt"); - logSpecific = config.getBoolean("config.plugin.log-specific"); - logged = config.getStringList("config.plugin.logged"); - deop = config.getBoolean("config.plugin.deop"); - nbtPunish = config.getBoolean("config.plugin.nbt-punish"); - cmdBlockPunish = config.getBoolean("config.plugin.cmdblock-punish"); - commandPunish = config.getBoolean("config.plugin.command-punish"); - specificPunish = config.getBoolean("config.plugin.specific-punish"); - punishCommands = config.getStringList("config.plugin.punish-commands"); - reopCommand = config.getBoolean("config.plugin.reop-command"); + Sentinel.prefix = mainConfig.getString("config.plugin.prefix"); + Sentinel.key = mainConfig.getString("config.plugin.key"); + webhook = mainConfig.getString("config.plugin.webhook"); + trustedPlayers = mainConfig.getStringList("config.plugin.trusted"); + blockSpecific = mainConfig.getBoolean("config.plugin.block-specific"); + preventNBT = mainConfig.getBoolean("config.plugin.prevent-nbt"); + preventCmdBlockPlace = mainConfig.getBoolean("config.plugin.prevent-cmdblock-place"); + preventCmdBlockUse = mainConfig.getBoolean("config.plugin.prevent-cmdblock-use"); + preventCmdBlockChange = mainConfig.getBoolean("config.plugin.prevent-cmdblock-change"); + preventCmdCartPlace = mainConfig.getBoolean("config.plugin.prevent-cmdcart-place"); + preventCmdCartUse = mainConfig.getBoolean("config.plugin.prevent-cmdcart-use"); + cmdBlockOpCheck = mainConfig.getBoolean("config.plugin.cmdblock-op-check"); + dangerous = mainConfig.getStringList("config.plugin.dangerous"); + logDangerous = mainConfig.getBoolean("config.plugin.log-dangerous"); + logCmdBlocks = mainConfig.getBoolean("config.plugin.log-cmdblocks"); + logNBT = mainConfig.getBoolean("config.plugin.log-nbt"); + logSpecific = mainConfig.getBoolean("config.plugin.log-specific"); + logged = mainConfig.getStringList("config.plugin.logged"); + deop = mainConfig.getBoolean("config.plugin.deop"); + nbtPunish = mainConfig.getBoolean("config.plugin.nbt-punish"); + cmdBlockPunish = mainConfig.getBoolean("config.plugin.cmdblock-punish"); + commandPunish = mainConfig.getBoolean("config.plugin.command-punish"); + specificPunish = mainConfig.getBoolean("config.plugin.specific-punish"); + punishCommands = mainConfig.getStringList("config.plugin.punish-commands"); + reopCommand = mainConfig.getBoolean("config.plugin.reop-command"); // NBT - allowName = config.getBoolean("config.nbt.allow-name"); - allowLore = config.getBoolean("config.nbt.allow-lore"); - allowAttributes = config.getBoolean("config.nbt.allow-attributes"); - globalMaxEnchant = config.getInt("config.nbt.global-max-enchant"); + allowName = nbtConfig.getBoolean("nbt.allow-name"); + allowLore = nbtConfig.getBoolean("nbt.allow-lore"); + allowAttributes = nbtConfig.getBoolean("nbt.allow-attributes"); + globalMaxEnchant = nbtConfig.getInt("nbt.global-max-enchant"); // ALL - maxMending = config.getInt("config.nbt.max-mending"); - maxUnbreaking = config.getInt("config.nbt.max-unbreaking"); - maxVanishing = config.getInt("config.nbt.max-vanishing"); + maxMending = nbtConfig.getInt("nbt.max-mending"); + maxUnbreaking = nbtConfig.getInt("nbt.max-unbreaking"); + maxVanishing = nbtConfig.getInt("nbt.max-vanishing"); // ARMOR - maxAquaAffinity = config.getInt("config.nbt.max-aqua-affinity"); - maxBlastProtection = config.getInt("config.nbt.max-blast-protection"); - maxCurseOfBinding = config.getInt("config.nbt.max-curse-of-binding"); - maxDepthStrider = config.getInt("config.nbt.max-depth-strider"); - maxFeatherFalling = config.getInt("config.nbt.max-feather-falling"); - maxFireProtection = config.getInt("config.nbt.max-fire-protection"); - maxFrostWalker = config.getInt("config.nbt.max-frost-walker"); - maxProjectileProtection = config.getInt("config.nbt.max-projectile-protection"); - maxProtection = config.getInt("config.nbt.max-protection"); - maxRespiration = config.getInt("config.nbt.max-respiration"); - maxSoulSpeed = config.getInt("config.nbt.max-soul-speed"); - maxThorns = config.getInt("config.nbt.max-thorns"); - maxSwiftSneak = config.getInt("config.nbt.max-swift-sneak"); + maxAquaAffinity = nbtConfig.getInt("nbt.max-aqua-affinity"); + maxBlastProtection = nbtConfig.getInt("nbt.max-blast-protection"); + maxCurseOfBinding = nbtConfig.getInt("nbt.max-curse-of-binding"); + maxDepthStrider = nbtConfig.getInt("nbt.max-depth-strider"); + maxFeatherFalling = nbtConfig.getInt("nbt.max-feather-falling"); + maxFireProtection = nbtConfig.getInt("nbt.max-fire-protection"); + maxFrostWalker = nbtConfig.getInt("nbt.max-frost-walker"); + maxProjectileProtection = nbtConfig.getInt("nbt.max-projectile-protection"); + maxProtection = nbtConfig.getInt("nbt.max-protection"); + maxRespiration = nbtConfig.getInt("nbt.max-respiration"); + maxSoulSpeed = nbtConfig.getInt("nbt.max-soul-speed"); + maxThorns = nbtConfig.getInt("nbt.max-thorns"); + maxSwiftSneak = nbtConfig.getInt("nbt.max-swift-sneak"); // MELEE WEAPONS - maxBaneOfArthropods = config.getInt("config.nbt.max-bane-of-arthropods"); - maxEfficiency = config.getInt("config.nbt.max-efficiency"); - maxFireAspect = config.getInt("config.nbt.max-fire-aspect"); - maxLooting = config.getInt("config.nbt.max-looting"); - maxImpaling = config.getInt("config.nbt.max-impaling"); - maxKnockback = config.getInt("config.nbt.max-knockback"); - maxSharpness = config.getInt("config.nbt.max-sharpness"); - maxSmite = config.getInt("config.nbt.max-smite"); - maxSweepingEdge = config.getInt("config.nbt.max-sweeping-edge"); + maxBaneOfArthropods = nbtConfig.getInt("nbt.max-bane-of-arthropods"); + maxEfficiency = nbtConfig.getInt("nbt.max-efficiency"); + maxFireAspect = nbtConfig.getInt("nbt.max-fire-aspect"); + maxLooting = nbtConfig.getInt("nbt.max-looting"); + maxImpaling = nbtConfig.getInt("nbt.max-impaling"); + maxKnockback = nbtConfig.getInt("nbt.max-knockback"); + maxSharpness = nbtConfig.getInt("nbt.max-sharpness"); + maxSmite = nbtConfig.getInt("nbt.max-smite"); + maxSweepingEdge = nbtConfig.getInt("nbt.max-sweeping-edge"); // RANGED WEAPONS - maxChanneling = config.getInt("config.nbt.max-channeling"); - maxFlame = config.getInt("config.nbt.max-flame"); - maxInfinity = config.getInt("config.nbt.max-infinity"); - maxLoyalty = config.getInt("config.nbt.max-loyalty"); - maxRiptide = config.getInt("config.nbt.max-riptide"); - maxMultishot = config.getInt("config.nbt.max-multishot"); - maxPiercing = config.getInt("config.nbt.max-piercing"); - maxPower = config.getInt("config.nbt.max-power"); - maxPunch = config.getInt("config.nbt.max-punch"); - maxQuickCharge = config.getInt("config.nbt.max-quick-charge"); + maxChanneling = nbtConfig.getInt("nbt.max-channeling"); + maxFlame = nbtConfig.getInt("nbt.max-flame"); + maxInfinity = nbtConfig.getInt("nbt.max-infinity"); + maxLoyalty = nbtConfig.getInt("nbt.max-loyalty"); + maxRiptide = nbtConfig.getInt("nbt.max-riptide"); + maxMultishot = nbtConfig.getInt("nbt.max-multishot"); + maxPiercing = nbtConfig.getInt("nbt.max-piercing"); + maxPower = nbtConfig.getInt("nbt.max-power"); + maxPunch = nbtConfig.getInt("nbt.max-punch"); + maxQuickCharge = nbtConfig.getInt("nbt.max-quick-charge"); // TOOLS - maxEfficiency = config.getInt("config.nbt.max-efficiency"); - maxFortune = config.getInt("config.nbt.max-fortune"); - maxLuckOfTheSea = config.getInt("config.nbt.max-luck-of-the-sea"); - maxLure = config.getInt("config.nbt.max-lure"); - maxSilkTouch = config.getInt("config.nbt.max-silk-touch"); + maxEfficiency = nbtConfig.getInt("nbt.max-efficiency"); + maxFortune = nbtConfig.getInt("nbt.max-fortune"); + maxLuckOfTheSea = nbtConfig.getInt("nbt.max-luck-of-the-sea"); + maxLure = nbtConfig.getInt("nbt.max-lure"); + maxSilkTouch = nbtConfig.getInt("nbt.max-silk-touch"); // Chat Filter Setup & AntiSpam - antiUnicode = config.getBoolean("config.chat.anti-unicode"); - antiSpamEnabled = config.getBoolean("config.chat.anti-spam.enabled"); - defaultGain = config.getInt("config.chat.anti-spam.default-gain"); - lowGain = config.getInt("config.chat.anti-spam.low-gain"); - mediumGain = config.getInt("config.chat.anti-spam.medium-gain"); - highGain = config.getInt("config.chat.anti-spam.high-gain"); - heatDecay = config.getInt("config.chat.anti-spam.heat-decay"); - blockHeat = config.getInt("config.chat.anti-spam.block-heat"); - punishHeat = config.getInt("config.chat.anti-spam.punish-heat"); - clearChat = config.getBoolean("config.chat.anti-spam.clear-chat"); - chatClearCommand = config.getString("config.chat.anti-spam.chat-clear-command"); - spamPunishCommand = config.getString("config.chat.anti-spam.punish-command"); - logSpam = config.getBoolean("config.chat.anti-spam.log-spam"); - antiSwearEnabled = config.getBoolean("config.chat.anti-swear.enabled"); - lowScore = config.getInt("config.chat.anti-swear.low-score"); - mediumLowScore = config.getInt("config.chat.anti-swear.medium-low-score"); - mediumScore = config.getInt("config.chat.anti-swear.medium-score"); - mediumHighScore = config.getInt("config.chat.anti-swear.medium-high-score"); - highScore = config.getInt("config.chat.anti-swear.high-score"); - scoreDecay = config.getInt("config.chat.anti-swear.score-decay"); - punishScore = config.getInt("config.chat.anti-swear.punish-score"); - strictInstaPunish = config.getBoolean("config.chat.anti-swear.strict-insta-punish"); - swearPunishCommand = config.getString("config.chat.anti-swear.punish-command"); - strictPunishCommand = config.getString("config.chat.anti-swear.strict-command"); - logSwear = config.getBoolean("config.chat.anti-swear.log-swear"); - swearWhitelist = config.getStringList("config.chat.anti-swear.false-positives"); - swearBlacklist = config.getStringList("config.chat.anti-swear.blacklisted"); - slurs = config.getStringList("config.chat.anti-swear.strict"); + antiUnicode = mainConfig.getBoolean("config.chat.anti-unicode"); + antiSpamEnabled = mainConfig.getBoolean("config.chat.anti-spam.enabled"); + defaultGain = mainConfig.getInt("config.chat.anti-spam.default-gain"); + lowGain = mainConfig.getInt("config.chat.anti-spam.low-gain"); + mediumGain = mainConfig.getInt("config.chat.anti-spam.medium-gain"); + highGain = mainConfig.getInt("config.chat.anti-spam.high-gain"); + heatDecay = mainConfig.getInt("config.chat.anti-spam.heat-decay"); + blockHeat = mainConfig.getInt("config.chat.anti-spam.block-heat"); + punishHeat = mainConfig.getInt("config.chat.anti-spam.punish-heat"); + clearChat = mainConfig.getBoolean("config.chat.anti-spam.clear-chat"); + chatClearCommand = mainConfig.getString("config.chat.anti-spam.chat-clear-command"); + spamPunishCommand = mainConfig.getString("config.chat.anti-spam.punish-command"); + logSpam = mainConfig.getBoolean("config.chat.anti-spam.log-spam"); + antiSwearEnabled = mainConfig.getBoolean("config.chat.anti-swear.enabled"); + lowScore = mainConfig.getInt("config.chat.anti-swear.low-score"); + mediumLowScore = mainConfig.getInt("config.chat.anti-swear.medium-low-score"); + mediumScore = mainConfig.getInt("config.chat.anti-swear.medium-score"); + mediumHighScore = mainConfig.getInt("config.chat.anti-swear.medium-high-score"); + highScore = mainConfig.getInt("config.chat.anti-swear.high-score"); + scoreDecay = mainConfig.getInt("config.chat.anti-swear.score-decay"); + punishScore = mainConfig.getInt("config.chat.anti-swear.punish-score"); + strictInstaPunish = mainConfig.getBoolean("config.chat.anti-swear.strict-insta-punish"); + swearPunishCommand = mainConfig.getString("config.chat.anti-swear.punish-command"); + strictPunishCommand = mainConfig.getString("config.chat.anti-swear.strict-command"); + logSwear = mainConfig.getBoolean("config.chat.anti-swear.log-swear"); + swearWhitelist = falsePositives.getStringList("false-positives"); + swearBlacklist = swearWords.getStringList("blacklisted"); + slurs = strictWords.getStringList("strict"); leetPatterns = loadLeetPatterns(); - logSwear = config.getBoolean("config.chat.anti-swear.log-swear"); + logSwear = mainConfig.getBoolean("config.chat.anti-swear.log-swear"); } private static Map loadLeetPatterns() { Map 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) { for (String key : section.getKeys(false)) { diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 32403ce..375496e 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -59,64 +59,6 @@ config: - "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." 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 # ------------------------------- @@ -149,149 +91,6 @@ config: 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!" 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 '0': o '1': i diff --git a/src/main/resources/false-positives.yml b/src/main/resources/false-positives.yml new file mode 100644 index 0000000..dae5905 --- /dev/null +++ b/src/main/resources/false-positives.yml @@ -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 \ No newline at end of file diff --git a/src/main/resources/nbt-config.yml b/src/main/resources/nbt-config.yml new file mode 100644 index 0000000..8d0b36a --- /dev/null +++ b/src/main/resources/nbt-config.yml @@ -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 \ No newline at end of file diff --git a/src/main/resources/strict.yml b/src/main/resources/strict.yml new file mode 100644 index 0000000..998d25e --- /dev/null +++ b/src/main/resources/strict.yml @@ -0,0 +1,9 @@ +strict: # Very bad words to insta-punish for + - nigg + - niger + - nlgg + - nlger + - njgg + - tranny + - fag + - beaner \ No newline at end of file diff --git a/src/main/resources/swears.yml b/src/main/resources/swears.yml new file mode 100644 index 0000000..01f7927 --- /dev/null +++ b/src/main/resources/swears.yml @@ -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 \ No newline at end of file