Updated a lot

This commit is contained in:
trouper
2023-08-28 07:16:10 -05:00
parent 68d737a08c
commit 3b2ebe4170
7 changed files with 312 additions and 302 deletions

View File

@@ -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();

View File

@@ -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)) {

View File

@@ -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

View 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

View 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

View File

@@ -0,0 +1,9 @@
strict: # Very bad words to insta-punish for
- nigg
- niger
- nlgg
- nlger
- njgg
- tranny
- fag
- beaner

View 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