Added support for ellipsoid and sphere selections.

//sel ellipsoid, //sel sphere.
This commit is contained in:
TomyLobo
2011-12-27 23:24:57 +01:00
parent 45655e1189
commit 616f9a2360
6 changed files with 621 additions and 3 deletions

View File

@ -29,11 +29,13 @@ import com.sk89q.minecraft.util.commands.CommandPermissions;
import com.sk89q.worldedit.*;
import com.sk89q.worldedit.data.ChunkStore;
import com.sk89q.worldedit.regions.CuboidRegionSelector;
import com.sk89q.worldedit.regions.EllipsoidRegionSelector;
import com.sk89q.worldedit.regions.ExtendingCuboidRegionSelector;
import com.sk89q.worldedit.regions.Polygonal2DRegionSelector;
import com.sk89q.worldedit.regions.Region;
import com.sk89q.worldedit.regions.RegionOperationException;
import com.sk89q.worldedit.regions.RegionSelector;
import com.sk89q.worldedit.regions.SphereRegionSelector;
import com.sk89q.worldedit.blocks.*;
/**
@ -592,7 +594,7 @@ public class SelectionCommands {
@Command(
aliases = { "/sel", ";" },
usage = "[cuboid|extend|poly]",
usage = "[cuboid|extend|poly|ellipsoid|sphere]",
desc = "Choose a region selector",
min = 0,
max = 1
@ -621,10 +623,17 @@ public class SelectionCommands {
} else if (typeName.equalsIgnoreCase("poly")) {
selector = new Polygonal2DRegionSelector(oldSelector);
player.print("2D polygon selector: Left/right click to add a point.");
} else if (typeName.equalsIgnoreCase("ellipsoid")) {
selector = new EllipsoidRegionSelector(oldSelector);
player.print("Ellipsoid selector: left click=center, right click to extend");
} else if (typeName.equalsIgnoreCase("sphere")) {
selector = new SphereRegionSelector(oldSelector);
player.print("Sphere selector: left click=center, right click to extend");
} else {
player.printError("Only 'cuboid', 'extend' and 'poly' are accepted.");
player.printError("Only cuboid|extend|poly|ellipsoid|sphere are accepted.");
return;
}
session.setRegionSelector(world, selector);
session.dispatchCUISelection(player);
}