Added support for non-128 worldheights

This commit is contained in:
zml2008
2011-12-12 19:20:31 -08:00
committed by TomyLobo
parent e01aad00d8
commit 98216e2762
24 changed files with 190 additions and 102 deletions

View File

@@ -56,7 +56,6 @@ public class LocalSession {
private LocalConfiguration config;
private long expirationTime = 0;
private LocalWorld selectionWorld;
private RegionSelector selector = new CuboidRegionSelector();
private boolean placeAtPos1 = false;
private LinkedList<EditSession> history = new LinkedList<EditSession>();
@@ -183,10 +182,10 @@ public class LocalSession {
* @return position
*/
public RegionSelector getRegionSelector(LocalWorld world) {
if (selectionWorld == null) {
selectionWorld = world;
} else if (!selectionWorld.equals(world)) {
selectionWorld = world;
if (selector.getIncompleteRegion().getWorld() == null) {
selector = new CuboidRegionSelector(world);
} else if (!selector.getIncompleteRegion().getWorld().equals(world)) {
selector.getIncompleteRegion().setWorld(world);
selector.clear();
}
return selector;
@@ -198,6 +197,7 @@ public class LocalSession {
*
* @return position
*/
@Deprecated
public RegionSelector getRegionSelector() {
return selector;
}
@@ -209,7 +209,7 @@ public class LocalSession {
* @param selector
*/
public void setRegionSelector(LocalWorld world, RegionSelector selector) {
selectionWorld = world;
selector.getIncompleteRegion().setWorld(world);
this.selector = selector;
}
@@ -230,7 +230,7 @@ public class LocalSession {
* @return
*/
public boolean isSelectionDefined(LocalWorld world) {
if (selectionWorld == null || !selectionWorld.equals(world)) {
if (selector.getIncompleteRegion().getWorld() == null || !selector.getIncompleteRegion().getWorld().equals(world)) {
return false;
}
return selector.isDefined();
@@ -258,7 +258,7 @@ public class LocalSession {
* @throws IncompleteRegionException
*/
public Region getSelection(LocalWorld world) throws IncompleteRegionException {
if (selectionWorld == null || !selectionWorld.equals(world)) {
if (selector.getIncompleteRegion().getWorld() == null || !selector.getIncompleteRegion().getWorld().equals(world)) {
throw new IncompleteRegionException();
}
return selector.getRegion();
@@ -270,7 +270,7 @@ public class LocalSession {
* @return
*/
public LocalWorld getSelectionWorld() {
return selectionWorld;
return selector.getIncompleteRegion().getWorld();
}
/**