From ff7021e79872b729f645706bde5617874dbfeb0f Mon Sep 17 00:00:00 2001 From: BruceChen Date: Fri, 30 Sep 2022 08:47:02 +0800 Subject: [PATCH] Upgrade old coordinate parsing. --- MinecraftClient/Commands/Bed.cs | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/MinecraftClient/Commands/Bed.cs b/MinecraftClient/Commands/Bed.cs index 89f6c7a7..37936fd5 100644 --- a/MinecraftClient/Commands/Bed.cs +++ b/MinecraftClient/Commands/Bed.cs @@ -121,12 +121,8 @@ namespace MinecraftClient.Commands if (args.Length >= 3) { - Location current = handler.GetCurrentLocation(); - double x = args[1].StartsWith('~') ? current.X + (args[1].Length > 1 ? double.Parse(args[1][1..]) : 0) : double.Parse(args[1]); - double y = args[2].StartsWith('~') ? current.Y + (args[2].Length > 1 ? double.Parse(args[2][1..]) : 0) : double.Parse(args[2]); - double z = args[3].StartsWith('~') ? current.Z + (args[3].Length > 1 ? double.Parse(args[3][1..]) : 0) : double.Parse(args[3]); - - Location block = new Location(x, y, z).ToFloor(), blockCenter = block.ToCenter(); + Location block = Location.Parse(handler.GetCurrentLocation(), args[1], args[2], args[3]).ToFloor(); + Location blockCenter = block.ToCenter(); if (!handler.GetWorld().GetBlock(block).Type.IsBed()) return Translations.TryGet("cmd.bed.not_a_bed", blockCenter.X, blockCenter.Y, blockCenter.Z);