diff --git a/Commands/Fun/CmdLavaSurvival.cs b/Commands/Fun/CmdLavaSurvival.cs index 578f19da8..21a01872b 100644 --- a/Commands/Fun/CmdLavaSurvival.cs +++ b/Commands/Fun/CmdLavaSurvival.cs @@ -186,7 +186,7 @@ namespace MCGalaxy.Commands Player.Message(p, "Send AFK to main: " + (Server.lava.sendAfkMain ? "&aON" : "&cOFF")); break; case "votecount": - Server.lava.voteCount = (byte)Utils.Clamp(decimal.Parse(args[3]), 2, 10); + Server.lava.voteCount = (byte)Utils.Clamp(int.Parse(args[3]), 2, 10); Player.Message(p, "Vote count: &b" + Server.lava.voteCount); break; case "votetime": @@ -223,23 +223,23 @@ namespace MCGalaxy.Commands try { switch (args[2]) { case "fast": - settings.fast = (byte)Utils.Clamp(decimal.Parse(args[3]), 0, 100); + settings.fast = (byte)Utils.Clamp(int.Parse(args[3]), 0, 100); Player.Message(p, "Fast lava chance: &b" + settings.fast + "%"); break; case "killer": - settings.killer = (byte)Utils.Clamp(decimal.Parse(args[3]), 0, 100); + settings.killer = (byte)Utils.Clamp(int.Parse(args[3]), 0, 100); Player.Message(p, "Killer lava/water chance: &b" + settings.killer + "%"); break; case "destroy": - settings.destroy = (byte)Utils.Clamp(decimal.Parse(args[3]), 0, 100); + settings.destroy = (byte)Utils.Clamp(int.Parse(args[3]), 0, 100); Player.Message(p, "Destroy blocks chance: &b" + settings.destroy + "%"); break; case "water": - settings.water = (byte)Utils.Clamp(decimal.Parse(args[3]), 0, 100); + settings.water = (byte)Utils.Clamp(int.Parse(args[3]), 0, 100); Player.Message(p, "Water flood chance: &b" + settings.water + "%"); break; case "layer": - settings.layer = (byte)Utils.Clamp(decimal.Parse(args[3]), 0, 100); + settings.layer = (byte)Utils.Clamp(int.Parse(args[3]), 0, 100); Player.Message(p, "Layer flood chance: &b" + settings.layer + "%"); break; case "layerheight": diff --git a/Commands/Information/CmdAbout.cs b/Commands/Information/CmdAbout.cs index 8779b7c72..1d8c58d2a 100644 --- a/Commands/Information/CmdAbout.cs +++ b/Commands/Information/CmdAbout.cs @@ -71,7 +71,7 @@ namespace MCGalaxy.Commands { foundOne = true; string user = inCache[i].name.Trim(); DateTime time = Server.StartTimeLocal.AddSeconds(inCache[i].flags >> 2); - byte block = (inCache[i].flags & 2) != 0 ? Block.custom_block : inCache[i].rawType; + byte block = (inCache[i].flags & 2) != 0 ? Block.custom_block : inCache[i].rawBlock; bool deleted = (inCache[i].flags & 1) != 0; Output(p, user, block, deleted, now - time); } diff --git a/GUI/PropertyWindow.Games.cs b/GUI/PropertyWindow.Games.cs index 02d2e3799..d607a837d 100644 --- a/GUI/PropertyWindow.Games.cs +++ b/GUI/PropertyWindow.Games.cs @@ -175,13 +175,13 @@ namespace MCGalaxy.Gui { lsLoadedMap = name; try { LavaSurvival.MapSettings settings = Server.lava.LoadMapSettings(name); - lsNudFastLava.Value = Utils.Clamp((decimal)settings.fast, 0, 100); - lsNudKiller.Value = Utils.Clamp((decimal)settings.killer, 0, 100); - lsNudDestroy.Value = Utils.Clamp((decimal)settings.destroy, 0, 100); - lsNudWater.Value = Utils.Clamp((decimal)settings.water, 0, 100); - lsNudLayer.Value = Utils.Clamp((decimal)settings.layer, 0, 100); - lsNudLayerHeight.Value = Utils.Clamp((decimal)settings.layerHeight, 1, 1000); - lsNudLayerCount.Value = Utils.Clamp((decimal)settings.layerCount, 1, 1000); + lsNudFastLava.Value = Utils.Clamp(settings.fast, 0, 100); + lsNudKiller.Value = Utils.Clamp(settings.killer, 0, 100); + lsNudDestroy.Value = Utils.Clamp(settings.destroy, 0, 100); + lsNudWater.Value = Utils.Clamp(settings.water, 0, 100); + lsNudLayer.Value = Utils.Clamp(settings.layer, 0, 100); + lsNudLayerHeight.Value = Utils.Clamp(settings.layerHeight, 1, 1000); + lsNudLayerCount.Value = Utils.Clamp(settings.layerCount, 1, 1000); lsNudLayerTime.Value = (decimal)Utils.Clamp(settings.layerInterval, 1, 1000); lsNudRoundTime.Value = (decimal)Utils.Clamp(settings.roundTime, 1, 1000); lsNudFloodTime.Value = (decimal)Utils.Clamp(settings.floodTime, 1, 1000); diff --git a/Games/LavaSurvival/LavaSurvival.Settings.cs b/Games/LavaSurvival/LavaSurvival.Settings.cs index 68e4f9cf9..45bacecea 100644 --- a/Games/LavaSurvival/LavaSurvival.Settings.cs +++ b/Games/LavaSurvival/LavaSurvival.Settings.cs @@ -102,11 +102,11 @@ namespace MCGalaxy.Games { void ProcessMapLine(string key, string value, ref MapSettings map) { string[] sp; switch (key.ToLower()) { - case "fast-chance": map.fast = (byte)Utils.Clamp(decimal.Parse(value), 0, 100); break; - case "killer-chance": map.killer = (byte)Utils.Clamp(decimal.Parse(value), 0, 100); break; - case "destroy-chance": map.destroy = (byte)Utils.Clamp(decimal.Parse(value), 0, 100); break; - case "water-chance": map.water = (byte)Utils.Clamp(decimal.Parse(value), 0, 100); break; - case "layer-chance": map.layer = (byte)Utils.Clamp(decimal.Parse(value), 0, 100); break; + case "fast-chance": map.fast = (byte)Utils.Clamp(int.Parse(value), 0, 100); break; + case "killer-chance": map.killer = (byte)Utils.Clamp(int.Parse(value), 0, 100); break; + case "destroy-chance": map.destroy = (byte)Utils.Clamp(int.Parse(value), 0, 100); break; + case "water-chance": map.water = (byte)Utils.Clamp(int.Parse(value), 0, 100); break; + case "layer-chance": map.layer = (byte)Utils.Clamp(int.Parse(value), 0, 100); break; case "layer-height": map.layerHeight = int.Parse(value); break; case "layer-count": map.layerCount = int.Parse(value); break; case "layer-interval": map.layerInterval = double.Parse(value); break; diff --git a/Levels/BlockQueue.cs b/Levels/BlockQueue.cs index c318244aa..d1bedb1d5 100644 --- a/Levels/BlockQueue.cs +++ b/Levels/BlockQueue.cs @@ -77,9 +77,9 @@ namespace MCGalaxy { for (int i = 0; i < count; i++) { ulong flags = lvl.blockqueue[i]; int index = (int)(flags >> 32); - byte type = (flags & 0x100) != 0 ? Block.custom_block : (byte)flags; - byte extType = (flags & 0x100) != 0 ? (byte)flags : Block.air; - bulkSender.Add(index, type, extType); + byte block = (flags & 0x100) != 0 ? Block.custom_block : (byte)flags; + byte extBlock = (flags & 0x100) != 0 ? (byte)flags : Block.air; + bulkSender.Add(index, block, extBlock); } bulkSender.Send(true); lvl.blockqueue.RemoveRange(0, count); diff --git a/Levels/Level.Blocks.cs b/Levels/Level.Blocks.cs index 986d80a13..a32bea1e6 100644 --- a/Levels/Level.Blocks.cs +++ b/Levels/Level.Blocks.cs @@ -225,9 +225,9 @@ namespace MCGalaxy { } public bool CheckAffectPermissions(Player p, ushort x, ushort y, ushort z, - byte b, byte type, byte extType = 0) { + byte b, byte block, byte extBlock = 0) { if (!Block.AllowBreak(b) && !Block.canPlace(p, b) && !Block.BuildIn(b)) return false; - if (p.PlayingTntWars && !CheckTNTWarsChange(p, x, y, z, ref type)) return false; + if (p.PlayingTntWars && !CheckTNTWarsChange(p, x, y, z, ref block)) return false; bool inZone = false; if (!CheckZonePerms(p, x, y, z, ref inZone)) return false; diff --git a/Levels/Level.cs b/Levels/Level.cs index 9cfb69440..a21fb0660 100644 --- a/Levels/Level.cs +++ b/Levels/Level.cs @@ -455,17 +455,17 @@ namespace MCGalaxy { public struct BlockPos { public string name; public int flags, index; // bit 0 = is deleted, bit 1 = is ext, rest bits = time delta - public byte rawType; + public byte rawBlock; - public void SetData(byte type, byte extType, bool delete) { + public void SetData(byte block, byte extBlock, bool delete) { TimeSpan delta = DateTime.UtcNow.Subtract(Server.StartTime); flags = (int)delta.TotalSeconds << 2; flags |= (byte)(delete ? 1 : 0); - if (type == Block.custom_block) { - rawType = extType; flags |= 2; + if (block == Block.custom_block) { + rawBlock = extBlock; flags |= 2; } else { - rawType = type; + rawBlock = block; } } } diff --git a/Levels/LevelDB.cs b/Levels/LevelDB.cs index 93157aa04..6e41c1136 100644 --- a/Levels/LevelDB.cs +++ b/Levels/LevelDB.cs @@ -70,7 +70,7 @@ namespace MCGalaxy { nameP.Value = bP.name; timeP.Value = date; xP.Value = x; yP.Value = y; zP.Value = z; - tileP.Value = (bP.flags & 2) != 0 ? Block.custom_block : bP.rawType; + tileP.Value = (bP.flags & 2) != 0 ? Block.custom_block : bP.rawBlock; delP.Value = (bP.flags & 1) != 0; } else { ((NativeParameter)nameP).SetString(bP.name); @@ -78,7 +78,7 @@ namespace MCGalaxy { ((NativeParameter)xP).U16Value = x; ((NativeParameter)yP).U16Value = y; ((NativeParameter)zP).U16Value = z; - ((NativeParameter)tileP).U8Value = (bP.flags & 2) != 0 ? Block.custom_block : bP.rawType; + ((NativeParameter)tileP).U8Value = (bP.flags & 2) != 0 ? Block.custom_block : bP.rawBlock; ((NativeParameter)delP).BoolValue = (bP.flags & 1) != 0; } diff --git a/Levels/LevelEnv.cs b/Levels/LevelEnv.cs index 1ae260996..723c8766a 100644 --- a/Levels/LevelEnv.cs +++ b/Levels/LevelEnv.cs @@ -86,7 +86,7 @@ namespace MCGalaxy { Player.Message(p, "Reset {0} color for {1}%S to normal", envTypeName, p.level.name); target = ""; } else { - if (!Utils.CheckHex(p, ref value)) return; + if (!Utils.CheckHex(p, ref value)) return; Player.Message(p, "Set {0} color for {1}%S to #{2}", envTypeName, p.level.name, value); target = value; } diff --git a/Levels/Physics/AirPhysics.cs b/Levels/Physics/AirPhysics.cs index f7fea1202..ac4a5b844 100644 --- a/Levels/Physics/AirPhysics.cs +++ b/Levels/Physics/AirPhysics.cs @@ -73,25 +73,25 @@ namespace MCGalaxy.BlockPhysics { C.data.Data++; } - static void FloodAir(Level lvl, int b, byte type) { - if (b == -1) return; - byte block = Block.Convert(lvl.blocks[b]); - if (block == Block.water || block == Block.lava) - lvl.AddUpdate(b, type); + static void FloodAir(Level lvl, int index, byte block) { + if (index == -1) return; + byte curBlock = Block.Convert(lvl.blocks[index]); + if (curBlock == Block.water || curBlock == Block.lava) + lvl.AddUpdate(index, block); } - internal static void PhysAir(Level lvl, int b) { - if (b == -1) return; - byte block = lvl.blocks[b]; + internal static void PhysAir(Level lvl, int index) { + if (index == -1) return; + byte block = lvl.blocks[index]; byte convBlock = Block.Convert(block); if (convBlock == Block.water || convBlock == Block.lava || (block >= Block.red && block <= Block.white)) { - lvl.AddCheck(b); return; + lvl.AddCheck(index); return; } switch (block) { - //case Block.water: - //case Block.lava: + //case Block.water: + //case Block.lava: case Block.shrub: case Block.sand: case Block.gravel: @@ -104,7 +104,7 @@ namespace MCGalaxy.BlockPhysics { case Block.deathwater: case Block.geyser: case Block.magma:*/ - lvl.AddCheck(b); + lvl.AddCheck(index); break; default: break; diff --git a/Network/Player.Networking.cs b/Network/Player.Networking.cs index c854ac974..1d8db0a0e 100644 --- a/Network/Player.Networking.cs +++ b/Network/Player.Networking.cs @@ -22,7 +22,6 @@ namespace MCGalaxy { public sealed partial class Player : IDisposable { public NetworkStream Stream; - public BinaryReader Reader; static void Receive(IAsyncResult result) { //Server.s.Log(result.AsyncState.ToString()); @@ -636,12 +635,5 @@ namespace MCGalaxy { } RemoveFromPending(); } - - public string ReadString(int count = 64) { - if ( Reader == null ) return null; - var chars = new byte[count]; - Reader.Read(chars, 0, count); - return Encoding.UTF8.GetString(chars).TrimEnd().Replace("\0", string.Empty); - } } } diff --git a/Player/Player.Login.cs b/Player/Player.Login.cs index 3ba43dc8b..2407112f2 100644 --- a/Player/Player.Login.cs +++ b/Player/Player.Login.cs @@ -37,7 +37,7 @@ namespace MCGalaxy { skinName = name; int altsCount = 0; - lock (pendingLock) { + lock (pendingLock) { DateTime now = DateTime.UtcNow; foreach (PendingItem item in pendingNames) { if (item.Name == truename && (now - item.Connected).TotalSeconds <= 60) diff --git a/util/BufferedBlockSender.cs b/util/BufferedBlockSender.cs index edaa52131..db83eeef6 100644 --- a/util/BufferedBlockSender.cs +++ b/util/BufferedBlockSender.cs @@ -42,10 +42,10 @@ namespace MCGalaxy { this.level = player.level; } - public bool Add(int index, byte type, byte extType) { + public bool Add(int index, byte block, byte extBlock) { indices[count] = index; - if (type == Block.custom_block) types[count] = extType; - else types[count] = Block.Convert(type); + if (block == Block.custom_block) types[count] = extBlock; + else types[count] = Block.Convert(block); count++; return Send(false); } diff --git a/util/Utils.cs b/util/Utils.cs index 947b13113..df3268084 100644 --- a/util/Utils.cs +++ b/util/Utils.cs @@ -68,6 +68,10 @@ namespace MCGalaxy { for (int i = 0; i < bytes; i++) *srcByte = value; srcByte++; } + + public static int Clamp(int value, int lo, int hi) { + return Math.Max(Math.Min(value, hi), lo); + } public static decimal Clamp(decimal value, decimal lo, decimal hi) { return Math.Max(Math.Min(value, hi), lo); @@ -89,7 +93,6 @@ namespace MCGalaxy { string itemName = nameGetter(item); if (itemName.Equals(name, comp)) { matches = 1; return item; } if (itemName.IndexOf(name, comp) < 0) continue; - Queue> queue = new Queue>(); match = item; matches++; if (matches <= limit)