mirror of
https://github.com/ClassiCube/MCGalaxy.git
synced 2025-09-08 14:48:47 -04:00
Few more commands can be used in museums, minor tidy-up in UI
This commit is contained in:
parent
be9b9d65b2
commit
a4427566ad
@ -119,7 +119,7 @@ namespace MCGalaxy.Gui.Popups {
|
||||
Popup.Warning("Command " + cmdName + " is not loaded."); return;
|
||||
}
|
||||
|
||||
lstCommands.Items.Remove( cmd.name );
|
||||
lstCommands.Items.Remove(cmd.name);
|
||||
Command.all.Remove(cmd);
|
||||
CommandPerms.Load();
|
||||
Popup.Message("Command successfully unloaded.");
|
||||
|
@ -87,7 +87,7 @@ namespace MCGalaxy.Gui {
|
||||
object selected = map_lbUnloaded.SelectedItem;
|
||||
if (selected == null) { Popup.Warning("No map file selected."); return; }
|
||||
|
||||
UIHelpers.HandleCommand("Load " +selected.ToString());
|
||||
UIHelpers.HandleCommand("Load " + selected.ToString());
|
||||
}
|
||||
|
||||
string last = null;
|
||||
@ -114,34 +114,27 @@ namespace MCGalaxy.Gui {
|
||||
}
|
||||
|
||||
void Map_UpdateUnloadedList() {
|
||||
string selectedLvl = null;
|
||||
if (map_lbUnloaded.SelectedItem != null)
|
||||
selectedLvl = map_lbUnloaded.SelectedItem.ToString();
|
||||
|
||||
object selected = map_lbUnloaded.SelectedItem;
|
||||
map_lbUnloaded.Items.Clear();
|
||||
|
||||
string[] allMaps = LevelInfo.AllMapNames();
|
||||
foreach (string map in allMaps) {
|
||||
if (LevelInfo.FindExact(map) == null)
|
||||
map_lbUnloaded.Items.Add(map);
|
||||
}
|
||||
|
||||
if (selectedLvl != null) {
|
||||
int index = map_lbUnloaded.Items.IndexOf(selectedLvl);
|
||||
map_lbUnloaded.SelectedIndex = index;
|
||||
} else {
|
||||
map_lbUnloaded.SelectedIndex = -1;
|
||||
int index = -1;
|
||||
if (selected != null) {
|
||||
index = map_lbUnloaded.Items.IndexOf(selected);
|
||||
}
|
||||
map_lbUnloaded.SelectedIndex = index;
|
||||
}
|
||||
|
||||
void Map_UpdateLoadedList() {
|
||||
Level[] loaded = LevelInfo.Loaded.Items;
|
||||
// Try to keep the same selection on update
|
||||
string selected = null;
|
||||
if (map_lbLoaded.SelectedItem != null) {
|
||||
selected = map_lbLoaded.SelectedItem.ToString();
|
||||
}
|
||||
|
||||
object selected = map_lbLoaded.SelectedItem;
|
||||
map_lbLoaded.Items.Clear();
|
||||
|
||||
Level[] loaded = LevelInfo.Loaded.Items;
|
||||
foreach (Level lvl in loaded) {
|
||||
map_lbLoaded.Items.Add(lvl.name);
|
||||
}
|
||||
@ -149,8 +142,7 @@ namespace MCGalaxy.Gui {
|
||||
int index = -1;
|
||||
if (selected != null) {
|
||||
index = map_lbLoaded.Items.IndexOf(selected);
|
||||
}
|
||||
|
||||
}
|
||||
map_lbLoaded.SelectedIndex = index;
|
||||
Map_UpdateSelected(null, null);
|
||||
}
|
||||
|
@ -22,7 +22,6 @@ namespace MCGalaxy.Commands.CPE {
|
||||
public override string name { get { return "ReachDistance"; } }
|
||||
public override string shortcut { get { return "Reach"; } }
|
||||
public override string type { get { return CommandTypes.Building; } }
|
||||
public override bool museumUsable { get { return false; } }
|
||||
public override LevelPermission defaultRank { get { return LevelPermission.AdvBuilder; } }
|
||||
public override bool SuperUseable { get { return false; } }
|
||||
|
||||
|
@ -23,7 +23,6 @@ namespace MCGalaxy.Commands.Chatting {
|
||||
public override string name { get { return "Vote"; } }
|
||||
public override string shortcut { get { return "vo"; } }
|
||||
public override string type { get { return CommandTypes.Chat; } }
|
||||
public override bool museumUsable { get { return false; } }
|
||||
public override LevelPermission defaultRank { get { return LevelPermission.Operator; } }
|
||||
|
||||
public override void Use(Player p, string message) {
|
||||
|
@ -29,7 +29,6 @@ namespace MCGalaxy.Commands.Info {
|
||||
public override string name { get { return "MapInfo"; } }
|
||||
public override string shortcut { get { return "mi"; } }
|
||||
public override string type { get { return CommandTypes.Information; } }
|
||||
public override bool museumUsable { get { return false; } }
|
||||
public override bool UseableWhenFrozen { get { return true; } }
|
||||
public override CommandAlias[] Aliases {
|
||||
get { return new[] { new CommandAlias("WInfo"), new CommandAlias("WorldInfo") }; }
|
||||
@ -74,13 +73,13 @@ namespace MCGalaxy.Commands.Info {
|
||||
Player.Message(p, " Physics are {0}%S, gun usage is {1}",
|
||||
physicsState, cfg.Guns ? "&aenabled" : "&cdisabled");
|
||||
|
||||
DateTime createTime = File.GetCreationTimeUtc(LevelInfo.MapPath(data.Name));
|
||||
DateTime createTime = File.GetCreationTimeUtc(LevelInfo.MapPath(data.MapName));
|
||||
TimeSpan createDelta = DateTime.UtcNow - createTime;
|
||||
string backupPath = LevelInfo.BackupBasePath(data.Name);
|
||||
string backupPath = LevelInfo.BackupBasePath(data.MapName);
|
||||
|
||||
if (Directory.Exists(backupPath)) {
|
||||
int latest = LevelInfo.LatestBackup(data.Name);
|
||||
DateTime backupTime = File.GetCreationTimeUtc(LevelInfo.BackupFilePath(data.Name, latest.ToString()));
|
||||
int latest = LevelInfo.LatestBackup(data.MapName);
|
||||
DateTime backupTime = File.GetCreationTimeUtc(LevelInfo.BackupFilePath(data.MapName, latest.ToString()));
|
||||
TimeSpan backupDelta = DateTime.UtcNow - backupTime;
|
||||
Player.Message(p, " Created {2} ago, last backup ({1} ago): &a{0}",
|
||||
latest, backupDelta.Shorten(), createDelta.Shorten());
|
||||
@ -97,7 +96,7 @@ namespace MCGalaxy.Commands.Info {
|
||||
}
|
||||
|
||||
ShowPermissions(p, data, cfg);
|
||||
Player.Message(p, "Use %T/mi env {0} %Sto see environment settings.", data.Name);
|
||||
Player.Message(p, "Use %T/mi env {0} %Sto see environment settings.", data.MapName);
|
||||
ShowZombieSurvival(p, data, cfg);
|
||||
}
|
||||
|
||||
@ -107,7 +106,7 @@ namespace MCGalaxy.Commands.Info {
|
||||
|
||||
string realmOwner = cfg.RealmOwner;
|
||||
if (String.IsNullOrEmpty(cfg.RealmOwner)) {
|
||||
realmOwner = DefaultRealmOwner(data.Name);
|
||||
realmOwner = DefaultRealmOwner(data.MapName);
|
||||
}
|
||||
if (String.IsNullOrEmpty(realmOwner)) return;
|
||||
|
||||
@ -123,7 +122,7 @@ namespace MCGalaxy.Commands.Info {
|
||||
}
|
||||
|
||||
void ShowZombieSurvival(Player p, MapInfoData data, LevelConfig cfg) {
|
||||
if (!Server.zombie.IsZombieMap(data.Name)) return;
|
||||
if (!Server.zombie.IsZombieMap(data.MapName)) return;
|
||||
|
||||
string[] authors = cfg.Authors.Replace(" ", "").Split(',');
|
||||
Player.Message(p, "Map authors: {0}",
|
||||
@ -193,13 +192,13 @@ namespace MCGalaxy.Commands.Info {
|
||||
|
||||
class MapInfoData {
|
||||
public ushort Width, Height, Length;
|
||||
public string Name;
|
||||
public string Name, MapName;
|
||||
public long BlockDBEntries = -1;
|
||||
public LevelAccessController Visit, Build;
|
||||
public LevelConfig Config;
|
||||
|
||||
public void FromOnlineLevel(Level lvl) {
|
||||
Name = lvl.name;
|
||||
Name = lvl.name; MapName = lvl.MapName;
|
||||
Width = lvl.Width; Height = lvl.Height; Length = lvl.Length;
|
||||
BlockDBEntries = lvl.BlockDB.TotalEntries();
|
||||
Config = lvl.Config;
|
||||
@ -209,7 +208,7 @@ namespace MCGalaxy.Commands.Info {
|
||||
}
|
||||
|
||||
public void FromOfflineLevel(string name) {
|
||||
this.Name = name;
|
||||
this.Name = name; MapName = name;
|
||||
string path = LevelInfo.MapPath(name);
|
||||
Vec3U16 dims = IMapImporter.Formats[0].ReadDimensions(path);
|
||||
Width = dims.X; Height = dims.Y; Length = dims.Z;
|
||||
|
@ -23,7 +23,6 @@ namespace MCGalaxy.Commands.Moderation {
|
||||
public sealed class CmdVoteKick : Command {
|
||||
public override string name { get { return "VoteKick"; } }
|
||||
public override string type { get { return CommandTypes.Moderation; } }
|
||||
public override bool museumUsable { get { return false; } }
|
||||
public override LevelPermission defaultRank { get { return LevelPermission.Operator; } }
|
||||
public override bool SuperUseable { get { return false; } }
|
||||
|
||||
|
@ -180,7 +180,6 @@ namespace MCGalaxy.Commands.Moderation {
|
||||
public override string name { get { return "ZoneTest"; } }
|
||||
public override string shortcut { get { return "ZTest"; } }
|
||||
public override string type { get { return CommandTypes.Moderation; } }
|
||||
public override bool museumUsable { get { return false; } }
|
||||
|
||||
public override void Use(Player p, string message) {
|
||||
Player.Message(p, "Place or delete a block where you would like to check for zones.");
|
||||
@ -216,7 +215,6 @@ namespace MCGalaxy.Commands.Moderation {
|
||||
public override string name { get { return "ZoneList"; } }
|
||||
public override string shortcut { get { return "Zones"; } }
|
||||
public override string type { get { return CommandTypes.Moderation; } }
|
||||
public override bool museumUsable { get { return false; } }
|
||||
public override bool UseableWhenFrozen { get { return true; } }
|
||||
|
||||
public override void Use(Player p, string message) {
|
||||
|
@ -28,8 +28,7 @@ namespace MCGalaxy.Commands.World {
|
||||
|
||||
public override void Use(Player p, string message) {
|
||||
string[] args = message.SplitSpaces();
|
||||
string path = args.Length == 1 ? LevelInfo.MapPath(args[0]) :
|
||||
LevelInfo.BackupFilePath(args[0], args[1]);
|
||||
string path = args.Length == 1 ? LevelInfo.MapPath(args[0]) : LevelInfo.BackupFilePath(args[0], args[1]);
|
||||
if (!File.Exists(path)) {
|
||||
Player.Message(p, "Level or backup could not be found."); return;
|
||||
}
|
||||
@ -69,11 +68,6 @@ namespace MCGalaxy.Commands.World {
|
||||
lvl.backedup = true;
|
||||
lvl.BuildAccess.Min = LevelPermission.Nobody;
|
||||
lvl.IsMuseum = true;
|
||||
|
||||
lvl.Config.JailX = lvl.spawnx * 32;
|
||||
lvl.Config.JailY = lvl.spawny * 32;
|
||||
lvl.Config.JailZ = lvl.spawnz * 32;
|
||||
lvl.Config.jailrotx = lvl.rotx; lvl.Config.jailroty = lvl.roty;
|
||||
}
|
||||
|
||||
public override void Help(Player p) {
|
||||
|
@ -21,7 +21,6 @@ namespace MCGalaxy.Commands.Building {
|
||||
public sealed class CmdBind : Command {
|
||||
public override string name { get { return "Bind"; } }
|
||||
public override string type { get { return CommandTypes.Building; } }
|
||||
public override bool museumUsable { get { return false; } }
|
||||
public override LevelPermission defaultRank { get { return LevelPermission.AdvBuilder; } }
|
||||
public override bool SuperUseable { get { return false; } }
|
||||
|
||||
|
@ -20,7 +20,6 @@ namespace MCGalaxy.Commands.Building {
|
||||
public override string name { get { return "Delete"; } }
|
||||
public override string shortcut { get { return "d"; } }
|
||||
public override string type { get { return CommandTypes.Building; } }
|
||||
public override bool museumUsable { get { return false; } }
|
||||
public override LevelPermission defaultRank { get { return LevelPermission.AdvBuilder; } }
|
||||
public override bool SuperUseable { get { return false; } }
|
||||
|
||||
|
@ -21,7 +21,6 @@ namespace MCGalaxy.Commands.Building {
|
||||
public sealed class CmdMode : Command {
|
||||
public override string name { get { return "Mode"; } }
|
||||
public override string type { get { return CommandTypes.Building; } }
|
||||
public override bool museumUsable { get { return false; } }
|
||||
public override bool SuperUseable { get { return false; } }
|
||||
public override CommandAlias[] Aliases {
|
||||
get { return new CommandAlias[] { new CommandAlias("TNT", "tnt") }; }
|
||||
|
@ -20,7 +20,6 @@ namespace MCGalaxy.Commands.Building {
|
||||
public override string name { get { return "Paint"; } }
|
||||
public override string shortcut { get { return "p"; } }
|
||||
public override string type { get { return CommandTypes.Building; } }
|
||||
public override bool museumUsable { get { return false; } }
|
||||
public override bool SuperUseable { get { return false; } }
|
||||
|
||||
public override void Use(Player p, string message) {
|
||||
|
@ -25,7 +25,6 @@ namespace MCGalaxy.Commands.Building {
|
||||
public override string name { get { return "Palette"; } }
|
||||
public override string shortcut { get { return "ImgPalette"; } }
|
||||
public override string type { get { return CommandTypes.Building; } }
|
||||
public override bool museumUsable { get { return false; } }
|
||||
public override LevelPermission defaultRank { get { return LevelPermission.Admin; } }
|
||||
|
||||
public override void Use(Player p, string message) {
|
||||
|
@ -50,7 +50,6 @@ namespace MCGalaxy.Drawing.Ops {
|
||||
public static bool Do(DrawOp op, Brush brush, Player p,
|
||||
Vec3S32[] marks, bool checkLimit = true) {
|
||||
Level lvl = Setup(op, p, marks);
|
||||
|
||||
if (lvl != null && !lvl.Config.DrawingAllowed) {
|
||||
Player.Message(p, "Drawing commands are turned off on this map.");
|
||||
return false;
|
||||
|
Loading…
x
Reference in New Issue
Block a user