Permission magic strings removed

This commit is contained in:
high 2011-08-18 21:10:39 -04:00
parent fc03e72c77
commit b06ec57819
8 changed files with 243 additions and 89 deletions

View file

@ -110,75 +110,75 @@ namespace TShockAPI
public static void InitCommands()
{
//When adding new perm in here, add new perm to CommandList in DBEditor
ChatCommands.Add(new Command("kick", Kick, "kick"));
ChatCommands.Add(new Command("ban", Ban, "ban"));
ChatCommands.Add(new Command("ban", BanIP, "banip"));
ChatCommands.Add(new Command("unban", UnBan, "unban"));
ChatCommands.Add(new Command("unban", UnBanIP, "unbanip"));
ChatCommands.Add(new Command("maintenance", ClearBans, "clearbans"));
ChatCommands.Add(new Command("whitelist", Whitelist, "whitelist"));
ChatCommands.Add(new Command("maintenance", Off, "off"));
ChatCommands.Add(new Command("maintenance", OffNoSave, "off-nosave"));
ChatCommands.Add(new Command("maintenance", CheckUpdates, "checkupdates"));
ChatCommands.Add(new Command("causeevents", DropMeteor, "dropmeteor"));
ChatCommands.Add(new Command("causeevents", Star, "star"));
ChatCommands.Add(new Command("causeevents", Bloodmoon, "bloodmoon"));
ChatCommands.Add(new Command("causeevents", Invade, "invade"));
ChatCommands.Add(new Command("spawnboss", Eater, "eater"));
ChatCommands.Add(new Command("spawnboss", Eye, "eye"));
ChatCommands.Add(new Command("spawnboss", King, "king"));
ChatCommands.Add(new Command("spawnboss", Skeletron, "skeletron"));
ChatCommands.Add(new Command("spawnboss", Hardcore, "hardcore"));
ChatCommands.Add(new Command("spawnmob", SpawnMob, "spawnmob", "sm"));
ChatCommands.Add(new Command("tp", Home, "home"));
ChatCommands.Add(new Command("tp", Spawn, "spawn"));
ChatCommands.Add(new Command("tp", TP, "tp"));
ChatCommands.Add(new Command("tphere", TPHere, "tphere"));
ChatCommands.Add(new Command("warp", UseWarp, "warp"));
ChatCommands.Add(new Command("managewarp", SetWarp, "setwarp"));
ChatCommands.Add(new Command("managewarp", DeleteWarp, "delwarp"));
ChatCommands.Add(new Command("managewarp", HideWarp, "hidewarp"));
ChatCommands.Add(new Command("managegroup", AddGroup, "addgroup"));
ChatCommands.Add(new Command("managegroup", DeleteGroup, "delgroup"));
ChatCommands.Add(new Command("managegroup", ModifyGroup, "modgroup"));
ChatCommands.Add(new Command("manageitem", AddItem, "additem"));
ChatCommands.Add(new Command("manageitem", DeleteItem, "delitem"));
ChatCommands.Add(new Command("cfg", SetSpawn, "setspawn"));
ChatCommands.Add(new Command("cfg", Reload, "reload"));
ChatCommands.Add(new Command("cfg", ShowConfiguration, "showconfig"));
ChatCommands.Add(new Command("cfg", ServerPassword, "serverpassword"));
ChatCommands.Add(new Command("cfg", Save, "save"));
ChatCommands.Add(new Command("cfg", MaxSpawns, "maxspawns"));
ChatCommands.Add(new Command("cfg", SpawnRate, "spawnrate"));
ChatCommands.Add(new Command("time", Time, "time"));
ChatCommands.Add(new Command("pvpfun", Slap, "slap"));
ChatCommands.Add(new Command("editspawn", ToggleAntiBuild, "antibuild"));
ChatCommands.Add(new Command("editspawn", ProtectSpawn, "protectspawn"));
ChatCommands.Add(new Command("manageregion", Region, "region"));
ChatCommands.Add(new Command("editspawn", DebugRegions, "debugreg"));
ChatCommands.Add(new Command( Permissions.kick, Kick, "kick"));
ChatCommands.Add(new Command(Permissions.ban, Ban, "ban"));
ChatCommands.Add(new Command(Permissions.ban, BanIP, "banip"));
ChatCommands.Add(new Command(Permissions.ban, UnBan, "unban"));
ChatCommands.Add(new Command(Permissions.ban, UnBanIP, "unbanip"));
ChatCommands.Add(new Command(Permissions.maintenance, ClearBans, "clearbans"));
ChatCommands.Add(new Command(Permissions.whitelist, Whitelist, "whitelist"));
ChatCommands.Add(new Command(Permissions.maintenance, Off, "off"));
ChatCommands.Add(new Command(Permissions.maintenance, OffNoSave, "off-nosave"));
ChatCommands.Add(new Command(Permissions.maintenance, CheckUpdates, "checkupdates"));
ChatCommands.Add(new Command(Permissions.causeevents, DropMeteor, "dropmeteor"));
ChatCommands.Add(new Command(Permissions.causeevents, Star, "star"));
ChatCommands.Add(new Command(Permissions.causeevents, Bloodmoon, "bloodmoon"));
ChatCommands.Add(new Command(Permissions.causeevents, Invade, "invade"));
ChatCommands.Add(new Command(Permissions.spawnboss, Eater, "eater"));
ChatCommands.Add(new Command(Permissions.spawnboss, Eye, "eye"));
ChatCommands.Add(new Command(Permissions.spawnboss, King, "king"));
ChatCommands.Add(new Command(Permissions.spawnboss, Skeletron, "skeletron"));
ChatCommands.Add(new Command(Permissions.spawnboss, Hardcore, "hardcore"));
ChatCommands.Add(new Command(Permissions.spawnmob, SpawnMob, "spawnmob", "sm"));
ChatCommands.Add(new Command(Permissions.tp, Home, "home"));
ChatCommands.Add(new Command(Permissions.tp, Spawn, "spawn"));
ChatCommands.Add(new Command(Permissions.tp, TP, "tp"));
ChatCommands.Add(new Command(Permissions.tphere, TPHere, "tphere"));
ChatCommands.Add(new Command(Permissions.warp, UseWarp, "warp"));
ChatCommands.Add(new Command(Permissions.managewarp, SetWarp, "setwarp"));
ChatCommands.Add(new Command(Permissions.managewarp, DeleteWarp, "delwarp"));
ChatCommands.Add(new Command(Permissions.managewarp, HideWarp, "hidewarp"));
ChatCommands.Add(new Command(Permissions.managewarp, AddGroup, "addgroup"));
ChatCommands.Add(new Command(Permissions.managewarp, DeleteGroup, "delgroup"));
ChatCommands.Add(new Command(Permissions.managewarp, ModifyGroup, "modgroup"));
ChatCommands.Add(new Command(Permissions.manageitem, AddItem, "additem"));
ChatCommands.Add(new Command(Permissions.manageitem, DeleteItem, "delitem"));
ChatCommands.Add(new Command(Permissions.cfg, SetSpawn, "setspawn"));
ChatCommands.Add(new Command(Permissions.cfg, Reload, "reload"));
ChatCommands.Add(new Command(Permissions.cfg, ShowConfiguration, "showconfig"));
ChatCommands.Add(new Command(Permissions.cfg, ServerPassword, "serverpassword"));
ChatCommands.Add(new Command(Permissions.cfg, Save, "save"));
ChatCommands.Add(new Command(Permissions.cfg, MaxSpawns, "maxspawns"));
ChatCommands.Add(new Command(Permissions.cfg, SpawnRate, "spawnrate"));
ChatCommands.Add(new Command(Permissions.time, Time, "time"));
ChatCommands.Add(new Command(Permissions.pvpfun, Slap, "slap"));
ChatCommands.Add(new Command(Permissions.editspawn, ToggleAntiBuild, "antibuild"));
ChatCommands.Add(new Command(Permissions.editspawn, ProtectSpawn, "protectspawn"));
ChatCommands.Add(new Command(Permissions.manageregion, Region, "region"));
ChatCommands.Add(new Command(Permissions.editspawn, DebugRegions, "debugreg"));
ChatCommands.Add(new Command(Help, "help"));
ChatCommands.Add(new Command(Playing, "playing", "online", "who"));
ChatCommands.Add(new Command(AuthToken, "auth"));
ChatCommands.Add(new Command(ThirdPerson, "me"));
ChatCommands.Add(new Command(PartyChat, "p"));
ChatCommands.Add(new Command(Rules, "rules"));
ChatCommands.Add(new Command("logs", DisplayLogs, "displaylogs"));
ChatCommands.Add(new Command(Permissions.logs, DisplayLogs, "displaylogs"));
ChatCommands.Add(new Command(PasswordUser, "password") { DoLog = false });
ChatCommands.Add(new Command(RegisterUser, "register") { DoLog = false });
ChatCommands.Add(new Command("root-only", ManageUsers, "user") { DoLog = false });
ChatCommands.Add(new Command("root-only", GrabUserUserInfo, "userinfo", "ui"));
ChatCommands.Add(new Command("root-only", AuthVerify, "auth-verify"));
ChatCommands.Add(new Command(Permissions.rootonly, ManageUsers, "user") { DoLog = false });
ChatCommands.Add(new Command(Permissions.rootonly, GrabUserUserInfo, "userinfo", "ui"));
ChatCommands.Add(new Command(Permissions.rootonly, AuthVerify, "auth-verify"));
ChatCommands.Add(new Command(AttemptLogin, "login") { DoLog = false });
ChatCommands.Add(new Command("cfg", Broadcast, "broadcast", "bc"));
ChatCommands.Add(new Command("whisper", Whisper, "whisper", "w", "tell"));
ChatCommands.Add(new Command("whisper", Reply, "reply", "r"));
ChatCommands.Add(new Command("annoy", Annoy, "annoy"));
ChatCommands.Add(new Command("cfg", ConvertWaR, "convert"));
ChatCommands.Add(new Command("kill", Kill, "kill"));
ChatCommands.Add(new Command("butcher", Butcher, "butcher"));
ChatCommands.Add(new Command("item", Item, "item", "i"));
ChatCommands.Add(new Command("item", Give, "give"));
ChatCommands.Add(new Command("heal", Heal, "heal"));
ChatCommands.Add(new Command(Permissions.cfg, Broadcast, "broadcast", "bc"));
ChatCommands.Add(new Command(Permissions.whisper, Whisper, "whisper", "w", "tell"));
ChatCommands.Add(new Command(Permissions.whisper, Reply, "reply", "r"));
ChatCommands.Add(new Command(Permissions.annoy, Annoy, "annoy"));
ChatCommands.Add(new Command(Permissions.cfg, ConvertWaR, "convert"));
ChatCommands.Add(new Command(Permissions.kill, Kill, "kill"));
ChatCommands.Add(new Command(Permissions.butcher, Butcher, "butcher"));
ChatCommands.Add(new Command(Permissions.item, Item, "item", "i"));
ChatCommands.Add(new Command(Permissions.item, Give, "give"));
ChatCommands.Add(new Command(Permissions.heal, Heal, "heal"));
}
public static bool HandleCommand(TSPlayer player, string text)
@ -1627,7 +1627,7 @@ namespace TShockAPI
{
int.TryParse(args.Parameters[1], out damage);
}
if (!args.Player.Group.HasPermission("kill"))
if (!args.Player.Group.HasPermission(Permissions.kill))
{
damage = Tools.Clamp(damage, 15, 0);
}

View file

@ -316,7 +316,7 @@ namespace TShockAPI.DB
public bool CanBuild(int x, int y, TSPlayer ply)
{
if (!ply.Group.HasPermission("canbuild"))
if (!ply.Group.HasPermission(Permissions.canbuild))
{
return false;
}

View file

@ -150,7 +150,7 @@ namespace TShockAPI
{
string itemname = Encoding.ASCII.GetString(args.Data.ReadBytes(namelength));
if (!args.Player.Group.HasPermission("usebanneditem") && TShock.Itembans.ItemIsBanned(itemname))
if (!args.Player.Group.HasPermission(Permissions.usebanneditem) && TShock.Itembans.ItemIsBanned(itemname))
{
args.Player.Disconnect("Using banned item: " + itemname + ", remove it and rejoin");
}
@ -299,7 +299,7 @@ namespace TShockAPI
return true;
}
if (!args.Player.Group.HasPermission("canbuild"))
if (!args.Player.Group.HasPermission(Permissions.canbuild))
{
if (!args.Player.HasBeenSpammedWithBuildMessage)
{
@ -330,7 +330,7 @@ namespace TShockAPI
return Tools.HandleGriefer(args.Player, TShock.Config.RangeCheckBanReason);
}
}
if (tiletype == 48 && !args.Player.Group.HasPermission("canspike"))
if (tiletype == 48 && !args.Player.Group.HasPermission(Permissions.canspike))
{
args.Player.SendMessage("You do not have permission to place spikes.", Color.Red);
Tools.SendLogs(string.Format("{0} tried to place spikes", args.Player.Name), Color.Red);
@ -338,7 +338,7 @@ namespace TShockAPI
return true;
}
}
if (!args.Player.Group.HasPermission("editspawn") && !TShock.Regions.CanBuild(x, y, args.Player) && TShock.Regions.InArea(x, y))
if (!args.Player.Group.HasPermission(Permissions.editspawn) && !TShock.Regions.CanBuild(x, y, args.Player) && TShock.Regions.InArea(x, y))
{
if ((DateTime.UtcNow - args.Player.LastTileChangeNotify).TotalMilliseconds > 1000)
{
@ -350,7 +350,7 @@ namespace TShockAPI
}
if (TShock.Config.DisableBuild)
{
if (!args.Player.Group.HasPermission("editspawn"))
if (!args.Player.Group.HasPermission(Permissions.editspawn))
{
if ((DateTime.UtcNow - args.Player.LastTileChangeNotify).TotalMilliseconds > 1000)
{
@ -363,7 +363,7 @@ namespace TShockAPI
}
if (TShock.Config.SpawnProtection)
{
if (!args.Player.Group.HasPermission("editspawn"))
if (!args.Player.Group.HasPermission(Permissions.editspawn))
{
var flag = TShock.CheckSpawn(x, y);
if (flag)
@ -477,7 +477,7 @@ namespace TShockAPI
if (type == 29 || type == 28 || type == 37)
{
Log.Debug(string.Format("Explosive(PlyXY:{0}_{1}, Type:{2})", args.Player.TileX, args.Player.TileY, type));
if (TShock.Config.DisableExplosives && (!args.Player.Group.HasPermission("useexplosives") || !args.Player.Group.HasPermission("ignoregriefdetection")))
if (TShock.Config.DisableExplosives && (!args.Player.Group.HasPermission(Permissions.useexplosives) || !args.Player.Group.HasPermission(Permissions.ignoregriefdetection)))
{
Main.projectile[ident].type = 0;
args.Player.SendData(PacketTypes.ProjectileNew, "", ident);
@ -536,21 +536,21 @@ namespace TShockAPI
}
}
if (!args.Player.Group.HasPermission("canbuild"))
if (!args.Player.Group.HasPermission(Permissions.canbuild))
{
args.Player.SendMessage("You do not have permission to build!", Color.Red);
args.Player.SendTileSquare(x, y);
return true;
}
if (lava && !args.Player.Group.HasPermission("canlava"))
if (lava && !args.Player.Group.HasPermission(Permissions.canlava))
{
args.Player.SendMessage("You do not have permission to use lava", Color.Red);
Tools.SendLogs(string.Format("{0} tried using lava", args.Player.Name), Color.Red);
args.Player.SendTileSquare(x, y);
return true;
}
if (!lava && !args.Player.Group.HasPermission("canwater"))
if (!lava && !args.Player.Group.HasPermission(Permissions.canwater))
{
args.Player.SendMessage("You do not have permission to use water", Color.Red);
Tools.SendLogs(string.Format("{0} tried using water", args.Player.Name), Color.Red);
@ -574,7 +574,7 @@ namespace TShockAPI
if (TShock.Config.SpawnProtection)
{
if (!args.Player.Group.HasPermission("editspawn"))
if (!args.Player.Group.HasPermission(Permissions.editspawn))
{
var flag = TShock.CheckSpawn(x, y);
if (flag)
@ -602,13 +602,13 @@ namespace TShockAPI
Tools.ForceKick(args.Player, string.Format(TShock.Config.TileKillAbuseReason, Main.tile[tilex, tiley].type));
return true;
}
if (!args.Player.Group.HasPermission("canbuild"))
if (!args.Player.Group.HasPermission(Permissions.canbuild))
{
args.Player.SendMessage("You do not have permission to build!", Color.Red);
args.Player.SendTileSquare(tilex, tiley);
return true;
}
if (!args.Player.Group.HasPermission("editspawn") && !TShock.Regions.CanBuild(tilex, tiley, args.Player) && TShock.Regions.InArea(tilex, tiley))
if (!args.Player.Group.HasPermission(Permissions.editspawn) && !TShock.Regions.CanBuild(tilex, tiley, args.Player) && TShock.Regions.InArea(tilex, tiley))
{
args.Player.SendMessage("Region protected from changes.", Color.Red);
args.Player.SendTileSquare(tilex, tiley);
@ -616,7 +616,7 @@ namespace TShockAPI
}
if (TShock.Config.DisableBuild)
{
if (!args.Player.Group.HasPermission("editspawn"))
if (!args.Player.Group.HasPermission(Permissions.editspawn))
{
args.Player.SendMessage("World protected from changes.", Color.Red);
args.Player.SendTileSquare(tilex, tiley);
@ -625,7 +625,7 @@ namespace TShockAPI
}
if (TShock.Config.SpawnProtection)
{
if (!args.Player.Group.HasPermission("editspawn"))
if (!args.Player.Group.HasPermission(Permissions.editspawn))
{
var flag = TShock.CheckSpawn(tilex, tiley);
if (flag)

153
TShockAPI/Permissions.cs Normal file
View file

@ -0,0 +1,153 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
namespace TShockAPI
{
public static class Permissions
{
//Permissions with blank descriptions basically means its described by the commands it gives access to.
[Description("")]
public static readonly string causeevents;
[Description("Required to be able to build (modify tiles and liquid)")]
public static readonly string canbuild;
[Description("")]
public static readonly string kill;
[Description("Allows you to use banned items")]
public static readonly string usebanneditem;
[Description("Required to be able to place spikes")]
public static readonly string canspike;
[Description("Required to be able to place/pickup water")]
public static readonly string canwater;
[Description("Required to be able to place/pickup lava")]
public static readonly string canlava;
[Description("Allows you to edit the spawn")]
public static readonly string editspawn;
[Description("Prevents you from being kicked")]
public static readonly string immunetokick;
[Description("Prevents you from being banned")]
public static readonly string immunetoban;
[Description("Prevents you from being kicked/banned by TShocks grief detections")]
public static readonly string ignoregriefdetection;
[Description("Prevents you from being kicked/banned by TShocks cheat detections")]
public static readonly string ignorecheatdetection;
[Description("Allows you to use explosives even when they are disabled")]
public static readonly string useexplosives;
[Description("Specific log messages are sent to users with this permission")]
public static readonly string logs;
[Description("User gets the admin prefix/color in chat")]
public static readonly string adminchat;
[Todo]
[Description("Not currently working")]
public static readonly string reservedslot;
[Description("User is notified when an update is available")]
public static readonly string maintenance;
[Description("User can kick others")]
public static readonly string kick;
[Description("User can ban others")]
public static readonly string ban;
[Description("User can modify the whitelist")]
public static readonly string whitelist;
[Description("User can spawn bosses")]
public static readonly string spawnboss;
[Description("User can spawn npcs")]
public static readonly string spawnmob;
[Description("User can teleport")]
public static readonly string tp;
[Description("User can teleport people to them")]
public static readonly string tphere;
[Description("User can use warps")]
public static readonly string warp;
[Description("User can manage warps")]
public static readonly string managewarp;
[Description("User can manage item bans")]
public static readonly string manageitem;
[Description("User can edit sevrer configurations")]
public static readonly string cfg;
[Description("")]
public static readonly string time;
[Description("")]
public static readonly string pvpfun;
[Description("User can edit regions")]
public static readonly string manageregion;
[Description("Meant for super admins only")]
public static readonly string rootonly;
[Description("User can whisper to others")]
public static readonly string whisper;
[Description("")]
public static readonly string annoy;
[Description("User can kill all enemy npcs")]
public static readonly string butcher;
[Description("User can spawn items")]
public static readonly string item;
[Description("")]
public static readonly string heal;
static Permissions()
{
foreach (var field in typeof(Permissions).GetFields())
{
field.SetValue(null, field.Name);
}
}
}
[AttributeUsage(AttributeTargets.Field, Inherited = false, AllowMultiple = false)]
public sealed class TodoAttribute : Attribute
{
public string Info { get; private set; }
public TodoAttribute(string info)
{
Info = info;
}
public TodoAttribute()
{
}
}
}

View file

@ -400,7 +400,7 @@ namespace TShockAPI
player.Group = Users.GetGroupForIP(player.IP);
}
if (Tools.ActivePlayers() + 1 > Config.MaxSlots && !player.Group.HasPermission("reservedslot"))
if (Tools.ActivePlayers() + 1 > Config.MaxSlots && !player.Group.HasPermission(Permissions.reservedslot))
{
Tools.ForceKick(player, Config.ServerFullReason);
handler.Handled = true;
@ -466,7 +466,7 @@ namespace TShockAPI
return;
}
if (tsplr.Group.HasPermission("adminchat") && !text.StartsWith("/") && Config.AdminChatEnabled)
if (tsplr.Group.HasPermission(Permissions.adminchat) && !text.StartsWith("/") && Config.AdminChatEnabled)
{
Tools.Broadcast(Config.AdminChatPrefix + "<" + tsplr.Name + "> " + text,
tsplr.Group.R, tsplr.Group.G,
@ -579,7 +579,7 @@ namespace TShockAPI
// Stop accepting updates from player as this player is going to be kicked/banned during OnUpdate (different thread so can produce race conditions)
if ((Config.BanKillTileAbusers || Config.KickKillTileAbusers) &&
player.TileThreshold >= Config.TileThreshold && !player.Group.HasPermission("ignoregriefdetection"))
player.TileThreshold >= Config.TileThreshold && !player.Group.HasPermission(Permissions.ignoregriefdetection))
{
Log.Debug("Rejecting " + type + " from " + player.Name + " as this player is about to be kicked");
e.Handled = true;
@ -627,7 +627,7 @@ namespace TShockAPI
"PvP is forced! Enable PvP else you can't deal damage to other people. (People can kill you)",
Color.Red);
}
if (player.Group.HasPermission("causeevents") && Config.InfiniteInvasion)
if (player.Group.HasPermission(Permissions.causeevents) && Config.InfiniteInvasion)
{
StartInvasion();
}

View file

@ -118,6 +118,7 @@
<Compile Include="Net\WorldInfoMsg.cs" />
<Compile Include="DB\RegionManager.cs" />
<Compile Include="PacketBufferer.cs" />
<Compile Include="Permissions.cs" />
<Compile Include="RconHandler.cs" />
<Compile Include="DB\RememberPosManager.cs" />
<Compile Include="Resources.Designer.cs">
@ -181,7 +182,7 @@
</PropertyGroup>
<ProjectExtensions>
<VisualStudio>
<UserProperties BuildVersion_UpdateAssemblyVersion="True" BuildVersion_UpdateFileVersion="True" BuildVersion_BuildAction="Both" BuildVersion_BuildVersioningStyle="None.None.None.MonthAndDayStamp" BuildVersion_StartDate="2011/6/17" BuildVersion_IncrementBeforeBuild="False" />
<UserProperties BuildVersion_IncrementBeforeBuild="False" BuildVersion_StartDate="2011/6/17" BuildVersion_BuildVersioningStyle="None.None.None.MonthAndDayStamp" BuildVersion_BuildAction="Both" BuildVersion_UpdateFileVersion="True" BuildVersion_UpdateAssemblyVersion="True" />
</VisualStudio>
</ProjectExtensions>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.

View file

@ -146,7 +146,7 @@ namespace TShockAPI
TSPlayer.Server.SendMessage(log, color);
foreach (TSPlayer player in TShock.Players)
{
if (player != null && player.Active && player.Group.HasPermission("logs") && player.DisplayLogs && TShock.Config.DisableSpewLogs == false)
if (player != null && player.Active && player.Group.HasPermission(Permissions.logs) && player.DisplayLogs && TShock.Config.DisableSpewLogs == false)
player.SendMessage(log, color);
}
}
@ -344,7 +344,7 @@ namespace TShockAPI
{
if (!player.ConnectionAlive)
return true;
if (!player.Group.HasPermission("immunetokick"))
if (!player.Group.HasPermission(Permissions.immunetokick))
{
string playerName = player.Name;
player.Disconnect(string.Format("Kicked: {0}", reason));
@ -367,7 +367,7 @@ namespace TShockAPI
{
if (!player.ConnectionAlive)
return true;
if (!player.Group.HasPermission("immunetoban"))
if (!player.Group.HasPermission(Permissions.immunetoban))
{
string ip = player.IP;
string playerName = player.Name;
@ -390,17 +390,17 @@ namespace TShockAPI
public static bool HandleGriefer(TSPlayer player, string reason)
{
return HandleBadPlayer(player, "ignoregriefdetection", TShock.Config.BanGriefers, TShock.Config.KickGriefers, reason);
return HandleBadPlayer(player, Permissions.ignoregriefdetection, TShock.Config.BanGriefers, TShock.Config.KickGriefers, reason);
}
public static bool HandleTntUser(TSPlayer player, string reason)
{
return HandleBadPlayer(player, "ignoregriefdetection", TShock.Config.BanKillTileAbusers, TShock.Config.KickKillTileAbusers, reason);
return HandleBadPlayer(player, Permissions.ignoregriefdetection, TShock.Config.BanKillTileAbusers, TShock.Config.KickKillTileAbusers, reason);
}
public static bool HandleExplosivesUser(TSPlayer player, string reason)
{
return HandleBadPlayer(player, "ignoregriefdetection", TShock.Config.BanExplosives, TShock.Config.KickExplosives, reason);
return HandleBadPlayer(player, Permissions.ignoregriefdetection, TShock.Config.BanExplosives, TShock.Config.KickExplosives, reason);
}
private static bool HandleBadPlayer(TSPlayer player, string overridePermission, bool ban, bool kick, string reason)

View file

@ -83,7 +83,7 @@ namespace TShockAPI
NotifyAdministrator(TSPlayer.Server, changes);
foreach (TSPlayer player in TShock.Players)
{
if (player != null && player.Active && player.Group.HasPermission("maintenance"))
if (player != null && player.Active && player.Group.HasPermission(Permissions.maintenance))
{
NotifyAdministrator(player, changes);
}