Changed the compass so that left click is /jumpto and right click is /thru.

This commit is contained in:
sk89q 2011-03-11 23:38:11 -08:00
parent 5ac8c5adf7
commit 5e536ad302
2 changed files with 13 additions and 63 deletions

View File

@ -44,14 +44,6 @@ import com.sk89q.worldedit.regions.RegionSelector;
* @author sk89q
*/
public class LocalSession {
/**
* List of compass modes.
*/
public enum CompassMode {
JUMPTO,
THRU
}
public static int MAX_HISTORY_SIZE = 15;
private LocalConfiguration config;
@ -71,7 +63,6 @@ public class LocalSession {
private boolean useInventory;
private Snapshot snapshot;
private String lastScript;
private CompassMode compassMode = CompassMode.JUMPTO;
private boolean beenToldVersion = false;
private boolean hasCUISupport = false;
@ -491,24 +482,6 @@ public class LocalSession {
public void setLastScript(String lastScript) {
this.lastScript = lastScript;
}
/**
* Get the compass mode.
*
* @return the compassMode
*/
public CompassMode getCompassMode() {
return compassMode;
}
/**
* Set the compass mode.
*
* @param compassMode the compassMode to set
*/
public void setCompassMode(CompassMode compassMode) {
this.compassMode = compassMode;
}
/**
* Tell the player the WorldEdit version.

View File

@ -30,7 +30,6 @@ import com.sk89q.minecraft.util.commands.MissingNestedCommandException;
import com.sk89q.minecraft.util.commands.UnhandledCommandException;
import com.sk89q.minecraft.util.commands.WrappedCommandException;
import com.sk89q.util.StringUtil;
import com.sk89q.worldedit.LocalSession.CompassMode;
import com.sk89q.worldedit.bags.BlockBag;
import com.sk89q.worldedit.blocks.*;
import com.sk89q.worldedit.commands.*;
@ -740,23 +739,14 @@ public class WorldEdit {
* @return
*/
public boolean handleArmSwing(LocalPlayer player) {
LocalSession session = getSession(player);
if (player.getItemInHand() == config.navigationWand
&& config.navigationWandMaxDistance > 0) {
CompassMode mode = session.getCompassMode();
if (player.hasPermission("worldedit.navigation.jumpto") && mode == CompassMode.JUMPTO) {
WorldVector pos = player.getSolidBlockTrace(config.navigationWandMaxDistance);
if (pos != null) {
player.findFreePosition(pos);
} else {
player.printError("No block in sight (or too far)!");
}
} else if (mode == CompassMode.THRU) { // Permission is implied
if (!player.passThroughForwardWall(40)) {
player.printError("Nothing to pass through!");
}
&& config.navigationWandMaxDistance > 0
&& player.hasPermission("worldedit.navigation.jumpto")) {
WorldVector pos = player.getSolidBlockTrace(config.navigationWandMaxDistance);
if (pos != null) {
player.findFreePosition(pos);
} else {
player.printError("No block in sight (or too far)!");
}
}
@ -771,27 +761,14 @@ public class WorldEdit {
*/
public boolean handleRightClick(LocalPlayer player) {
LocalSession session = getSession(player);
if (player.getItemInHand() == config.navigationWand) {
CompassMode mode = session.getCompassMode();
if (player.getItemInHand() == config.navigationWand
&& config.navigationWandMaxDistance > 0
&& player.hasPermission("worldedit.navigation.thru")) {
if (mode == CompassMode.JUMPTO) {
if (player.hasPermission("worldedit.navigation.thru")) {
session.setCompassMode(CompassMode.THRU);
player.print("Switched to /thru mode.");
} else {
player.printError("You don't have permission for /thru.");
}
} else {
if (player.hasPermission("worldedit.navigation.jumpto")) {
session.setCompassMode(CompassMode.JUMPTO);
player.print("Switched to /jumpto mode.");
} else {
player.printError("You don't have permission for /jumpto.");
}
if (!player.passThroughForwardWall(40)) {
player.printError("Nothing to pass through!");
}
return true;
}
Tool tool = session.getTool(player.getItemInHand());