From 5351aef0c8bc4525e3a606bc1722ad80160ab982 Mon Sep 17 00:00:00 2001 From: UnknownShadow200 Date: Thu, 29 Jun 2017 18:45:30 +1000 Subject: [PATCH] Remove the Description field from the ConfigXYZ attributes, since desc was never actually given a non-null value. --- MCGalaxy/Config/ConfigAttribute.cs | 8 +- MCGalaxy/Config/OtherAttributes.cs | 25 +- MCGalaxy/Config/StringAttributes.cs | 32 ++- MCGalaxy/Games/CTF/CtfConfig2.cs | 42 ++-- .../Games/ZombieSurvival/ZombieGame.Props.cs | 54 ++-- MCGalaxy/Levels/LevelConfig.cs | 130 +++++----- MCGalaxy/Server/ServerConfig.cs | 230 +++++++++--------- 7 files changed, 257 insertions(+), 264 deletions(-) diff --git a/MCGalaxy/Config/ConfigAttribute.cs b/MCGalaxy/Config/ConfigAttribute.cs index b5c725b71..6b1f52b96 100644 --- a/MCGalaxy/Config/ConfigAttribute.cs +++ b/MCGalaxy/Config/ConfigAttribute.cs @@ -27,9 +27,6 @@ namespace MCGalaxy.Config { /// Section/Group in the property file this config entry is part of. public string Section; - /// Comment shown in the property file above the key-value entry. - public string Description; - /// The default value used if validating the value read from the propery file fails. public object DefaultValue; @@ -39,9 +36,8 @@ namespace MCGalaxy.Config { /// Converts the given value into its serialised string form. public virtual string Serialise(object value) { return value == null ? "" : value.ToString(); } - public ConfigAttribute(string name, string section, string desc, object defValue) { - Name = name; Description = desc; - Section = section; DefaultValue = defValue; + public ConfigAttribute(string name, string section, object defValue) { + Name = name; Section = section; DefaultValue = defValue; } } } diff --git a/MCGalaxy/Config/OtherAttributes.cs b/MCGalaxy/Config/OtherAttributes.cs index 1ca800646..48b7b6cd6 100644 --- a/MCGalaxy/Config/OtherAttributes.cs +++ b/MCGalaxy/Config/OtherAttributes.cs @@ -27,9 +27,9 @@ namespace MCGalaxy.Config { /// Maximum value integer allowed for a value. public int MaxValue; - public ConfigIntAttribute(string name, string section, string desc, int defValue, + public ConfigIntAttribute(string name, string section, int defValue, int min = int.MinValue, int max = int.MaxValue) - : base(name, section, desc, defValue) { + : base(name, section, defValue) { MinValue = min; MaxValue = max; } @@ -55,9 +55,9 @@ namespace MCGalaxy.Config { public class ConfigByteAttribute : ConfigIntAttribute { - public ConfigByteAttribute(string name, string section, string desc, int defValue, + public ConfigByteAttribute(string name, string section, int defValue, int min = byte.MinValue, int max = byte.MaxValue) - : base(name, section, desc, defValue, min, max) { + : base(name, section, defValue, min, max) { } public override object Parse(string value) { @@ -68,8 +68,8 @@ namespace MCGalaxy.Config { public sealed class ConfigBoolAttribute : ConfigAttribute { - public ConfigBoolAttribute(string name, string section, string desc, bool defValue) - : base(name, section, desc, defValue) { + public ConfigBoolAttribute(string name, string section, bool defValue) + : base(name, section, defValue) { } public override object Parse(string value) { @@ -84,8 +84,8 @@ namespace MCGalaxy.Config { public sealed class ConfigPermAttribute : ConfigAttribute { - public ConfigPermAttribute(string name, string section, string desc, LevelPermission defValue) - : base(name, section, desc, defValue) { + public ConfigPermAttribute(string name, string section, LevelPermission defValue) + : base(name, section, defValue) { } public override object Parse(string value) { @@ -122,8 +122,8 @@ namespace MCGalaxy.Config { public sealed class ConfigDateTimeAttribute : ConfigAttribute { - public ConfigDateTimeAttribute(string name, string section, string desc) - : base(name, section, desc, DateTime.MinValue) { + public ConfigDateTimeAttribute(string name, string section) + : base(name, section, DateTime.MinValue) { } public override object Parse(string value) { @@ -146,9 +146,8 @@ namespace MCGalaxy.Config { /// The type of members of this enumeration. public Type EnumType; - public ConfigEnumAttribute(string name, string section, string desc, - object defValue, Type enumType) - : base(name, section, desc, defValue) { + public ConfigEnumAttribute(string name, string section, object defValue, Type enumType) + : base(name, section, defValue) { EnumType = enumType; } diff --git a/MCGalaxy/Config/StringAttributes.cs b/MCGalaxy/Config/StringAttributes.cs index 9a1cd8fca..a8a629e48 100644 --- a/MCGalaxy/Config/StringAttributes.cs +++ b/MCGalaxy/Config/StringAttributes.cs @@ -22,8 +22,8 @@ namespace MCGalaxy.Config { public sealed class ConfigColorAttribute : ConfigAttribute { - public ConfigColorAttribute(string name, string section, string desc, string defValue) - : base(name, section, desc, defValue) { + public ConfigColorAttribute(string name, string section, string defValue) + : base(name, section, defValue) { } public override object Parse(string value) { @@ -48,11 +48,11 @@ namespace MCGalaxy.Config { public string AllowedChars; /// Maximum number of characters allowed in the value. 0 means no limit. - public int MaxLength = 0; + public int MaxLength = int.MaxValue; - public ConfigStringAttribute(string name, string section, string desc, string defValue, + public ConfigStringAttribute(string name, string section, string defValue, bool allowEmpty, string allowedChars, int maxLength) - : base(name, section, desc, defValue) { + : base(name, section, defValue) { AllowEmpty = allowEmpty; AllowedChars = allowedChars; MaxLength = maxLength; @@ -60,21 +60,19 @@ namespace MCGalaxy.Config { // NOTE: required to define these, some compilers error when we try using optional parameters with: // "An attribute argument must be a constant expression, typeof expression.." - public ConfigStringAttribute(string name, string section, string desc, string defValue, - bool allowEmpty, string allowedChars) - : base(name, section, desc, defValue) { + public ConfigStringAttribute(string name, string section, string defValue, bool allowEmpty, string allowedChars) + : base(name, section, defValue) { AllowEmpty = allowEmpty; AllowedChars = allowedChars; } - public ConfigStringAttribute(string name, string section, string desc, string defValue, - bool allowEmpty) - : base(name, section, desc, defValue) { + public ConfigStringAttribute(string name, string section, string defValue, bool allowEmpty) + : base(name, section, defValue) { AllowEmpty = allowEmpty; } - public ConfigStringAttribute(string name, string section, string desc, string defValue) - : base(name, section, desc, defValue) { + public ConfigStringAttribute(string name, string section, string defValue) + : base(name, section, defValue) { } public override object Parse(string value) { @@ -101,9 +99,9 @@ namespace MCGalaxy.Config { } string Truncate(string value) { - if (MaxLength > 0 && value.Length > MaxLength) { + if (value.Length > MaxLength) { value = value.Substring(0, MaxLength); - Logger.Log(LogType.Warning, "Config key \"{0}\" is not a valid color, truncating to {1}", Name, value); + Logger.Log(LogType.Warning, "Config key \"{0}\" is too long, truncating to {1}", Name, value); } return value; } @@ -111,8 +109,8 @@ namespace MCGalaxy.Config { public sealed class ConfigStringListAttribute : ConfigAttribute { - public ConfigStringListAttribute(string name, string section, string desc) - : base(name, section, desc, new List()) { + public ConfigStringListAttribute(string name, string section) + : base(name, section, new List()) { } public override object Parse(string value) { diff --git a/MCGalaxy/Games/CTF/CtfConfig2.cs b/MCGalaxy/Games/CTF/CtfConfig2.cs index 95418cfe6..189536a82 100644 --- a/MCGalaxy/Games/CTF/CtfConfig2.cs +++ b/MCGalaxy/Games/CTF/CtfConfig2.cs @@ -24,52 +24,52 @@ namespace MCGalaxy.Games { public sealed class CTFConfig { - [ConfigInt("base.red.x", null, null, 0)] + [ConfigInt("base.red.x", null, 0)] public int RedFlagX; - [ConfigInt("base.red.y", null, null, 0)] + [ConfigInt("base.red.y", null, 0)] public int RedFlagY; - [ConfigInt("base.red.z", null, null, 0)] + [ConfigInt("base.red.z", null, 0)] public int RedFlagZ; - [ConfigByte("base.red.block", null, null, 0)] + [ConfigByte("base.red.block", null, 0)] public byte RedFlagBlock; - [ConfigInt("base.blue.x", null, null, 0)] + [ConfigInt("base.blue.x", null, 0)] public int BlueFlagX; - [ConfigInt("base.blue.y", null, null, 0)] + [ConfigInt("base.blue.y", null, 0)] public int BlueFlagY; - [ConfigInt("base.blue.z", null, null, 0)] + [ConfigInt("base.blue.z", null, 0)] public int BlueFlagZ; - [ConfigByte("base.blue.block", null, null, 0)] + [ConfigByte("base.blue.block", null, 0)] public byte BlueFlagBlock; - [ConfigInt("base.red.spawnx", null, null, 0)] + [ConfigInt("base.red.spawnx", null, 0)] public int RedSpawnX; - [ConfigInt("base.red.spawny", null, null, 0)] + [ConfigInt("base.red.spawny", null, 0)] public int RedSpawnY; - [ConfigInt("base.red.spawnz", null, null, 0)] + [ConfigInt("base.red.spawnz", null, 0)] public int RedSpawnZ; - [ConfigInt("base.blue.spawnx", null, null, 0)] + [ConfigInt("base.blue.spawnx", null, 0)] public int BlueSpawnX; - [ConfigInt("base.blue.spawny", null, null, 0)] + [ConfigInt("base.blue.spawny", null, 0)] public int BlueSpawnY; - [ConfigInt("base.blue.spawnz", null, null, 0)] + [ConfigInt("base.blue.spawnz", null, 0)] public int BlueSpawnZ; - [ConfigBool("auto.setup", null, null, false)] + [ConfigBool("auto.setup", null, false)] public bool NeedSetup; - [ConfigInt("map.line.z", null, null, 0)] + [ConfigInt("map.line.z", null, 0)] public int ZLine; - [ConfigInt("game.maxpoints", null, null, 0)] + [ConfigInt("game.maxpoints", null, 0)] public int MaxPoints; - [ConfigInt("game.tag.points-gain", null, null, 0)] + [ConfigInt("game.tag.points-gain", null, 0)] public int Tag_PointsGained; - [ConfigInt("game.tag.points-lose", null, null, 0)] + [ConfigInt("game.tag.points-lose", null, 0)] public int Tag_PointsLost; - [ConfigInt("game.capture.points-gain", null, null, 0)] + [ConfigInt("game.capture.points-gain", null, 0)] public int Capture_PointsGained; - [ConfigInt("game.capture.points-lose", null, null, 0)] + [ConfigInt("game.capture.points-lose", null, 0)] public int Capture_PointsLost; } } diff --git a/MCGalaxy/Games/ZombieSurvival/ZombieGame.Props.cs b/MCGalaxy/Games/ZombieSurvival/ZombieGame.Props.cs index 6172b633f..e23d2fbe3 100644 --- a/MCGalaxy/Games/ZombieSurvival/ZombieGame.Props.cs +++ b/MCGalaxy/Games/ZombieSurvival/ZombieGame.Props.cs @@ -101,89 +101,89 @@ namespace MCGalaxy.Games { public static class ZombieGameProps { /// How precise collision detection is between alive and dead players. (Where 1 block = 32 units) - [ConfigInt("zombie-hitbox-precision", "Zombie", null, 32)] + [ConfigInt("zombie-hitbox-precision", "Zombie", 32)] public static int HitboxPrecision = 32; /// The maximum distance a player is allowed to move between movement packets. - [ConfigInt("zombie-maxmove-distance", "Zombie", null, 50)] + [ConfigInt("zombie-maxmove-distance", "Zombie", 50)] public static int MaxMoveDistance = 50; /// Whether the server's main level should be set to the current level at the end of each round. - [ConfigBool("zombie-survival-only-server", "Zombie", null, false)] + [ConfigBool("zombie-survival-only-server", "Zombie", false)] public static bool SetMainLevel; /// Whether zombie survival should start upon server startup. - [ConfigBool("zombie-on-server-start", "Zombie", null, false)] + [ConfigBool("zombie-on-server-start", "Zombie", false)] public static bool StartImmediately; /// Whether changes made during a round of zombie survival should be permanently saved. - [ConfigBool("zombie-save-blockchanges", "Zombie", null, false)] + [ConfigBool("zombie-save-blockchanges", "Zombie", false)] public static bool SaveLevelBlockchanges; /// Whether maps with '+' in their name are ignored when choosing levels for the next round. - [ConfigBool("zombie-ignore-personalworlds", "Zombie", null, true)] + [ConfigBool("zombie-ignore-personalworlds", "Zombie", true)] public static bool IgnorePersonalWorlds = true; /// Whether the current level name should be shown in the heartbeats sent. - [ConfigBool("zombie-map-inheartbeat", "Zombie", null, false)] + [ConfigBool("zombie-map-inheartbeat", "Zombie", false)] public static bool IncludeMapInHeartbeat = false; - [ConfigBool("no-respawning-during-zombie", "Zombie", null, true)] + [ConfigBool("no-respawning-during-zombie", "Zombie", true)] public static bool NoRespawn = true; - [ConfigBool("no-pillaring-during-zombie", "Zombie", null, true)] + [ConfigBool("no-pillaring-during-zombie", "Zombie", true)] public static bool NoPillaring = true; - [ConfigString("zombie-name-while-infected", "Zombie", null, "", true)] + [ConfigString("zombie-name-while-infected", "Zombie", "", true)] public static string ZombieName = ""; - [ConfigString("zombie-model-while-infected", "Zombie", null, "zombie")] + [ConfigString("zombie-model-while-infected", "Zombie", "zombie")] public static string ZombieModel = "zombie"; - [ConfigInt("zombie-invisibility-duration", "Zombie", null, 7, 1)] + [ConfigInt("zombie-invisibility-duration", "Zombie", 7, 1)] public static int InvisibilityDuration = 7; - [ConfigInt("zombie-invisibility-potions", "Zombie", null, 7, 1)] + [ConfigInt("zombie-invisibility-potions", "Zombie", 7, 1)] public static int InvisibilityPotions = 7; - [ConfigInt("zombie-zinvisibility-duration", "Zombie", null, 5, 1)] + [ConfigInt("zombie-zinvisibility-duration", "Zombie", 5, 1)] public static int ZombieInvisibilityDuration = 5; - [ConfigInt("zombie-zinvisibility-potions", "Zombie", null, 4, 1)] + [ConfigInt("zombie-zinvisibility-potions", "Zombie", 4, 1)] public static int ZombieInvisibilityPotions = 4; - [ConfigBool("enable-changing-levels", "Zombie", null, true)] + [ConfigBool("enable-changing-levels", "Zombie", true)] public static bool ChangeLevels = true; - [ConfigString("revive-notime-msg", "Revive", null, + [ConfigString("revive-notime-msg", "Revive", "It's too late. The humans do not have enough time left to make more revive potions.")] public static string ReviveNoTimeMessage = "It's too late. The humans do not have enough time left to produce more revive potions."; - [ConfigInt("revive-no-time", "Revive", null, 120, 0)] + [ConfigInt("revive-no-time", "Revive", 120, 0)] public static int ReviveNoTime = 120; - [ConfigString("revive-fewzombies-msg", "Revive", null, + [ConfigString("revive-fewzombies-msg", "Revive", "There aren't enough zombies for it to be worthwhile to produce revive potions.")] public static string ReviveFewZombiesMessage = "There aren't enough zombies for it to be worthwhile to produce revive potions."; - [ConfigInt("revive-fewzombies", "Revive", null, 3, 0)] + [ConfigInt("revive-fewzombies", "Revive", 3, 0)] public static int ReviveFewZombies = 3; - [ConfigInt("revive-tooslow", "Revive", null, 60, 0)] + [ConfigInt("revive-tooslow", "Revive", 60, 0)] public static int ReviveTooSlow = 60; - [ConfigInt("revive-chance", "Revive", null, 80, 0, 100)] + [ConfigInt("revive-chance", "Revive", 80, 0, 100)] public static int ReviveChance = 80; - [ConfigInt("revive-times", "Revive", null, 1, 0)] + [ConfigInt("revive-times", "Revive", 1, 0)] public static int ReviveTimes = 1; - [ConfigString("revive-success", "Revive", null, "used a revive potion. &aIt was super effective!")] + [ConfigString("revive-success", "Revive", "used a revive potion. &aIt was super effective!")] public static string ReviveSuccessMessage = "used a revive potion. &aIt was super effective!"; - [ConfigString("revive-failure", "Revive", null, "tried using a revive potion. &cIt was not very effective..")] + [ConfigString("revive-failure", "Revive", "tried using a revive potion. &cIt was not very effective..")] public static string ReviveFailureMessage = "tried using a revive potion. &cIt was not very effective.."; /// List of levels that are randomly picked for zombie survival. /// If this left blank, then all level files are picked from instead. - [ConfigStringList("zombie-levels-list", "Zombie", null)] + [ConfigStringList("zombie-levels-list", "Zombie")] public static List LevelList = new List(); /// List of levels that are never picked for zombie survival. - [ConfigStringList("zombie-ignores-list", "Zombie", null)] + [ConfigStringList("zombie-ignores-list", "Zombie")] public static List IgnoredLevelList = new List(); public static void SaveSettings() { diff --git a/MCGalaxy/Levels/LevelConfig.cs b/MCGalaxy/Levels/LevelConfig.cs index 3be54f7fa..bc2123d87 100644 --- a/MCGalaxy/Levels/LevelConfig.cs +++ b/MCGalaxy/Levels/LevelConfig.cs @@ -24,171 +24,171 @@ using MCGalaxy.Games; namespace MCGalaxy { public sealed class LevelConfig { - [ConfigString("MOTD", "General", null, "ignore", true, null, 128)] + [ConfigString("MOTD", "General", "ignore", true, null, 128)] public string MOTD = "ignore"; - [ConfigBool("LoadOnGoto", "General", null, true)] + [ConfigBool("LoadOnGoto", "General", true)] public bool LoadOnGoto = true; - [ConfigString("Theme", "General", null, "Normal", true)] + [ConfigString("Theme", "General", "Normal", true)] public string Theme = "Normal"; - [ConfigBool("Unload", "General", null, true)] + [ConfigBool("Unload", "General", true)] public bool AutoUnload = true; /// true if this map may see server-wide chat, false if this map has level-only/isolated chat - [ConfigBool("WorldChat", "General", null, true)] + [ConfigBool("WorldChat", "General", true)] public bool ServerWideChat = true; - [ConfigBool("UseBlockDB", "Other", null, true)] + [ConfigBool("UseBlockDB", "Other", true)] public bool UseBlockDB = true; - [ConfigInt("LoadDelay", "Other", null, 0, 0, 2000)] + [ConfigInt("LoadDelay", "Other", 0, 0, 2000)] public int LoadDelay = 0; public byte jailrotx, jailroty; - [ConfigInt("JailX", "Jail", null, 0, 0, 65535)] + [ConfigInt("JailX", "Jail", 0, 0, 65535)] public int JailX; - [ConfigInt("JailY", "Jail", null, 0, 0, 65535)] + [ConfigInt("JailY", "Jail", 0, 0, 65535)] public int JailY; - [ConfigInt("JailZ", "Jail", null, 0, 0, 65535)] + [ConfigInt("JailZ", "Jail", 0, 0, 65535)] public int JailZ; // Environment settings - [ConfigByte("Weather", "Env", null, 0, 0, 2)] + [ConfigByte("Weather", "Env", 0, 0, 2)] public byte Weather; - [ConfigString("Texture", "Env", null, "", true, null, NetUtils.StringSize)] + [ConfigString("Texture", "Env", "", true, null, NetUtils.StringSize)] public string Terrain = ""; - [ConfigString("TexturePack", "Env", null, "", true, null, NetUtils.StringSize)] + [ConfigString("TexturePack", "Env", "", true, null, NetUtils.StringSize)] public string TexturePack = ""; /// Color of the clouds (RGB packed into an int). Set to -1 to use client defaults. - [ConfigString("CloudColor", "Env", null, "", true)] + [ConfigString("CloudColor", "Env", "", true)] public string CloudColor = ""; /// Color of the fog (RGB packed into an int). Set to -1 to use client defaults. - [ConfigString("FogColor", "Env", null, "", true)] + [ConfigString("FogColor", "Env", "", true)] public string FogColor = ""; /// Color of the sky (RGB packed into an int). Set to -1 to use client defaults. - [ConfigString("SkyColor", "Env", null, "", true)] + [ConfigString("SkyColor", "Env", "", true)] public string SkyColor = ""; /// Color of the blocks in shadows (RGB packed into an int). Set to -1 to use client defaults. - [ConfigString("ShadowColor", "Env", null, "", true)] + [ConfigString("ShadowColor", "Env", "", true)] public string ShadowColor = ""; /// Color of the blocks in the light (RGB packed into an int). Set to -1 to use client defaults. - [ConfigString("LightColor", "Env", null, "", true)] + [ConfigString("LightColor", "Env", "", true)] public string LightColor = ""; /// Elevation of the "ocean" that surrounds maps. Default is map height / 2. - [ConfigInt("EdgeLevel", "Env", null, -1, short.MinValue, short.MaxValue)] + [ConfigInt("EdgeLevel", "Env", -1, short.MinValue, short.MaxValue)] public int EdgeLevel; /// Offset of the "bedrock" that surrounds map sides from edge level. Default is -2. - [ConfigInt("SidesOffset", "Env", null, -2, short.MinValue, short.MaxValue)] + [ConfigInt("SidesOffset", "Env", -2, short.MinValue, short.MaxValue)] public int SidesOffset = -2; /// Elevation of the clouds. Default is map height + 2. - [ConfigInt("CloudsHeight", "Env", null, -1, short.MinValue, short.MaxValue)] + [ConfigInt("CloudsHeight", "Env", -1, short.MinValue, short.MaxValue)] public int CloudsHeight; /// Max fog distance the client can see. Default is 0, means use client-side defined max fog distance. - [ConfigInt("MaxFog", "Env", null, 0, short.MinValue, short.MaxValue)] + [ConfigInt("MaxFog", "Env", 0, short.MinValue, short.MaxValue)] public int MaxFogDistance; /// Clouds speed, in units of 256ths. Default is 256 (1 speed). - [ConfigInt("clouds-speed", "Env", null, 256, short.MinValue, short.MaxValue)] + [ConfigInt("clouds-speed", "Env", 256, short.MinValue, short.MaxValue)] public int CloudsSpeed = 256; /// Weather speed, in units of 256ths. Default is 256 (1 speed). - [ConfigInt("weather-speed", "Env", null, 256, short.MinValue, short.MaxValue)] + [ConfigInt("weather-speed", "Env", 256, short.MinValue, short.MaxValue)] public int WeatherSpeed = 256; /// Weather fade, in units of 256ths. Default is 256 (1 speed). - [ConfigInt("weather-fade", "Env", null, 128, short.MinValue, short.MaxValue)] + [ConfigInt("weather-fade", "Env", 128, short.MinValue, short.MaxValue)] public int WeatherFade = 128; /// The block which will be displayed on the horizon. - [ConfigByte("HorizonBlock", "Env", null, Block.water)] + [ConfigByte("HorizonBlock", "Env", Block.water)] public byte HorizonBlock = Block.water; /// The block which will be displayed on the edge of the map. - [ConfigByte("EdgeBlock", "Env", null, Block.blackrock)] + [ConfigByte("EdgeBlock", "Env", Block.blackrock)] public byte EdgeBlock = Block.blackrock; /// Whether exponential fog mode is used client-side. - [ConfigBool("ExpFog", "Env", null, false)] + [ConfigBool("ExpFog", "Env", false)] public bool ExpFog; // Permission settings - [ConfigString("RealmOwner", "Permissions", null, "", true)] + [ConfigString("RealmOwner", "Permissions", "", true)] public string RealmOwner = ""; - [ConfigBool("Buildable", "Permissions", null, true)] + [ConfigBool("Buildable", "Permissions", true)] public bool Buildable = true; - [ConfigBool("Deletable", "Permissions", null, true)] + [ConfigBool("Deletable", "Permissions", true)] public bool Deletable = true; - [ConfigPerm("PerVisit", "Permissions", null, LevelPermission.Guest)] + [ConfigPerm("PerVisit", "Permissions", LevelPermission.Guest)] public LevelPermission VisitMin = LevelPermission.Guest; - [ConfigPerm("PerVisitMax", "Permissions", null, LevelPermission.Nobody)] + [ConfigPerm("PerVisitMax", "Permissions", LevelPermission.Nobody)] public LevelPermission VisitMax = LevelPermission.Nobody; - [ConfigPerm("PerBuild", "Permissions", null, LevelPermission.Guest)] + [ConfigPerm("PerBuild", "Permissions", LevelPermission.Guest)] public LevelPermission BuildMin = LevelPermission.Guest; - [ConfigPerm("PerBuildMax", "Permissions", null, LevelPermission.Nobody)] + [ConfigPerm("PerBuildMax", "Permissions", LevelPermission.Nobody)] public LevelPermission BuildMax = LevelPermission.Nobody; // Other blacklists/whitelists - [ConfigStringList("VisitWhitelist", "Permissions", null)] + [ConfigStringList("VisitWhitelist", "Permissions")] public List VisitWhitelist = new List(); - [ConfigStringList("VisitBlacklist", "Permissions", null)] + [ConfigStringList("VisitBlacklist", "Permissions")] public List VisitBlacklist = new List(); - [ConfigStringList("BuildWhitelist", "Permissions", null)] + [ConfigStringList("BuildWhitelist", "Permissions")] public List BuildWhitelist = new List(); - [ConfigStringList("BuildBlacklist", "Permissions", null)] + [ConfigStringList("BuildBlacklist", "Permissions")] public List BuildBlacklist = new List(); // Physics settings - [ConfigInt("Physics", "Physics", null, 0, 0, 5)] + [ConfigInt("Physics", "Physics", 0, 0, 5)] public int Physics; - [ConfigInt("Physics overload", "Physics", null, 250)] + [ConfigInt("Physics overload", "Physics", 250)] public int PhysicsOverload = 1500; - [ConfigInt("Physics speed", "Physics", null, 250)] + [ConfigInt("Physics speed", "Physics", 250)] public int PhysicsSpeed = 250; - [ConfigBool("RandomFlow", "Physics", null, true)] + [ConfigBool("RandomFlow", "Physics", true)] public bool RandomFlow = true; - [ConfigBool("LeafDecay", "Physics", null, false)] + [ConfigBool("LeafDecay", "Physics", false)] public bool LeafDecay; - [ConfigBool("Finite mode", "Physics", null, false)] + [ConfigBool("Finite mode", "Physics", false)] public bool FiniteLiquids; - [ConfigBool("GrowTrees", "Physics", null, false)] + [ConfigBool("GrowTrees", "Physics", false)] public bool GrowTrees; - [ConfigBool("Animal AI", "Physics", null, true)] + [ConfigBool("Animal AI", "Physics", true)] public bool AnimalHuntAI = true; - [ConfigBool("GrassGrowth", "Physics", null, true)] + [ConfigBool("GrassGrowth", "Physics", true)] public bool GrassGrow = true; - [ConfigString("TreeType", "Physics", null, "fern", false)] + [ConfigString("TreeType", "Physics", "fern", false)] public string TreeType = "fern"; // Survival settings - [ConfigInt("Drown", "Survival", null, 70)] + [ConfigInt("Drown", "Survival", 70)] public int DrownTime = 70; - [ConfigBool("Edge water", "Survival", null, true)] + [ConfigBool("Edge water", "Survival", true)] public bool EdgeWater; - [ConfigInt("Fall", "Survival", null, 9)] + [ConfigInt("Fall", "Survival", 9)] public int FallHeight = 9; - [ConfigBool("Guns", "Survival", null, false)] + [ConfigBool("Guns", "Survival", false)] public bool Guns = false; - [ConfigBool("Survival death", "Survival", null, false)] + [ConfigBool("Survival death", "Survival", false)] public bool SurvivalDeath; - [ConfigBool("Killer blocks", "Survival", null, true)] + [ConfigBool("Killer blocks", "Survival", true)] public bool KillerBlocks = true; // Games settings - [ConfigInt("Likes", "Game", null, 0)] + [ConfigInt("Likes", "Game", 0)] public int Likes; - [ConfigInt("Dislikes", "Game", null, 0)] + [ConfigInt("Dislikes", "Game", 0)] public int Dislikes; - [ConfigString("Authors", "Game", null, "", true)] + [ConfigString("Authors", "Game", "", true)] public string Authors = ""; - [ConfigBool("Pillaring", "Game", null, false)] + [ConfigBool("Pillaring", "Game", false)] public bool Pillaring = !ZombieGameProps.NoPillaring; - [ConfigEnum("BuildType", "Game", null, BuildType.Normal, typeof(BuildType))] + [ConfigEnum("BuildType", "Game", BuildType.Normal, typeof(BuildType))] public BuildType BuildType = BuildType.Normal; - [ConfigInt("MinRoundTime", "Game", null, 4)] + [ConfigInt("MinRoundTime", "Game", 4)] public int MinRoundTime = 4; - [ConfigInt("MaxRoundTime", "Game", null, 7)] + [ConfigInt("MaxRoundTime", "Game", 7)] public int MaxRoundTime = 7; - [ConfigBool("DrawingAllowed", "Game", null, true)] + [ConfigBool("DrawingAllowed", "Game", true)] public bool DrawingAllowed = true; - [ConfigInt("RoundsPlayed", "Game", null, 0)] + [ConfigInt("RoundsPlayed", "Game", 0)] public int RoundsPlayed = 0; - [ConfigInt("RoundsHumanWon", "Game", null, 0)] + [ConfigInt("RoundsHumanWon", "Game", 0)] public int RoundsHumanWon = 0; diff --git a/MCGalaxy/Server/ServerConfig.cs b/MCGalaxy/Server/ServerConfig.cs index eeee97213..a8b7e3dce 100644 --- a/MCGalaxy/Server/ServerConfig.cs +++ b/MCGalaxy/Server/ServerConfig.cs @@ -24,261 +24,261 @@ namespace MCGalaxy { public static class ServerConfig { const string asciiChars = " !\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~"; - [ConfigString("server-name", "General", null, "[MCGalaxy] Default", false, asciiChars, 64)] + [ConfigString("server-name", "General", "[MCGalaxy] Default", false, asciiChars, 64)] public static string Name = "[MCGalaxy] Default"; - [ConfigString("motd", "General", null, "Welcome", false, asciiChars, 128)] + [ConfigString("motd", "General", "Welcome", false, asciiChars, 128)] public static string MOTD = "Welcome!"; - [ConfigInt("max-players", "Server", null, 12, 1, 128)] + [ConfigInt("max-players", "Server", 12, 1, 128)] public static int MaxPlayers = 12; - [ConfigInt("max-guests", "Server", null, 10, 1, 128)] + [ConfigInt("max-guests", "Server", 10, 1, 128)] public static int MaxGuests = 10; - [ConfigString("listen-ip", "Server", null, "0.0.0.0")] + [ConfigString("listen-ip", "Server", "0.0.0.0")] public static string ListenIP = "0.0.0.0"; - [ConfigInt("port", "Server", null, 25565, 0, 65535)] + [ConfigInt("port", "Server", 25565, 0, 65535)] public static int Port = 25565; - [ConfigBool("public", "Server", null, true)] + [ConfigBool("public", "Server", true)] public static bool Public = true; - [ConfigBool("verify-names", "Server", null, true)] + [ConfigBool("verify-names", "Server", true)] public static bool VerifyNames = true; - [ConfigBool("autoload", "Server", null, true)] + [ConfigBool("autoload", "Server", true)] public static bool AutoLoadMaps = true; /// true if maps sees server-wide chat, false if maps have level-only/isolated chat - [ConfigBool("world-chat", "Server", null, true)] + [ConfigBool("world-chat", "Server", true)] public static bool ServerWideChat = true; - [ConfigString("main-name", "General", null, "main", false, "._+")] + [ConfigString("main-name", "General", "main", false, "._+")] public static string MainLevel = "main"; - [ConfigString("xjail-map-name", "Other", null, "(main)", false, "()._+")] + [ConfigString("xjail-map-name", "Other", "(main)", false, "()._+")] public static string XJailLevel = "(main)"; - [ConfigString("default-texture-url", "General", null, "", true, null, NetUtils.StringSize)] + [ConfigString("default-texture-url", "General", "", true, null, NetUtils.StringSize)] public static string DefaultTerrain = ""; - [ConfigString("default-texture-pack-url", "General", null, "", true, null, NetUtils.StringSize)] + [ConfigString("default-texture-pack-url", "General", "", true, null, NetUtils.StringSize)] public static string DefaultTexture = ""; - [ConfigBool("report-back", "Error handling", null, true)] + [ConfigBool("report-back", "Error handling", true)] public static bool reportBack = true; - [ConfigBool("core-secret-commands", "Other", null, true)] + [ConfigBool("core-secret-commands", "Other", true)] public static bool CoreSecretCommands = true; - [ConfigBool("restart-on-error", "Error handling", null, true)] + [ConfigBool("restart-on-error", "Error handling", true)] public static bool restartOnError = true; - [ConfigBool("software-staff-prefixes", "Other", null, true)] + [ConfigBool("software-staff-prefixes", "Other", true)] public static bool SoftwareStaffPrefixes = true; - [ConfigInt("position-interval", "Server", null, 100, 20, 2000)] + [ConfigInt("position-interval", "Server", 100, 20, 2000)] public static int PositionUpdateInterval = 100; - [ConfigBool("classicube-account-plus", "Server", null, true)] + [ConfigBool("classicube-account-plus", "Server", true)] public static bool ClassicubeAccountPlus = true; - [ConfigBool("agree-to-rules-on-entry", "Other", null, false)] + [ConfigBool("agree-to-rules-on-entry", "Other", false)] public static bool AgreeToRulesOnEntry = false; - [ConfigBool("admins-join-silent", "Other", null, false)] + [ConfigBool("admins-join-silent", "Other", false)] public static bool AdminsJoinSilently = false; - [ConfigBool("check-updates", "Update", null, false)] + [ConfigBool("check-updates", "Update", false)] public static bool CheckForUpdates = true; - [ConfigBool("auto-update", "Update", null, false)] + [ConfigBool("auto-update", "Update", false)] public static bool AutoUpdate; - [ConfigBool("in-game-update-notify", "Server", null, false)] + [ConfigBool("in-game-update-notify", "Server", false)] public static bool NotifyUpdating; - [ConfigInt("update-countdown", "Update", null, 10)] + [ConfigInt("update-countdown", "Update", 10)] public static int UpdateRestartDelay = 10; - [ConfigBool("auto-restart", "Server", null, false)] + [ConfigBool("auto-restart", "Server", false)] public static bool AutoRestart; - [ConfigDateTime("restarttime", "Server", null)] + [ConfigDateTime("restarttime", "Server")] public static DateTime RestartTime; - [ConfigInt("rplimit", "Other", null, 500, 0, 50000)] + [ConfigInt("rplimit", "Other", 500, 0, 50000)] public static int PhysicsRestartLimit = 500; - [ConfigInt("rplimit-norm", "Other", null, 10000, 0, 50000)] + [ConfigInt("rplimit-norm", "Other", 10000, 0, 50000)] public static int PhysicsRestartNormLimit = 10000; - [ConfigBool("physicsrestart", "Other", null, true)] + [ConfigBool("physicsrestart", "Other", true)] public static bool PhysicsRestart = true; - [ConfigInt("physics-undo-max", "Other", null, 20000)] + [ConfigInt("physics-undo-max", "Other", 20000)] public static int PhysicsUndo = 20000; - [ConfigInt("backup-time", "Backup", null, 300, 1)] + [ConfigInt("backup-time", "Backup", 300, 1)] public static int BackupInterval = 300; public static int BlockDBSaveInterval = 60; - [ConfigString("backup-location", "Backup", null, "")] + [ConfigString("backup-location", "Backup", "")] public static string BackupDirectory = Path.Combine(Utils.FolderPath, "levels/backups"); - [ConfigInt("afk-minutes", "Other", null, 10)] + [ConfigInt("afk-minutes", "Other", 10)] public static int AutoAfkMins = 10; - [ConfigInt("afk-kick", "Other", null, 45)] + [ConfigInt("afk-kick", "Other", 45)] public static int AfkKickMins = 45; - [ConfigPerm("afk-kick-perm", "Other", null, LevelPermission.AdvBuilder)] + [ConfigPerm("afk-kick-perm", "Other", LevelPermission.AdvBuilder)] public static LevelPermission AfkKickRank = LevelPermission.AdvBuilder; - [ConfigString("default-rank", "General", null, "guest")] + [ConfigString("default-rank", "General", "guest")] public static string DefaultRankName = "guest"; - [ConfigInt("map-gen-limit-admin", "Other", null, 225 * 1000 * 1000)] + [ConfigInt("map-gen-limit-admin", "Other", 225 * 1000 * 1000)] public static int MapGenLimitAdmin = 225 * 1000 * 1000; - [ConfigInt("map-gen-limit", "Other", null, 30 * 1000 * 1000)] + [ConfigInt("map-gen-limit", "Other", 30 * 1000 * 1000)] public static int MapGenLimit = 30 * 1000 * 1000; - [ConfigBool("deathcount", "Other", null, true)] + [ConfigBool("deathcount", "Other", true)] public static bool AnnounceDeathCount = true; - [ConfigBool("use-whitelist", "Other", null, false)] + [ConfigBool("use-whitelist", "Other", false)] public static bool WhitelistedOnly = false; - [ConfigBool("force-cuboid", "Other", null, false)] + [ConfigBool("force-cuboid", "Other", false)] public static bool forceCuboid = false; - [ConfigBool("repeat-messages", "Other", null, false)] + [ConfigBool("repeat-messages", "Other", false)] public static bool RepeatMBs = false; public static bool unsafe_plugin = true; - [ConfigString("money-name", "Other", null, "moneys")] + [ConfigString("money-name", "Other", "moneys")] public static string Currency = "moneys"; - [ConfigBool("log-heartbeat", "Other", null, false)] + [ConfigBool("log-heartbeat", "Other", false)] public static bool LogHeartbeat = false; - [ConfigString("server-owner", "Other", null, "Notch")] + [ConfigString("server-owner", "Other", "Notch")] public static string OwnerName = "Notch"; - [ConfigBool("guest-limit-notify", "Other", null, false)] + [ConfigBool("guest-limit-notify", "Other", false)] public static bool GuestLimitNotify = false; - [ConfigBool("guest-join-notify", "Other", null, true)] + [ConfigBool("guest-join-notify", "Other", true)] public static bool GuestJoinsNotify = true; - [ConfigBool("guest-leave-notify", "Other", null, true)] + [ConfigBool("guest-leave-notify", "Other", true)] public static bool GuestLeavesNotify = true; - [ConfigBool("kick-on-hackrank", "Other", null, true)] + [ConfigBool("kick-on-hackrank", "Other", true)] public static bool HackrankKicks = true; - [ConfigInt("hackrank-kick-time", "Other", null, 5)] + [ConfigInt("hackrank-kick-time", "Other", 5)] public static int HackrankKickDelay = 5; // seconds - [ConfigBool("show-empty-ranks", "Other", null, false)] + [ConfigBool("show-empty-ranks", "Other", false)] public static bool ListEmptyRanks = false; - [ConfigInt("review-cooldown", "Review", null, 600, 0, 600)] + [ConfigInt("review-cooldown", "Review", 600, 0, 600)] public static int ReviewCooldown = 600; - [ConfigInt("draw-reload-limit", "Other", null, 10000)] + [ConfigInt("draw-reload-limit", "Other", 10000)] public static int DrawReloadLimit = 10000; - [ConfigBool("allow-tp-to-higher-ranks", "Other", null, true)] + [ConfigBool("allow-tp-to-higher-ranks", "Other", true)] public static bool HigherRankTP = true; - [ConfigPerm("os-perbuild-default", "Other", null, LevelPermission.Nobody)] + [ConfigPerm("os-perbuild-default", "Other", LevelPermission.Nobody)] public static LevelPermission OSPerbuildDefault = LevelPermission.Nobody; - [ConfigBool("irc", "IRC bot", null, false)] + [ConfigBool("irc", "IRC bot", false)] public static bool UseIRC = false; - [ConfigInt("irc-port", "IRC bot", null, 6667, 0, 65535)] + [ConfigInt("irc-port", "IRC bot", 6667, 0, 65535)] public static int IRCPort = 6667; - [ConfigString("irc-server", "IRC bot", null, "irc.esper.net")] + [ConfigString("irc-server", "IRC bot", "irc.esper.net")] public static string IRCServer = "irc.esper.net"; - [ConfigString("irc-nick", "IRC bot", null, "ForgeBot")] + [ConfigString("irc-nick", "IRC bot", "ForgeBot")] public static string IRCNick = "ForgeBot"; - [ConfigString("irc-channel", "IRC bot", null, "#changethis", true)] + [ConfigString("irc-channel", "IRC bot", "#changethis", true)] public static string IRCChannels = "#changethis"; - [ConfigString("irc-opchannel", "IRC bot", null, "#changethistoo", true)] + [ConfigString("irc-opchannel", "IRC bot", "#changethistoo", true)] public static string IRCOpChannels = "#changethistoo"; - [ConfigBool("irc-identify", "IRC bot", null, false)] + [ConfigBool("irc-identify", "IRC bot", false)] public static bool IRCIdentify = false; - [ConfigString("irc-password", "IRC bot", null, "", true)] + [ConfigString("irc-password", "IRC bot", "", true)] public static string IRCPassword = ""; - [ConfigBool("UseMySQL", "Database", null, false)] + [ConfigBool("UseMySQL", "Database", false)] public static bool UseMySQL = false; - [ConfigString("host", "Database", null, "127.0.0.1")] + [ConfigString("host", "Database", "127.0.0.1")] public static string MySQLHost = "127.0.0.1"; - [ConfigString("SQLPort", "Database", null, "3306", false, "0123456789")] + [ConfigString("SQLPort", "Database", "3306", false, "0123456789")] public static string MySQLPort = "3306"; - [ConfigString("Username", "Database", null, "root", true)] + [ConfigString("Username", "Database", "root", true)] public static string MySQLUsername = "root"; - [ConfigString("Password", "Database", null, "password", true)] + [ConfigString("Password", "Database", "password", true)] public static string MySQLPassword = "password"; - [ConfigString("DatabaseName", "Database", null, "MCZallDB")] + [ConfigString("DatabaseName", "Database", "MCZallDB")] public static string MySQLDatabaseName = "MCZallDB"; - [ConfigBool("Pooling", "Database", null, true)] + [ConfigBool("Pooling", "Database", true)] public static bool DatabasePooling = true; - [ConfigBool("irc-player-titles", "IRC bot", null, true)] + [ConfigBool("irc-player-titles", "IRC bot", true)] public static bool IRCShowPlayerTitles = true; - [ConfigBool("irc-show-world-changes", "IRC bot", null, false)] + [ConfigBool("irc-show-world-changes", "IRC bot", false)] public static bool IRCShowWorldChanges = false; - [ConfigBool("irc-show-afk", "IRC bot", null, false)] + [ConfigBool("irc-show-afk", "IRC bot", false)] public static bool IRCShowAFK = false; - [ConfigString("irc-command-prefix", "IRC bot", null, ".x", true)] + [ConfigString("irc-command-prefix", "IRC bot", ".x", true)] public static string IRCCommandPrefix = ".x"; - [ConfigEnum("irc-controller-verify", "IRC bot", null, IRCControllerVerify.HalfOp, typeof(IRCControllerVerify))] + [ConfigEnum("irc-controller-verify", "IRC bot", IRCControllerVerify.HalfOp, typeof(IRCControllerVerify))] public static IRCControllerVerify IRCVerify = IRCControllerVerify.HalfOp; - [ConfigPerm("irc-controller-rank", "IRC bot", null, LevelPermission.Nobody)] + [ConfigPerm("irc-controller-rank", "IRC bot", LevelPermission.Nobody)] public static LevelPermission IRCControllerRank = LevelPermission.Nobody; - [ConfigBool("tablist-rank-sorted", "Tablist", null, true)] + [ConfigBool("tablist-rank-sorted", "Tablist", true)] public static bool TablistRankSorted = true; - [ConfigBool("tablist-global", "Tablist", null, false)] + [ConfigBool("tablist-global", "Tablist", false)] public static bool TablistGlobal = true; - [ConfigBool("tablist-bots", "Tablist", null, false)] + [ConfigBool("tablist-bots", "Tablist", false)] public static bool TablistBots = false; - [ConfigBool("parse-emotes", "Other", null, true)] + [ConfigBool("parse-emotes", "Other", true)] public static bool ParseEmotes = true; - [ConfigBool("dollar-before-dollar", "Other", null, true)] + [ConfigBool("dollar-before-dollar", "Other", true)] public static bool DollarBeforeNamesToken = true; - [ConfigStringList("disabledstandardtokens", "Other", null)] + [ConfigStringList("disabledstandardtokens", "Other")] internal static List DisabledChatTokens = new List(); - [ConfigBool("profanity-filter", "Other", null, false)] + [ConfigBool("profanity-filter", "Other", false)] public static bool ProfanityFiltering = false; - [ConfigString("host-state", "Other", null, "Alive")] + [ConfigString("host-state", "Other", "Alive")] public static string ConsoleName = "Alive"; - [ConfigColor("defaultColor", "Colors", null, "&e")] + [ConfigColor("defaultColor", "Colors", "&e")] public static string DefaultColor = "&e"; - [ConfigColor("irc-color", "Colors", null, "&5")] + [ConfigColor("irc-color", "Colors", "&5")] public static string IRCColour = "&5"; - [ConfigColor("global-chat-color", "Colors", null, "&6")] + [ConfigColor("global-chat-color", "Colors", "&6")] public static string GlobalChatColor = "&6"; - [ConfigColor("help-syntax-color", "Colors", null, "&a")] + [ConfigColor("help-syntax-color", "Colors", "&a")] public static string HelpSyntaxColor = "&a"; - [ConfigColor("help-desc-color", "Colors", null, "&e")] + [ConfigColor("help-desc-color", "Colors", "&e")] public static string HelpDescriptionColor = "&e"; - [ConfigBool("cheapmessage", "Other", null, true)] + [ConfigBool("cheapmessage", "Other", true)] public static bool ShowInvincibleMessage = true; - [ConfigString("cheap-message-given", "Messages", null, " is now invincible")] + [ConfigString("cheap-message-given", "Messages", " is now invincible")] public static string InvincibleMessage = " is now invincible"; - [ConfigString("custom-ban-message", "Messages", null, "You're banned!")] + [ConfigString("custom-ban-message", "Messages", "You're banned!")] public static string DefaultBanMessage = "You're banned!"; - [ConfigString("custom-shutdown-message", "Messages", null, "Server shutdown. Rejoin in 10 seconds.")] + [ConfigString("custom-shutdown-message", "Messages", "Server shutdown. Rejoin in 10 seconds.")] public static string DefaultShutdownMessage = "Server shutdown. Rejoin in 10 seconds."; - [ConfigString("custom-promote-message", "Messages", null, "&6Congratulations for working hard and getting &2PROMOTED!")] + [ConfigString("custom-promote-message", "Messages", "&6Congratulations for working hard and getting &2PROMOTED!")] public static string DefaultPromoteMessage = "&6Congratulations for working hard and getting &2PROMOTED!"; - [ConfigString("custom-demote-message", "Messages", null, "&4DEMOTED! &6We're sorry for your loss. Good luck on your future endeavors! &1:'(")] + [ConfigString("custom-demote-message", "Messages", "&4DEMOTED! &6We're sorry for your loss. Good luck on your future endeavors! &1:'(")] public static string DefaultDemoteMessage = "&4DEMOTED! &6We're sorry for your loss. Good luck on your future endeavors! &1:'("; - [ConfigBool("log-notes", "Other", null, true)] + [ConfigBool("log-notes", "Other", true)] public static bool LogNotes = true; - [ConfigBool("admin-verification", "Admin", null, true)] + [ConfigBool("admin-verification", "Admin", true)] public static bool verifyadmins = true; - [ConfigPerm("verify-admin-perm", "Admin", null, LevelPermission.Operator)] + [ConfigPerm("verify-admin-perm", "Admin", LevelPermission.Operator)] public static LevelPermission VerifyAdminsRank = LevelPermission.Operator; - [ConfigBool("mute-on-spam", "Spam control", null, false)] + [ConfigBool("mute-on-spam", "Spam control", false)] public static bool ChatSpamCheck = false; - [ConfigInt("spam-messages", "Spam control", null, 8, 0, 1000)] + [ConfigInt("spam-messages", "Spam control", 8, 0, 1000)] public static int ChatSpamCount = 8; - [ConfigInt("spam-mute-time", "Spam control", null, 60, 0, 1000)] + [ConfigInt("spam-mute-time", "Spam control", 60, 0, 1000)] public static int ChatSpamMuteTime = 60; - [ConfigInt("spam-counter-reset-time", "Spam control", null, 5, 0, 1000)] + [ConfigInt("spam-counter-reset-time", "Spam control", 5, 0, 1000)] public static int ChatSpamInterval = 5; - [ConfigBool("cmd-spam-check", "Spam control", null, true)] + [ConfigBool("cmd-spam-check", "Spam control", true)] public static bool CmdSpamCheck = true; - [ConfigInt("cmd-spam-count", "Spam control", null, 25, 0, 1000)] + [ConfigInt("cmd-spam-count", "Spam control", 25, 0, 1000)] public static int CmdSpamCount = 25; - [ConfigInt("cmd-spam-block-time", "Spam control", null, 30, 0, 1000)] + [ConfigInt("cmd-spam-block-time", "Spam control", 30, 0, 1000)] public static int CmdSpamBlockTime = 30; - [ConfigInt("cmd-spam-interval", "Spam control", null, 1, 0, 1000)] + [ConfigInt("cmd-spam-interval", "Spam control", 1, 0, 1000)] public static int CmdSpamInterval = 1; - [ConfigBool("block-spam-check", "Spam control", null, true)] + [ConfigBool("block-spam-check", "Spam control", true)] public static bool BlockSpamCheck = true; - [ConfigInt("block-spam-count", "Spam control", null, 200, 0, 1000)] + [ConfigInt("block-spam-count", "Spam control", 200, 0, 1000)] public static int BlockSpamCount = 200; - [ConfigInt("block-spam-interval", "Spam control", null, 5, 0, 1000)] + [ConfigInt("block-spam-interval", "Spam control", 5, 0, 1000)] public static int BlockSpamInterval = 5; - [ConfigBool("ip-spam-check", "Spam control", null, true)] + [ConfigBool("ip-spam-check", "Spam control", true)] public static bool IPSpamCheck = true; - [ConfigInt("ip-spam-count", "Spam control", null, 25, 0, 1000)] + [ConfigInt("ip-spam-count", "Spam control", 25, 0, 1000)] public static int IPSpamCount = 10; - [ConfigInt("ip-spam-block-time", "Spam control", null, 30, 0, 1000)] + [ConfigInt("ip-spam-block-time", "Spam control", 30, 0, 1000)] public static int IPSpamBlockTime = 180; - [ConfigInt("ip-spam-interval", "Spam control", null, 1, 0, 1000)] + [ConfigInt("ip-spam-interval", "Spam control", 1, 0, 1000)] public static int IPSpamInterval = 60; } } \ No newline at end of file