mirror of
https://github.com/ClassiCube/MCGalaxy.git
synced 2025-09-22 03:55:18 -04:00
Fix last commit.
This commit is contained in:
parent
362112697b
commit
cca3e10b8c
@ -25,12 +25,12 @@ namespace MCGalaxy.Commands.World {
|
||||
public override bool museumUsable { get { return false; } }
|
||||
public override LevelPermission defaultRank { get { return LevelPermission.Operator; } }
|
||||
|
||||
protected Level GetArgs(Player p, string[] args, out Group grp) {
|
||||
protected Level GetArgs(Player p, string[] args, ref Group grp) {
|
||||
if (args.Length == 1 && Player.IsSuper(p)) {
|
||||
SuperRequiresArgs(p, "level"); return null;
|
||||
}
|
||||
Level level = args.Length == 1 ? p.level : LevelInfo.FindMatches(p, args[0]);
|
||||
if (level == null) return;
|
||||
if (level == null) return null;
|
||||
|
||||
string rank = args.Length == 1 ? args[0] : args[1];
|
||||
grp = Group.FindMatches(p, rank);
|
||||
|
@ -27,7 +27,7 @@ namespace MCGalaxy.Commands.World {
|
||||
if (args.Length < 1 || args.Length > 2) { Help(p); return; }
|
||||
|
||||
Group grp = null;
|
||||
Level lvl = GetArgs(p, args, out grp);
|
||||
Level lvl = GetArgs(p, args, ref grp);
|
||||
if (lvl != null) lvl.BuildAccess.SetMax(p, grp);
|
||||
}
|
||||
|
||||
@ -45,7 +45,7 @@ namespace MCGalaxy.Commands.World {
|
||||
if (args.Length < 1 || args.Length > 2) { Help(p); return; }
|
||||
|
||||
Group grp = null;
|
||||
Level lvl = GetArgs(p, args, out grp);
|
||||
Level lvl = GetArgs(p, args, ref grp);
|
||||
if (lvl != null) lvl.BuildAccess.SetMin(p, grp);
|
||||
}
|
||||
|
||||
@ -63,7 +63,7 @@ namespace MCGalaxy.Commands.World {
|
||||
if (args.Length < 1 || args.Length > 2) { Help(p); return; }
|
||||
|
||||
Group grp = null;
|
||||
Level lvl = GetArgs(p, args, out grp);
|
||||
Level lvl = GetArgs(p, args, ref grp);
|
||||
if (lvl != null) lvl.VisitAccess.SetMax(p, grp);
|
||||
}
|
||||
|
||||
@ -87,7 +87,7 @@ namespace MCGalaxy.Commands.World {
|
||||
}
|
||||
|
||||
Group grp = null;
|
||||
Level lvl = GetArgs(p, args, out grp);
|
||||
Level lvl = GetArgs(p, args, ref grp);
|
||||
if (lvl != null) lvl.VisitAccess.SetMin(p, grp);
|
||||
}
|
||||
|
||||
|
@ -106,7 +106,8 @@ namespace MCGalaxy {
|
||||
/// had insufficient permission to change the minimum rank. </returns>
|
||||
public bool SetMin(Player p, Group grp) {
|
||||
string target = IsVisit ? "pervisit" : "perbuild";
|
||||
if (!CheckRank(p, grp, target)) return false;
|
||||
if (!CheckRank(p, Min, target, false)) return false;
|
||||
if (!CheckRank(p, grp.Permission, target, true)) return false;
|
||||
Min = grp.Permission;
|
||||
|
||||
UpdateAllowBuild();
|
||||
@ -119,7 +120,9 @@ namespace MCGalaxy {
|
||||
/// had insufficient permission to change the minimum rank. </returns>
|
||||
public bool SetMax(Player p, Group grp) {
|
||||
string target = IsVisit ? "pervisitmax" : "perbuildmax";
|
||||
if (grp.Permission != LevelPermission.Nobody && !CheckRank(p, grp, target)) return false;
|
||||
const LevelPermission ignore = LevelPermission.Nobody;
|
||||
if (Max != ignore && !CheckRank(p, Max, target, false)) return false;
|
||||
if (grp.Permission != ignore && !CheckRank(p, grp.Permission, target, true)) return false;
|
||||
Max = grp.Permission;
|
||||
|
||||
UpdateAllowBuild();
|
||||
@ -128,13 +131,10 @@ namespace MCGalaxy {
|
||||
}
|
||||
|
||||
|
||||
bool CheckRank(Player p, Group grp, string target) {
|
||||
if (p != null && Min > p.Rank) {
|
||||
Player.Message(p, "You cannot change the {0} of a level with a {0} higher than your rank.", target);
|
||||
return false;
|
||||
}
|
||||
if (p != null && grp.Permission > p.Rank) {
|
||||
Player.Message(p, "You cannot change the {0} of a level to a {0} higher than your rank.", target);
|
||||
bool CheckRank(Player p, LevelPermission perm, string target, bool newPerm) {
|
||||
if (p != null && perm > p.Rank) {
|
||||
Player.Message(p, "You cannot change the {0} of a level {1} a {0} higher than your rank.",
|
||||
target, newPerm ? "to" : "with");
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
Loading…
x
Reference in New Issue
Block a user