Skip to content

Commit

Permalink
Changed the compass so that left click is /jumpto and right click is …
Browse files Browse the repository at this point in the history
…/thru.
  • Loading branch information
sk89q committed Mar 12, 2011
1 parent 5ac8c5a commit 5e536ad
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 63 deletions.
27 changes: 0 additions & 27 deletions src/com/sk89q/worldedit/LocalSession.java
Expand Up @@ -44,14 +44,6 @@
* @author sk89q
*/
public class LocalSession {
/**
* List of compass modes.
*/
public enum CompassMode {
JUMPTO,
THRU
}

public static int MAX_HISTORY_SIZE = 15;

private LocalConfiguration config;
Expand All @@ -71,7 +63,6 @@ public enum CompassMode {
private boolean useInventory;
private Snapshot snapshot;
private String lastScript;
private CompassMode compassMode = CompassMode.JUMPTO;
private boolean beenToldVersion = false;
private boolean hasCUISupport = false;

Expand Down Expand Up @@ -491,24 +482,6 @@ public String getLastScript() {
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.
Expand Down
49 changes: 13 additions & 36 deletions src/com/sk89q/worldedit/WorldEdit.java
Expand Up @@ -30,7 +30,6 @@
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.*;
Expand Down Expand Up @@ -740,23 +739,14 @@ public void handleDisconnect(LocalPlayer player) {
* @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)!");
}
}

Expand All @@ -771,27 +761,14 @@ public boolean handleArmSwing(LocalPlayer player) {
*/
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());
Expand Down

0 comments on commit 5e536ad

Please sign in to comment.