Fix permissions for a few commands

This commit is contained in:
Goodlyay 2025-03-18 16:25:34 -07:00
parent 206c193da3
commit c5ba878e08
5 changed files with 20 additions and 12 deletions

View File

@ -28,7 +28,8 @@ namespace MCGalaxy.Commands.Chatting
public override string type { get { return CommandTypes.Chat; } }
public override LevelPermission defaultRank { get { return LevelPermission.AdvBuilder; } }
public override bool UseableWhenFrozen { get { return true; } }
public override bool MessageBlockRestricted { get { return true; } }
public override void Use(Player p, string message, CommandData data) {
if (message.Length == 0) { Help(p); return; }
if (!MessageCmd.CanSpeak(p, name)) return;

View File

@ -24,6 +24,7 @@ namespace MCGalaxy.Commands.Eco {
public override string name { get { return "Give"; } }
public override string shortcut { get { return "Gib"; } }
public override LevelPermission defaultRank { get { return LevelPermission.Admin; } }
public override bool MessageBlockRestricted { get { return true; } }
public override void Use(Player p, string message, CommandData data) {
EcoTransaction trans;

View File

@ -23,7 +23,7 @@ namespace MCGalaxy.Commands.Eco {
public sealed class CmdTake : MoneyCmd {
public override string name { get { return "Take"; } }
public override LevelPermission defaultRank { get { return LevelPermission.Admin; } }
public override bool MessageBlockRestricted { get { return true; } }
public override void Use(Player p, string message, CommandData data) {
EcoTransaction trans;
bool all = true;

View File

@ -281,22 +281,26 @@ namespace MCGalaxy.Commands.World {
opt == LevelOptions.Goto || opt == LevelOptions.Unload;
}
static void MapMoved(Player p, string message, string name, SubCommand.Behavior behaviour) {
static void MapMoved(Player p, string message, string name, SubCommand.Behavior behaviour, bool mapOnly = true) {
AnnounceRenamed(p, "map " + name, name);
if (mapOnly && !LevelInfo.IsRealmOwner(p.level, p.name)) {
p.Message("You may only use &T/{0} {1}&S after you join your map.", commandShortcut, name);
return;
}
behaviour(p, message);
}
static SubCommandGroup mapSubCommandGroup = new SubCommandGroup(commandShortcut + " map",
new List<SubCommand>() {
new SubCommand("Physics", (p, arg) => { MapMoved(p, arg, "physics", HandlePhysics); }),
new SubCommand("Add", (p, arg) => { MapMoved(p, arg, "add", HandleAdd); }, false, new string[] { "create", "new" } ),
new SubCommand("Delete", (p, arg) => { MapMoved(p, arg, "delete", HandleDelete); }, false, new string[] { "del", "remove" } ),
new SubCommand("Save", (p, arg) => { MapMoved(p, arg, "save", HandleSave); }),
new SubCommand("Restore", (p, arg) => { MapMoved(p, arg, "restore", HandleRestore); }),
new SubCommand("Resize", (p, arg) => { MapMoved(p, arg, "resize", HandleResize); }),
new SubCommand("PerVisit", (p, arg) => { MapMoved(p, arg, "pervisit", HandlePervisit); }),
new SubCommand("PerBuild", (p, arg) => { MapMoved(p, arg, "perbuild", HandlePerbuild); }),
new SubCommand("Texture", (p, arg) => { MapMoved(p, arg, "texture", HandleTexture); }, false, new string[] { "texturezip", "texturepack" } ),
new SubCommand("Physics", (p, arg) => { MapMoved(p, arg, "physics", HandlePhysics); }),
new SubCommand("Add", (p, arg) => { MapMoved(p, arg, "add", HandleAdd, false);}, false, new string[] { "create", "new" } ),
new SubCommand("Delete", (p, arg) => { MapMoved(p, arg, "delete", HandleDelete); }, false, new string[] { "del", "remove" } ),
new SubCommand("Save", (p, arg) => { MapMoved(p, arg, "save", HandleSave); }),
new SubCommand("Restore", (p, arg) => { MapMoved(p, arg, "restore", HandleRestore); }),
new SubCommand("Resize", (p, arg) => { MapMoved(p, arg, "resize", HandleResize); }),
new SubCommand("PerVisit", (p, arg) => { MapMoved(p, arg, "pervisit", HandlePervisit); }),
new SubCommand("PerBuild", (p, arg) => { MapMoved(p, arg, "perbuild", HandlePerbuild); }),
new SubCommand("Texture", (p, arg) => { MapMoved(p, arg, "texture", HandleTexture); }, false, new string[] { "texturezip", "texturepack" } ),
}
);

View File

@ -30,6 +30,8 @@ namespace MCGalaxy.Commands.Building {
public override CommandPerm[] ExtraPerms {
get { return new[] { new CommandPerm(LevelPermission.Operator, "can undo physics") }; }
}
public override bool MessageBlockRestricted { get { return true; } }
public override void Use(Player p, string message, CommandData data) {
if (message.Length == 0) { UndoLastDrawOp(p); return; }