Converted API over to use new World.

This breaks backwards compatibility for all getWorld() methods, but
shim methods were added for binary compatibility with method calls that
use LocalWorld.
This commit is contained in:
sk89q
2014-04-05 02:59:38 -07:00
parent 63a2ca824d
commit 24f8fbc92a
49 changed files with 827 additions and 232 deletions

View File

@ -22,6 +22,7 @@ package com.sk89q.worldedit.regions;
import com.sk89q.worldedit.*;
import com.sk89q.worldedit.Vector;
import com.sk89q.worldedit.regions.iterator.RegionIterator;
import com.sk89q.worldedit.world.World;
import com.sk89q.worldedit.world.storage.ChunkStore;
import java.util.*;
@ -30,9 +31,9 @@ public abstract class AbstractRegion implements Region {
/**
* Stores the world.
*/
protected LocalWorld world;
protected World world;
public AbstractRegion(LocalWorld world) {
public AbstractRegion(World world) {
this.world = world;
}
@ -46,23 +47,33 @@ public abstract class AbstractRegion implements Region {
*
* @return iterator of points inside the region
*/
@Override
public Iterator<BlockVector> iterator() {
return new RegionIterator(this);
}
public LocalWorld getWorld() {
@Override
public World getWorld() {
return world;
}
@Override
public void setWorld(LocalWorld world) {
setWorld((World) world);
}
@Override
public void setWorld(World world) {
this.world = world;
}
@Override
public void shift(Vector change) throws RegionOperationException {
expand(change);
contract(change);
}
@Override
public AbstractRegion clone() {
try {
return (AbstractRegion) super.clone();
@ -95,6 +106,7 @@ public abstract class AbstractRegion implements Region {
*
* @return number of blocks
*/
@Override
public int getArea() {
Vector min = getMinimumPoint();
Vector max = getMaximumPoint();
@ -109,6 +121,7 @@ public abstract class AbstractRegion implements Region {
*
* @return width
*/
@Override
public int getWidth() {
Vector min = getMinimumPoint();
Vector max = getMaximumPoint();
@ -121,6 +134,7 @@ public abstract class AbstractRegion implements Region {
*
* @return height
*/
@Override
public int getHeight() {
Vector min = getMinimumPoint();
Vector max = getMaximumPoint();
@ -133,6 +147,7 @@ public abstract class AbstractRegion implements Region {
*
* @return length
*/
@Override
public int getLength() {
Vector min = getMinimumPoint();
Vector max = getMaximumPoint();
@ -145,6 +160,7 @@ public abstract class AbstractRegion implements Region {
*
* @return
*/
@Override
public Set<Vector2D> getChunks() {
final Set<Vector2D> chunks = new HashSet<Vector2D>();

View File

@ -30,6 +30,7 @@ import com.sk89q.worldedit.LocalWorld;
import com.sk89q.worldedit.Vector;
import com.sk89q.worldedit.regions.polyhedron.Edge;
import com.sk89q.worldedit.regions.polyhedron.Triangle;
import com.sk89q.worldedit.world.World;
public class ConvexPolyhedralRegion extends AbstractRegion {
/**
@ -72,6 +73,11 @@ public class ConvexPolyhedralRegion extends AbstractRegion {
*
* @param world
*/
public ConvexPolyhedralRegion(World world) {
super(world);
}
@Deprecated
public ConvexPolyhedralRegion(LocalWorld world) {
super(world);
}
@ -79,7 +85,7 @@ public class ConvexPolyhedralRegion extends AbstractRegion {
/**
* Constructs an independent copy of the given region.
*
* @param world
* @param region the region to copy
*/
public ConvexPolyhedralRegion(ConvexPolyhedralRegion region) {
this(region.world);

View File

@ -20,6 +20,7 @@
package com.sk89q.worldedit.regions;
import com.sk89q.worldedit.*;
import com.sk89q.worldedit.world.World;
import com.sk89q.worldedit.world.storage.ChunkStore;
import java.util.HashSet;
@ -47,6 +48,11 @@ public class CuboidRegion extends AbstractRegion implements FlatRegion {
this(null, pos1, pos2);
}
@Deprecated
public CuboidRegion(LocalWorld world, Vector pos1, Vector pos2) {
this((World) world, pos1, pos2);
}
/**
* Construct a new instance of this cuboid using two corners of the cuboid.
*
@ -54,7 +60,7 @@ public class CuboidRegion extends AbstractRegion implements FlatRegion {
* @param pos1 the first position
* @param pos2 the second position
*/
public CuboidRegion(LocalWorld world, Vector pos1, Vector pos2) {
public CuboidRegion(World world, Vector pos1, Vector pos2) {
super(world);
checkNotNull(pos1);
checkNotNull(pos2);

View File

@ -22,6 +22,7 @@ package com.sk89q.worldedit.regions;
import com.sk89q.worldedit.*;
import com.sk89q.worldedit.regions.iterator.FlatRegion3DIterator;
import com.sk89q.worldedit.regions.iterator.FlatRegionIterator;
import com.sk89q.worldedit.world.World;
import java.util.ArrayList;
import java.util.Iterator;
@ -43,19 +44,28 @@ public class CylinderRegion extends AbstractRegion implements FlatRegion {
* Construct the region
*/
public CylinderRegion() {
this((LocalWorld) null);
this((World) null);
}
@Deprecated
public CylinderRegion(LocalWorld world) {
this((World) world);
}
/**
* Construct the region.
*
* @param world
*/
public CylinderRegion(LocalWorld world) {
public CylinderRegion(World world) {
this(world, new Vector(), new Vector2D(), 0, 0);
hasY = false;
}
@Deprecated
public CylinderRegion(LocalWorld world, Vector center, Vector2D radius, int minY, int maxY) {
this((World) world, center, radius, minY, maxY);
}
/**
* Construct the region.
*
@ -65,7 +75,7 @@ public class CylinderRegion extends AbstractRegion implements FlatRegion {
* @param minY
* @param maxY
*/
public CylinderRegion(LocalWorld world, Vector center, Vector2D radius, int minY, int maxY) {
public CylinderRegion(World world, Vector center, Vector2D radius, int minY, int maxY) {
super(world);
setCenter(center.toVector2D());
setRadius(radius);

View File

@ -24,6 +24,7 @@ import com.sk89q.worldedit.BlockVector2D;
import com.sk89q.worldedit.LocalWorld;
import com.sk89q.worldedit.Vector;
import com.sk89q.worldedit.Vector2D;
import com.sk89q.worldedit.world.World;
import com.sk89q.worldedit.world.storage.ChunkStore;
import java.util.Set;
import java.util.HashSet;
@ -38,7 +39,7 @@ public class EllipsoidRegion extends AbstractRegion {
*/
private Vector center;
/**
* Stores the radiuses plus 0.5 on each axis.
* Stores the radii plus 0.5 on each axis.
*/
private Vector radius;
/**
@ -51,6 +52,11 @@ public class EllipsoidRegion extends AbstractRegion {
this(null, pos1, pos2);
}
@Deprecated
public EllipsoidRegion(LocalWorld world, Vector center, Vector radius) {
this((World) world, center, radius);
}
/**
* Construct a new instance of this ellipsoid region.
*
@ -58,7 +64,7 @@ public class EllipsoidRegion extends AbstractRegion {
* @param center
* @param radius
*/
public EllipsoidRegion(LocalWorld world, Vector center, Vector radius) {
public EllipsoidRegion(World world, Vector center, Vector radius) {
super(world);
this.center = center;
setRadius(radius);

View File

@ -21,6 +21,7 @@ package com.sk89q.worldedit.regions;
import com.sk89q.worldedit.*;
import com.sk89q.worldedit.Vector;
import com.sk89q.worldedit.world.World;
import java.util.*;
@ -29,7 +30,7 @@ import java.util.*;
*/
public class NullRegion implements Region {
private LocalWorld world;
private World world;
@Override
public Vector getMinimumPoint() {
@ -97,15 +98,20 @@ public class NullRegion implements Region {
}
@Override
public LocalWorld getWorld() {
public World getWorld() {
return world;
}
@Override
public void setWorld(LocalWorld world) {
public void setWorld(World world) {
this.world = world;
}
@Override
public void setWorld(LocalWorld world) {
setWorld((World) world);
}
@Override
public NullRegion clone() {
return new NullRegion();

View File

@ -30,6 +30,7 @@ import com.sk89q.worldedit.Vector;
import com.sk89q.worldedit.Vector2D;
import com.sk89q.worldedit.regions.iterator.FlatRegion3DIterator;
import com.sk89q.worldedit.regions.iterator.FlatRegionIterator;
import com.sk89q.worldedit.world.World;
/**
* Represents a 2D polygonal region.
@ -48,7 +49,12 @@ public class Polygonal2DRegion extends AbstractRegion implements FlatRegion {
* Construct the region
*/
public Polygonal2DRegion() {
this((LocalWorld) null);
this((World) null);
}
@Deprecated
public Polygonal2DRegion(LocalWorld world) {
this((World) world);
}
/**
@ -56,11 +62,16 @@ public class Polygonal2DRegion extends AbstractRegion implements FlatRegion {
*
* @param world
*/
public Polygonal2DRegion(LocalWorld world) {
public Polygonal2DRegion(World world) {
this(world, Collections.<BlockVector2D>emptyList(), 0, 0);
hasY = false;
}
@Deprecated
public Polygonal2DRegion(LocalWorld world, List<BlockVector2D> points, int minY, int maxY) {
this((World) world, points, minY, maxY);
}
/**
* Construct the region.
*
@ -69,7 +80,7 @@ public class Polygonal2DRegion extends AbstractRegion implements FlatRegion {
* @param minY
* @param maxY
*/
public Polygonal2DRegion(LocalWorld world, List<BlockVector2D> points, int minY, int maxY) {
public Polygonal2DRegion(World world, List<BlockVector2D> points, int minY, int maxY) {
super(world);
this.points = new ArrayList<BlockVector2D>(points);
this.minY = minY;

View File

@ -24,6 +24,7 @@ import com.sk89q.worldedit.BlockVector2D;
import com.sk89q.worldedit.LocalWorld;
import com.sk89q.worldedit.Vector;
import com.sk89q.worldedit.Vector2D;
import com.sk89q.worldedit.world.World;
import java.util.List;
import java.util.Set;
@ -135,13 +136,21 @@ public interface Region extends Iterable<BlockVector>, Cloneable {
*
* @return
*/
public LocalWorld getWorld();
public World getWorld();
/**
* Sets the world the selection is in
*
* @return
*/
public void setWorld(World world);
/**
* Sets the world the selection is in
*
* @return
*/
@Deprecated
public void setWorld(LocalWorld world);
public Region clone();

View File

@ -20,6 +20,7 @@
package com.sk89q.worldedit.regions;
import com.sk89q.worldedit.*;
import com.sk89q.worldedit.extension.platform.Actor;
import java.util.List;
@ -49,28 +50,37 @@ public interface RegionSelector {
/**
* Tell the player information about his/her primary selection.
*
* @param player the player
* @param actor the actor
* @param session the session
* @param position position
*/
public void explainPrimarySelection(Actor actor, LocalSession session, Vector position);
@Deprecated
public void explainPrimarySelection(LocalPlayer player, LocalSession session, Vector position);
/**
* Tell the player information about his/her secondary selection.
*
* @param player the player
* @param actor the actor
* @param session the session
* @param position position
*/
public void explainSecondarySelection(Actor actor, LocalSession session, Vector position);
@Deprecated
public void explainSecondarySelection(LocalPlayer player, LocalSession session, Vector position);
/**
* The the player information about the region's changes. This may resend
* all the defining region information if needed.
*
* @param player the player
* @param actor the actor
* @param session the session
*/
public void explainRegionAdjust(Actor actor, LocalSession session);
@Deprecated
public void explainRegionAdjust(LocalPlayer player, LocalSession session);
/**

View File

@ -21,6 +21,7 @@ package com.sk89q.worldedit.regions.selector;
import com.sk89q.worldedit.*;
import com.sk89q.worldedit.Vector;
import com.sk89q.worldedit.extension.platform.Actor;
import com.sk89q.worldedit.internal.cui.CUIRegion;
import com.sk89q.worldedit.internal.cui.SelectionPointEvent;
import com.sk89q.worldedit.internal.cui.SelectionPolygonEvent;
@ -29,6 +30,7 @@ import com.sk89q.worldedit.regions.ConvexPolyhedralRegion;
import com.sk89q.worldedit.regions.Region;
import com.sk89q.worldedit.regions.RegionSelector;
import com.sk89q.worldedit.regions.polyhedron.Triangle;
import com.sk89q.worldedit.world.World;
import javax.annotation.Nullable;
import java.util.*;
@ -44,13 +46,18 @@ public class ConvexPolyhedralRegionSelector extends com.sk89q.worldedit.regions.
private final ConvexPolyhedralRegion region;
private BlockVector pos1;
@Deprecated
public ConvexPolyhedralRegionSelector(@Nullable LocalWorld world, int maxVertices) {
this((World) world, maxVertices);
}
/**
* Create a new selector.
*
* @param world the world
* @param maxVertices the maximum number of vertices, where a number below 0 means unbounded
*/
public ConvexPolyhedralRegionSelector(@Nullable LocalWorld world, int maxVertices) {
public ConvexPolyhedralRegionSelector(@Nullable World world, int maxVertices) {
this.maxVertices = maxVertices;
region = new ConvexPolyhedralRegion(world);
}
@ -165,21 +172,21 @@ public class ConvexPolyhedralRegionSelector extends com.sk89q.worldedit.regions.
@Override
public void explainPrimarySelection(LocalPlayer player, LocalSession session, Vector pos) {
public void explainPrimarySelection(Actor player, LocalSession session, Vector pos) {
session.describeCUI(player);
player.print("Started new selection with vertex "+pos+".");
}
@Override
public void explainSecondarySelection(LocalPlayer player, LocalSession session, Vector pos) {
public void explainSecondarySelection(Actor player, LocalSession session, Vector pos) {
session.describeCUI(player);
player.print("Added vertex "+pos+" to the selection.");
}
@Override
public void explainRegionAdjust(LocalPlayer player, LocalSession session) {
public void explainRegionAdjust(Actor player, LocalSession session) {
session.describeCUI(player);
}
@ -195,7 +202,7 @@ public class ConvexPolyhedralRegionSelector extends com.sk89q.worldedit.regions.
}
@Override
public void describeCUI(LocalSession session, LocalPlayer player) {
public void describeCUI(LocalSession session, Actor player) {
Collection<Vector> vertices = region.getVertices();
Collection<Triangle> triangles = region.getTriangles();
@ -223,7 +230,7 @@ public class ConvexPolyhedralRegionSelector extends com.sk89q.worldedit.regions.
}
@Override
public void describeLegacyCUI(LocalSession session, LocalPlayer player) {
public void describeLegacyCUI(LocalSession session, Actor player) {
if (isDefined()) {
session.dispatchCUIEvent(player, new SelectionPointEvent(0, region.getMinimumPoint(), getArea()));
session.dispatchCUIEvent(player, new SelectionPointEvent(1, region.getMaximumPoint(), getArea()));
@ -232,4 +239,19 @@ public class ConvexPolyhedralRegionSelector extends com.sk89q.worldedit.regions.
}
}
@Override
public void explainPrimarySelection(LocalPlayer player, LocalSession session, Vector position) {
explainPrimarySelection((Actor) player, session, position);
}
@Override
public void explainSecondarySelection(LocalPlayer player, LocalSession session, Vector position) {
explainSecondarySelection((Actor) player, session, position);
}
@Override
public void explainRegionAdjust(LocalPlayer player, LocalSession session) {
explainRegionAdjust((Actor) player, session);
}
}

View File

@ -20,11 +20,13 @@
package com.sk89q.worldedit.regions.selector;
import com.sk89q.worldedit.*;
import com.sk89q.worldedit.extension.platform.Actor;
import com.sk89q.worldedit.internal.cui.CUIRegion;
import com.sk89q.worldedit.internal.cui.SelectionPointEvent;
import com.sk89q.worldedit.regions.CuboidRegion;
import com.sk89q.worldedit.regions.Region;
import com.sk89q.worldedit.regions.RegionSelector;
import com.sk89q.worldedit.world.World;
import javax.annotation.Nullable;
import java.util.ArrayList;
@ -45,7 +47,12 @@ public class CuboidRegionSelector extends com.sk89q.worldedit.regions.CuboidRegi
* Create a new region selector with no world.
*/
public CuboidRegionSelector() {
this((LocalWorld) null);
this((World) null);
}
@Deprecated
public CuboidRegionSelector(@Nullable LocalWorld world) {
this((World) world);
}
/**
@ -53,7 +60,7 @@ public class CuboidRegionSelector extends com.sk89q.worldedit.regions.CuboidRegi
*
* @param world the world
*/
public CuboidRegionSelector(@Nullable LocalWorld world) {
public CuboidRegionSelector(@Nullable World world) {
region = new CuboidRegion(world, new Vector(), new Vector());
}
@ -85,6 +92,11 @@ public class CuboidRegionSelector extends com.sk89q.worldedit.regions.CuboidRegi
region.setPos2(pos2);
}
@Deprecated
public CuboidRegionSelector(@Nullable LocalWorld world, Vector pos1, Vector pos2) {
this((World) world, pos1, pos2);
}
/**
* Create a new region selector with the given two positions.
*
@ -92,7 +104,7 @@ public class CuboidRegionSelector extends com.sk89q.worldedit.regions.CuboidRegi
* @param pos1 position 1
* @param pos2 position 2
*/
public CuboidRegionSelector(@Nullable LocalWorld world, Vector pos1, Vector pos2) {
public CuboidRegionSelector(@Nullable World world, Vector pos1, Vector pos2) {
this(world);
checkNotNull(world);
checkNotNull(pos1);
@ -126,7 +138,7 @@ public class CuboidRegionSelector extends com.sk89q.worldedit.regions.CuboidRegi
}
@Override
public void explainPrimarySelection(LocalPlayer player, LocalSession session, Vector pos) {
public void explainPrimarySelection(Actor player, LocalSession session, Vector pos) {
if (pos1 != null && pos2 != null) {
player.print("First position set to " + pos1 + " (" + region.getArea() + ").");
} else {
@ -137,7 +149,7 @@ public class CuboidRegionSelector extends com.sk89q.worldedit.regions.CuboidRegi
}
@Override
public void explainSecondarySelection(LocalPlayer player, LocalSession session, Vector pos) {
public void explainSecondarySelection(Actor player, LocalSession session, Vector pos) {
if (pos1 != null && pos2 != null) {
player.print("Second position set to " + pos2 + " (" + region.getArea() + ").");
} else {
@ -148,7 +160,7 @@ public class CuboidRegionSelector extends com.sk89q.worldedit.regions.CuboidRegi
}
@Override
public void explainRegionAdjust(LocalPlayer player, LocalSession session) {
public void explainRegionAdjust(Actor player, LocalSession session) {
if (pos1 != null) {
session.dispatchCUIEvent(player, new SelectionPointEvent(0, pos1, getArea()));
}
@ -232,7 +244,7 @@ public class CuboidRegionSelector extends com.sk89q.worldedit.regions.CuboidRegi
}
@Override
public void describeCUI(LocalSession session, LocalPlayer player) {
public void describeCUI(LocalSession session, Actor player) {
if (pos1 != null) {
session.dispatchCUIEvent(player, new SelectionPointEvent(0, pos1, getArea()));
}
@ -243,7 +255,7 @@ public class CuboidRegionSelector extends com.sk89q.worldedit.regions.CuboidRegi
}
@Override
public void describeLegacyCUI(LocalSession session, LocalPlayer player) {
public void describeLegacyCUI(LocalSession session, Actor player) {
describeCUI(session, player);
}
@ -262,5 +274,19 @@ public class CuboidRegionSelector extends com.sk89q.worldedit.regions.CuboidRegi
return "cuboid";
}
@Override
public void explainPrimarySelection(LocalPlayer player, LocalSession session, Vector position) {
explainPrimarySelection((Actor) player, session, position);
}
@Override
public void explainSecondarySelection(LocalPlayer player, LocalSession session, Vector position) {
explainSecondarySelection((Actor) player, session, position);
}
@Override
public void explainRegionAdjust(LocalPlayer player, LocalSession session) {
explainRegionAdjust((Actor) player, session);
}
}

View File

@ -20,10 +20,12 @@
package com.sk89q.worldedit.regions.selector;
import com.sk89q.worldedit.*;
import com.sk89q.worldedit.extension.platform.Actor;
import com.sk89q.worldedit.internal.cui.*;
import com.sk89q.worldedit.regions.CylinderRegion;
import com.sk89q.worldedit.regions.Region;
import com.sk89q.worldedit.regions.RegionSelector;
import com.sk89q.worldedit.world.World;
import javax.annotation.Nullable;
import java.text.NumberFormat;
@ -45,12 +47,17 @@ public class CylinderRegionSelector extends com.sk89q.worldedit.regions.Cylinder
format.setMaximumFractionDigits(3);
}
@Deprecated
public CylinderRegionSelector(@Nullable LocalWorld world) {
this((World) world);
}
/**
* Create a new region selector.
*
* @param world the world
*/
public CylinderRegionSelector(@Nullable LocalWorld world) {
public CylinderRegionSelector(@Nullable World world) {
region = new CylinderRegion(world);
}
@ -134,14 +141,14 @@ public class CylinderRegionSelector extends com.sk89q.worldedit.regions.Cylinder
}
@Override
public void explainPrimarySelection(LocalPlayer player, LocalSession session, Vector pos) {
public void explainPrimarySelection(Actor player, LocalSession session, Vector pos) {
player.print("Starting a new cylindrical selection at " + pos + ".");
session.describeCUI(player);
}
@Override
public void explainSecondarySelection(LocalPlayer player, LocalSession session, Vector pos) {
public void explainSecondarySelection(Actor player, LocalSession session, Vector pos) {
Vector center = region.getCenter();
if (!center.equals(Vector.ZERO)) {
player.print("Radius set to " + format.format(region.getRadius().getX()) + "/" + format.format(region.getRadius().getZ()) + " blocks. (" + region.getArea() + ").");
@ -154,7 +161,7 @@ public class CylinderRegionSelector extends com.sk89q.worldedit.regions.Cylinder
}
@Override
public void explainRegionAdjust(LocalPlayer player, LocalSession session) {
public void explainRegionAdjust(Actor player, LocalSession session) {
session.describeCUI(player);
}
@ -220,13 +227,13 @@ public class CylinderRegionSelector extends com.sk89q.worldedit.regions.Cylinder
}
@Override
public void describeCUI(LocalSession session, LocalPlayer player) {
public void describeCUI(LocalSession session, Actor player) {
session.dispatchCUIEvent(player, new SelectionCylinderEvent(region.getCenter(), region.getRadius()));
session.dispatchCUIEvent(player, new SelectionMinMaxEvent(region.getMinimumY(), region.getMaximumY()));
}
@Override
public void describeLegacyCUI(LocalSession session, LocalPlayer player) {
public void describeLegacyCUI(LocalSession session, Actor player) {
if (isDefined()) {
session.dispatchCUIEvent(player, new SelectionPointEvent(0, region.getMinimumPoint(), getArea()));
session.dispatchCUIEvent(player, new SelectionPointEvent(1, region.getMaximumPoint(), getArea()));
@ -250,4 +257,19 @@ public class CylinderRegionSelector extends com.sk89q.worldedit.regions.Cylinder
return "cuboid";
}
@Override
public void explainPrimarySelection(LocalPlayer player, LocalSession session, Vector position) {
explainPrimarySelection((Actor) player, session, position);
}
@Override
public void explainSecondarySelection(LocalPlayer player, LocalSession session, Vector position) {
explainSecondarySelection((Actor) player, session, position);
}
@Override
public void explainRegionAdjust(LocalPlayer player, LocalSession session) {
explainRegionAdjust((Actor) player, session);
}
}

View File

@ -20,12 +20,14 @@
package com.sk89q.worldedit.regions.selector;
import com.sk89q.worldedit.*;
import com.sk89q.worldedit.extension.platform.Actor;
import com.sk89q.worldedit.internal.cui.CUIRegion;
import com.sk89q.worldedit.internal.cui.SelectionEllipsoidPointEvent;
import com.sk89q.worldedit.internal.cui.SelectionPointEvent;
import com.sk89q.worldedit.regions.EllipsoidRegion;
import com.sk89q.worldedit.regions.Region;
import com.sk89q.worldedit.regions.RegionSelector;
import com.sk89q.worldedit.world.World;
import javax.annotation.Nullable;
import java.util.ArrayList;
@ -42,18 +44,23 @@ public class EllipsoidRegionSelector extends com.sk89q.worldedit.regions.Ellipso
/**
* Create a new selector.
*
* @param world the world
*/
public EllipsoidRegionSelector() {
this((World) null);
}
@Deprecated
public EllipsoidRegionSelector(@Nullable LocalWorld world) {
region = new EllipsoidRegion(world, new Vector(), new Vector());
this((World) world);
}
/**
* Create a new selector.
*
* @param world the world
*/
public EllipsoidRegionSelector() {
this((LocalWorld) null);
public EllipsoidRegionSelector(@Nullable World world) {
region = new EllipsoidRegion(world, new Vector(), new Vector());
}
/**
@ -118,7 +125,7 @@ public class EllipsoidRegionSelector extends com.sk89q.worldedit.regions.Ellipso
}
@Override
public void explainPrimarySelection(LocalPlayer player, LocalSession session, Vector pos) {
public void explainPrimarySelection(Actor player, LocalSession session, Vector pos) {
if (isDefined()) {
player.print("Center position set to " + region.getCenter() + " (" + region.getArea() + ").");
} else {
@ -129,7 +136,7 @@ public class EllipsoidRegionSelector extends com.sk89q.worldedit.regions.Ellipso
}
@Override
public void explainSecondarySelection(LocalPlayer player, LocalSession session, Vector pos) {
public void explainSecondarySelection(Actor player, LocalSession session, Vector pos) {
if (isDefined()) {
player.print("Radius set to " + region.getRadius() + " (" + region.getArea() + ").");
} else {
@ -140,7 +147,7 @@ public class EllipsoidRegionSelector extends com.sk89q.worldedit.regions.Ellipso
}
@Override
public void explainRegionAdjust(LocalPlayer player, LocalSession session) {
public void explainRegionAdjust(Actor player, LocalSession session) {
session.describeCUI(player);
}
@ -201,13 +208,13 @@ public class EllipsoidRegionSelector extends com.sk89q.worldedit.regions.Ellipso
}
@Override
public void describeCUI(LocalSession session, LocalPlayer player) {
public void describeCUI(LocalSession session, Actor player) {
session.dispatchCUIEvent(player, new SelectionEllipsoidPointEvent(0, region.getCenter()));
session.dispatchCUIEvent(player, new SelectionEllipsoidPointEvent(1, region.getRadius()));
}
@Override
public void describeLegacyCUI(LocalSession session, LocalPlayer player) {
public void describeLegacyCUI(LocalSession session, Actor player) {
session.dispatchCUIEvent(player, new SelectionPointEvent(0, region.getMinimumPoint(), getArea()));
session.dispatchCUIEvent(player, new SelectionPointEvent(1, region.getMaximumPoint(), getArea()));
}
@ -232,4 +239,19 @@ public class EllipsoidRegionSelector extends com.sk89q.worldedit.regions.Ellipso
return region.getCenter().toBlockVector();
}
@Override
public void explainPrimarySelection(LocalPlayer player, LocalSession session, Vector position) {
explainPrimarySelection((Actor) player, session, position);
}
@Override
public void explainSecondarySelection(LocalPlayer player, LocalSession session, Vector position) {
explainSecondarySelection((Actor) player, session, position);
}
@Override
public void explainRegionAdjust(LocalPlayer player, LocalSession session) {
explainRegionAdjust((Actor) player, session);
}
}

View File

@ -20,8 +20,10 @@
package com.sk89q.worldedit.regions.selector;
import com.sk89q.worldedit.*;
import com.sk89q.worldedit.extension.platform.Actor;
import com.sk89q.worldedit.regions.CuboidRegion;
import com.sk89q.worldedit.regions.RegionSelector;
import com.sk89q.worldedit.world.World;
import javax.annotation.Nullable;
@ -31,12 +33,17 @@ import javax.annotation.Nullable;
*/
public class ExtendingCuboidRegionSelector extends CuboidRegionSelector {
@Deprecated
public ExtendingCuboidRegionSelector(@Nullable LocalWorld world) {
this((World) world);
}
/**
* Create a new selector.
*
* @param world the world
*/
public ExtendingCuboidRegionSelector(@Nullable LocalWorld world) {
public ExtendingCuboidRegionSelector(@Nullable World world) {
super(world);
}
@ -118,17 +125,32 @@ public class ExtendingCuboidRegionSelector extends CuboidRegionSelector {
}
@Override
public void explainPrimarySelection(LocalPlayer player, LocalSession session, Vector pos) {
public void explainPrimarySelection(Actor player, LocalSession session, Vector pos) {
player.print("Started selection at " + pos + " (" + region.getArea() + ").");
explainRegionAdjust(player, session);
}
@Override
public void explainSecondarySelection(LocalPlayer player, LocalSession session, Vector pos) {
public void explainSecondarySelection(Actor player, LocalSession session, Vector pos) {
player.print("Extended selection to encompass " + pos + " (" + region.getArea() + ").");
explainRegionAdjust(player, session);
}
@Override
public void explainPrimarySelection(LocalPlayer player, LocalSession session, Vector position) {
explainPrimarySelection((Actor) player, session, position);
}
@Override
public void explainSecondarySelection(LocalPlayer player, LocalSession session, Vector position) {
explainSecondarySelection((Actor) player, session, position);
}
@Override
public void explainRegionAdjust(LocalPlayer player, LocalSession session) {
explainRegionAdjust((Actor) player, session);
}
}

View File

@ -20,6 +20,7 @@
package com.sk89q.worldedit.regions.selector;
import com.sk89q.worldedit.*;
import com.sk89q.worldedit.extension.platform.Actor;
import com.sk89q.worldedit.internal.cui.CUIRegion;
import com.sk89q.worldedit.internal.cui.SelectionMinMaxEvent;
import com.sk89q.worldedit.internal.cui.SelectionPoint2DEvent;
@ -27,6 +28,7 @@ import com.sk89q.worldedit.internal.cui.SelectionShapeEvent;
import com.sk89q.worldedit.regions.Polygonal2DRegion;
import com.sk89q.worldedit.regions.Region;
import com.sk89q.worldedit.regions.RegionSelector;
import com.sk89q.worldedit.world.World;
import javax.annotation.Nullable;
import java.util.Collections;
@ -51,13 +53,18 @@ public class Polygonal2DRegionSelector extends com.sk89q.worldedit.regions.Polyg
this(world, 50);
}
@Deprecated
public Polygonal2DRegionSelector(@Nullable LocalWorld world, int maxPoints) {
this((World) world, maxPoints);
}
/**
* Create a new selector.
*
* @param world the world
* @param maxPoints the maximum number of points
*/
public Polygonal2DRegionSelector(@Nullable LocalWorld world, int maxPoints) {
public Polygonal2DRegionSelector(@Nullable World world, int maxPoints) {
this.maxPoints = maxPoints;
region = new Polygonal2DRegion(world);
}
@ -101,6 +108,11 @@ public class Polygonal2DRegionSelector extends com.sk89q.worldedit.regions.Polyg
}
}
@Deprecated
public Polygonal2DRegionSelector(@Nullable LocalWorld world, List<BlockVector2D> points, int minY, int maxY) {
this((World) world, points, minY, maxY);
}
/**
* Create a new selector.
*
@ -109,7 +121,7 @@ public class Polygonal2DRegionSelector extends com.sk89q.worldedit.regions.Polyg
* @param minY the minimum Y
* @param maxY the maximum Y
*/
public Polygonal2DRegionSelector(@Nullable LocalWorld world, List<BlockVector2D> points, int minY, int maxY) {
public Polygonal2DRegionSelector(@Nullable World world, List<BlockVector2D> points, int minY, int maxY) {
checkNotNull(points);
final BlockVector2D pos2D = points.get(0);
@ -153,7 +165,7 @@ public class Polygonal2DRegionSelector extends com.sk89q.worldedit.regions.Polyg
}
@Override
public void explainPrimarySelection(LocalPlayer player, LocalSession session, Vector pos) {
public void explainPrimarySelection(Actor player, LocalSession session, Vector pos) {
player.print("Starting a new polygon at " + pos + ".");
session.dispatchCUIEvent(player, new SelectionShapeEvent(getTypeID()));
@ -162,7 +174,7 @@ public class Polygonal2DRegionSelector extends com.sk89q.worldedit.regions.Polyg
}
@Override
public void explainSecondarySelection(LocalPlayer player, LocalSession session, Vector pos) {
public void explainSecondarySelection(Actor player, LocalSession session, Vector pos) {
player.print("Added point #" + region.size() + " at " + pos + ".");
session.dispatchCUIEvent(player, new SelectionPoint2DEvent(region.size() - 1, pos, getArea()));
@ -170,7 +182,7 @@ public class Polygonal2DRegionSelector extends com.sk89q.worldedit.regions.Polyg
}
@Override
public void explainRegionAdjust(LocalPlayer player, LocalSession session) {
public void explainRegionAdjust(Actor player, LocalSession session) {
session.dispatchCUIEvent(player, new SelectionShapeEvent(getTypeID()));
describeCUI(session, player);
}
@ -241,7 +253,7 @@ public class Polygonal2DRegionSelector extends com.sk89q.worldedit.regions.Polyg
}
@Override
public void describeCUI(LocalSession session, LocalPlayer player) {
public void describeCUI(LocalSession session, Actor player) {
final List<BlockVector2D> points = region.getPoints();
for (int id = 0; id < points.size(); id++) {
session.dispatchCUIEvent(player, new SelectionPoint2DEvent(id, points.get(id), getArea()));
@ -251,7 +263,7 @@ public class Polygonal2DRegionSelector extends com.sk89q.worldedit.regions.Polyg
}
@Override
public void describeLegacyCUI(LocalSession session, LocalPlayer player) {
public void describeLegacyCUI(LocalSession session, Actor player) {
describeCUI(session, player);
}
@ -270,4 +282,19 @@ public class Polygonal2DRegionSelector extends com.sk89q.worldedit.regions.Polyg
return "polygon2d";
}
@Override
public void explainPrimarySelection(LocalPlayer player, LocalSession session, Vector position) {
explainPrimarySelection((Actor) player, session, position);
}
@Override
public void explainSecondarySelection(LocalPlayer player, LocalSession session, Vector position) {
explainSecondarySelection((Actor) player, session, position);
}
@Override
public void explainRegionAdjust(LocalPlayer player, LocalSession session) {
explainRegionAdjust((Actor) player, session);
}
}

View File

@ -23,7 +23,9 @@ import com.sk89q.worldedit.LocalPlayer;
import com.sk89q.worldedit.LocalSession;
import com.sk89q.worldedit.LocalWorld;
import com.sk89q.worldedit.Vector;
import com.sk89q.worldedit.extension.platform.Actor;
import com.sk89q.worldedit.regions.RegionSelector;
import com.sk89q.worldedit.world.World;
import javax.annotation.Nullable;
@ -32,12 +34,17 @@ import javax.annotation.Nullable;
*/
public class SphereRegionSelector extends EllipsoidRegionSelector {
@Deprecated
public SphereRegionSelector(@Nullable LocalWorld world) {
this((World) world);
}
/**
* Create a new selector.
*
* @param world the world
*/
public SphereRegionSelector(@Nullable LocalWorld world) {
public SphereRegionSelector(@Nullable World world) {
super(world);
}
@ -80,7 +87,7 @@ public class SphereRegionSelector extends EllipsoidRegionSelector {
}
@Override
public void explainSecondarySelection(LocalPlayer player, LocalSession session, Vector pos) {
public void explainSecondarySelection(Actor player, LocalSession session, Vector pos) {
if (isDefined()) {
player.print("Radius set to " + region.getRadius().getX() + " (" + region.getArea() + ").");
} else {
@ -95,4 +102,19 @@ public class SphereRegionSelector extends EllipsoidRegionSelector {
return "sphere";
}
@Override
public void explainPrimarySelection(LocalPlayer player, LocalSession session, Vector position) {
explainPrimarySelection((Actor) player, session, position);
}
@Override
public void explainSecondarySelection(LocalPlayer player, LocalSession session, Vector position) {
explainSecondarySelection((Actor) player, session, position);
}
@Override
public void explainRegionAdjust(LocalPlayer player, LocalSession session) {
explainRegionAdjust((Actor) player, session);
}
}