Redo some permissions

Split up tshock.world.causeevents & tshock.world.editspawn and moved
/maxspawns and /spawnrate to the npc node.
This commit is contained in:
MarioE 2013-10-15 18:23:06 -04:00
parent a3a85957f6
commit ea83ff1bda
4 changed files with 47 additions and 26 deletions

View file

@ -332,7 +332,11 @@ namespace TShockAPI
{ {
HelpText = "Kills hostile NPCs or NPCs of a certain type." HelpText = "Kills hostile NPCs or NPCs of a certain type."
}); });
add(new Command(Permissions.cfgmaxspawns, MaxSpawns, "maxspawns") add(new Command(Permissions.invade, Invade, "invade")
{
HelpText = "Starts an NPC invasion."
});
add(new Command(Permissions.maxspawns, MaxSpawns, "maxspawns")
{ {
HelpText = "Sets the maximum number of NPCs." HelpText = "Sets the maximum number of NPCs."
}); });
@ -346,7 +350,7 @@ namespace TShockAPI
AllowServer = false, AllowServer = false,
HelpText = "Spawns a number of mobs around you." HelpText = "Spawns a number of mobs around you."
}); });
add(new Command(Permissions.cfgspawnrate, SpawnRate, "spawnrate") add(new Command(Permissions.spawnrate, SpawnRate, "spawnrate")
{ {
HelpText = "Sets the spawn rate of NPCs." HelpText = "Sets the spawn rate of NPCs."
}); });
@ -379,11 +383,11 @@ namespace TShockAPI
}); });
#endregion #endregion
#region World Commands #region World Commands
add(new Command(Permissions.editspawn, ToggleAntiBuild, "antibuild") add(new Command(Permissions.antibuild, ToggleAntiBuild, "antibuild")
{ {
HelpText = "Toggles build protection." HelpText = "Toggles build protection."
}); });
add(new Command(Permissions.causeevents, Bloodmoon, "bloodmoon") add(new Command(Permissions.bloodmoon, Bloodmoon, "bloodmoon")
{ {
HelpText = "Sets a blood moon." HelpText = "Sets a blood moon."
}); });
@ -392,11 +396,11 @@ namespace TShockAPI
AllowServer = false, AllowServer = false,
HelpText = "Grows plants at your location." HelpText = "Grows plants at your location."
}); });
add(new Command(Permissions.causeevents, DropMeteor, "dropmeteor") add(new Command(Permissions.dropmeteor, DropMeteor, "dropmeteor")
{ {
HelpText = "Drops a meteor somewhere in the world." HelpText = "Drops a meteor somewhere in the world."
}); });
add(new Command(Permissions.causeevents, Eclipse, "eclipse") add(new Command(Permissions.eclipse, Eclipse, "eclipse")
{ {
HelpText = "Sets an eclipse." HelpText = "Sets an eclipse."
}); });
@ -404,7 +408,7 @@ namespace TShockAPI
{ {
HelpText = "Toggles christmas mode (present spawning, santa, etc)." HelpText = "Toggles christmas mode (present spawning, santa, etc)."
}); });
add(new Command(Permissions.causeevents, Fullmoon, "fullmoon") add(new Command(Permissions.fullmoon, Fullmoon, "fullmoon")
{ {
HelpText = "Sets a full moon." HelpText = "Sets a full moon."
}); });
@ -412,15 +416,11 @@ namespace TShockAPI
{ {
HelpText = "Toggles the world's hardmode status." HelpText = "Toggles the world's hardmode status."
}); });
add(new Command(Permissions.causeevents, Invade, "invade")
{
HelpText = "Starts an NPC invasion."
});
add(new Command(Permissions.editspawn, ProtectSpawn, "protectspawn") add(new Command(Permissions.editspawn, ProtectSpawn, "protectspawn")
{ {
HelpText = "Toggles spawn protection." HelpText = "Toggles spawn protection."
}); });
add(new Command(Permissions.causeevents, Rain, "rain") add(new Command(Permissions.rain, Rain, "rain")
{ {
HelpText = "Toggles the rain." HelpText = "Toggles the rain."
}); });

View file

@ -64,7 +64,7 @@ namespace TShockAPI.DB
string.Join(",", Permissions.kick, Permissions.editspawn, Permissions.reservedslot)); string.Join(",", Permissions.kick, Permissions.editspawn, Permissions.reservedslot));
AddDefaultGroup("admin", "newadmin", AddDefaultGroup("admin", "newadmin",
string.Join(",", Permissions.ban, Permissions.whitelist, Permissions.causeevents, Permissions.spawnboss, string.Join(",", Permissions.ban, Permissions.whitelist, "tshock.world.time.*", Permissions.spawnboss,
Permissions.spawnmob, Permissions.managewarp, Permissions.time, Permissions.tp, Permissions.slap, Permissions.spawnmob, Permissions.managewarp, Permissions.time, Permissions.tp, Permissions.slap,
Permissions.kill, Permissions.logs, Permissions.kill, Permissions.logs,
Permissions.immunetokick, Permissions.tphere)); Permissions.immunetokick, Permissions.tphere));

View file

@ -40,6 +40,9 @@ namespace TShockAPI
// tshock.admin nodes // tshock.admin nodes
[Description("User can set build protection status.")]
public static readonly string antibuild = "tshock.admin.antibuild";
[Description("Prevents you from being kicked.")] [Description("Prevents you from being kicked.")]
public static readonly string immunetokick = "tshock.admin.nokick"; public static readonly string immunetokick = "tshock.admin.nokick";
@ -107,12 +110,6 @@ namespace TShockAPI
[Description("User can reload the configurations file.")] [Description("User can reload the configurations file.")]
public static readonly string cfgreload = "tshock.cfg.reload"; public static readonly string cfgreload = "tshock.cfg.reload";
[Description("User can edit the max spawns.")]
public static readonly string cfgmaxspawns = "tshock.cfg.maxspawns";
[Description("User can edit the spawnrate.")]
public static readonly string cfgspawnrate = "tshock.cfg.spawnrate";
[Description("User can download updates to plugins that are currently running.")] [Description("User can download updates to plugins that are currently running.")]
public static readonly string updateplugins = "tshock.cfg.updateplugins"; public static readonly string updateplugins = "tshock.cfg.updateplugins";
@ -158,6 +155,15 @@ namespace TShockAPI
// tshock.npc nodes // tshock.npc nodes
[Description("User can edit the max spawns.")]
public static readonly string maxspawns = "tshock.npc.maxspawns";
[Description("User can edit the spawnrate.")]
public static readonly string spawnrate = "tshock.npc.spawnrate";
[Description("User can start an invasion.")]
public static readonly string invade = "tshock.npc.invade";
[Description("User can spawn bosses.")] [Description("User can spawn bosses.")]
public static readonly string spawnboss = "tshock.npc.spawnboss"; public static readonly string spawnboss = "tshock.npc.spawnboss";
@ -209,8 +215,14 @@ namespace TShockAPI
[Description("Allows you to edit the spawn.")] [Description("Allows you to edit the spawn.")]
public static readonly string editspawn = "tshock.world.editspawn"; public static readonly string editspawn = "tshock.world.editspawn";
[Description("Allows you to edit regions.")]
public static readonly string editregion = "tshock.world.editregion";
[Description("User can force a blood moon.")]
public static readonly string bloodmoon = "tshock.world.time.bloodmoon";
[Description("User can set the time.")] [Description("User can set the time.")]
public static readonly string time = "tshock.world.settime"; public static readonly string time = "tshock.world.time.set";
[Description("User can grow plants.")] [Description("User can grow plants.")]
public static readonly string grow = "tshock.world.grow"; public static readonly string grow = "tshock.world.grow";
@ -239,8 +251,14 @@ namespace TShockAPI
[Description("User can set the world spawn.")] [Description("User can set the world spawn.")]
public static readonly string worldspawn = "tshock.world.setspawn"; public static readonly string worldspawn = "tshock.world.setspawn";
[Description("User can cause some events.")] [Description("User can drop a meteor.")]
public static readonly string causeevents = "tshock.world.causeevents"; public static readonly string dropmeteor = "tshock.world.time.dropmeteor";
[Description("User can force an eclipse.")]
public static readonly string eclipse = "tshock.world.time.eclipse";
[Description("User can force a full moon.")]
public static readonly string fullmoon = "tshock.world.time.fullmoon";
[Description("User can modify the world.")] [Description("User can modify the world.")]
public static readonly string canbuild = "tshock.world.modify"; public static readonly string canbuild = "tshock.world.modify";
@ -248,6 +266,9 @@ namespace TShockAPI
[Description("User can paint tiles.")] [Description("User can paint tiles.")]
public static readonly string canpaint = "tshock.world.paint"; public static readonly string canpaint = "tshock.world.paint";
[Description("User can turn on or off the rain.")]
public static readonly string rain = "tshock.world.rain";
// Non-grouped // Non-grouped
[Description("User can clear items or projectiles.")] [Description("User can clear items or projectiles.")]

View file

@ -1476,7 +1476,7 @@ namespace TShockAPI
return true; return true;
} }
if (!player.Group.HasPermission(Permissions.editspawn) && !Regions.CanBuild(tileX, tileY, player) && if (!player.Group.HasPermission(Permissions.editregion) && !Regions.CanBuild(tileX, tileY, player) &&
Regions.InArea(tileX, tileY)) Regions.InArea(tileX, tileY))
{ {
if (((DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond) - player.RPm) > 2000) if (((DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond) - player.RPm) > 2000)
@ -1489,7 +1489,7 @@ namespace TShockAPI
if (Config.DisableBuild) if (Config.DisableBuild)
{ {
if (!player.Group.HasPermission(Permissions.editspawn)) if (!player.Group.HasPermission(Permissions.antibuild))
{ {
if (((DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond) - player.WPm) > 2000) if (((DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond) - player.WPm) > 2000)
{ {
@ -1531,7 +1531,7 @@ namespace TShockAPI
return true; return true;
} }
if (!player.Group.HasPermission(Permissions.editspawn) && !Regions.CanBuild(tileX, tileY, player) && if (!player.Group.HasPermission(Permissions.editregion) && !Regions.CanBuild(tileX, tileY, player) &&
Regions.InArea(tileX, tileY)) Regions.InArea(tileX, tileY))
{ {
if (((DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond) - player.RPm) > 2000) if (((DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond) - player.RPm) > 2000)
@ -1544,7 +1544,7 @@ namespace TShockAPI
if (Config.DisableBuild) if (Config.DisableBuild)
{ {
if (!player.Group.HasPermission(Permissions.editspawn)) if (!player.Group.HasPermission(Permissions.antibuild))
{ {
if (((DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond) - player.WPm) > 2000) if (((DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond) - player.WPm) > 2000)
{ {