예제 #1
0
        public override bool OnWorldEditCommand(WorldEdit worldEdit, CmdArgs args)
        {
            switch (args[0])
            {
            case "tusb":
                bool val = (bool)args.PopBool(false);

                if (val)
                {
                    worldEdit.Good("Will use only selected block for placement");
                }
                else
                {
                    worldEdit.Good("Will use erode away placed blocks");
                }

                UseSelectedBlock = val;

                return(true);

            case "tr":
                BrushRadius = 0;

                if (args.Length > 1)
                {
                    float size;
                    float.TryParse(args[1], NumberStyles.Any, GlobalConstants.DefaultCultureInfo, out size);
                    BrushRadius = size;
                }

                worldEdit.Good("Erode radius " + BrushRadius + " set");
                return(true);

            case "tgr":
                BrushRadius++;
                worldEdit.Good("Erode radius " + BrushRadius + " set");
                return(true);

            case "tsr":
                BrushRadius = Math.Max(0, BrushRadius - 1);
                worldEdit.Good("Erode radius " + BrushRadius + " set");
                return(true);

            case "tkr":
                KernelRadius = 0;

                if (args.Length > 1)
                {
                    int size;
                    int.TryParse(args[1], NumberStyles.Any, GlobalConstants.DefaultCultureInfo, out size);
                    KernelRadius = size;
                }

                if (KernelRadius > 10)
                {
                    KernelRadius = 10;
                    worldEdit.SendPlayerWorkSpace(workspace.PlayerUID);
                    worldEdit.Good("Erode kernel radius " + KernelRadius + " set (limited to 10)");
                }
                else
                {
                    worldEdit.Good("Erode kernel radius " + KernelRadius + " set");
                }

                PrecalcKernel();

                return(true);

            case "ti":
                Iterations = 1;

                if (args.Length > 1)
                {
                    int iters;
                    int.TryParse(args[1], NumberStyles.Any, GlobalConstants.DefaultCultureInfo, out iters);
                    Iterations = iters;
                }

                if (Iterations > 10)
                {
                    Iterations = 10;
                    worldEdit.SendPlayerWorkSpace(workspace.PlayerUID);
                    worldEdit.Good("Iterations " + Iterations + " set (limited to 10)");
                }
                else
                {
                    worldEdit.Good("Iterations " + Iterations + " set");
                }



                return(true);
            }

            return(false);
        }