コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }