private void CommandClearArea(IEnumerable <string> args, Position position, List <SavedPosition> savedPositions) { var filename = args.FirstOrDefault(); var target = position.GetAbsolutePosition(args.Skip(1).Take(3), savedPositions); //var rotation = GetRotation(args.ElementAtOrDefault(4)); //var shift = GetPosition(args.Skip(4).Take(3)); Console.WriteLine($"outlineing {filename} to {target}"); var points = LoadFile(filename); var results = ModelAnalyzer.Analyze(points); var x = (target.X + results.Width / 2).ToString(); var z = (target.Z + results.Length / 2).ToString(); CreateHandler.CreateGeometry(_commandService, savedPositions, "create", "box", results.Width.ToString(), results.Length.ToString(), results.Height.ToString(), "air", x, target.Y.ToString(), z); }
private void Outline(string[] args, Position target, Position shift) { Rotate rotation; var FileName = args[1]; if (args.Length == 6) { target.X = Convert.ToInt32(args[3]); target.Y = Convert.ToInt32(args[4]); target.Z = Convert.ToInt32(args[5]); } if (args.Length >= 5) { if (args[2].StartsWith("~") || args[3].StartsWith("~") || args[4].StartsWith("~")) { //get current position //parse and add to current position. _minecraftCommandService.Status("relative positions are not supported."); return; } target.X = Convert.ToInt32(args[2]); target.Y = Convert.ToInt32(args[3]); target.Z = Convert.ToInt32(args[4]); } if (args.Length >= 6) { rotation = (Rotate)Convert.ToInt32(args?[5]); } if (args.Length >= 9) { shift.X = Convert.ToInt32(args[6]); shift.Y = Convert.ToInt32(args[7]); shift.Z = Convert.ToInt32(args[8]); } Console.WriteLine($"outlineing {FileName} to {target}"); var points = LoadFile(FileName); var results = ModelAnalyzer.Analyze(points); var x = (target.X + results.Width / 2).ToString(); var z = (target.Z + results.Length / 2).ToString(); CreateHandler.CreateGeometry(_minecraftCommandService, "create", "box", results.Width.ToString(), results.Length.ToString(), results.Height.ToString(), "wool", x, target.Y.ToString(), z); }