From 256897f47369c5c96fb4d07383c4304cc81b33fe Mon Sep 17 00:00:00 2001 From: zml2008 Date: Fri, 11 Nov 2011 15:39:42 -0800 Subject: [PATCH] Added seperate permissions for jumpto/thru commands and tools --- src/main/java/com/sk89q/worldedit/WorldEdit.java | 6 ++++-- .../worldedit/commands/NavigationCommands.java | 13 +++++++++++-- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/sk89q/worldedit/WorldEdit.java b/src/main/java/com/sk89q/worldedit/WorldEdit.java index 058b6bec6..f6e5d0441 100644 --- a/src/main/java/com/sk89q/worldedit/WorldEdit.java +++ b/src/main/java/com/sk89q/worldedit/WorldEdit.java @@ -1018,7 +1018,8 @@ public class WorldEdit { LocalSession session = getSession(player); if (player.getItemInHand() == config.navigationWand && config.navigationWandMaxDistance > 0 - && player.hasPermission("worldedit.navigation.jumpto")) { + && (player.hasPermission("worldedit.navigation.jumpto.tool") + || player.hasPermission("worldedit.navigation.jumpto"))) { // TODO: Remove old permission // Bug workaround // Blocks this from being used after the thru function // @TODO do this right or make craftbukkit do it right @@ -1056,7 +1057,8 @@ public class WorldEdit { if (player.getItemInHand() == config.navigationWand && config.navigationWandMaxDistance > 0 - && player.hasPermission("worldedit.navigation.thru")) { + && (player.hasPermission("worldedit.navigation.thru.tool") + || player.hasPermission("worldedit.navication.thru"))) { // TODO: Remove old permission if (!player.passThroughForwardWall(40)) { player.printError("Nothing to pass through!"); diff --git a/src/main/java/com/sk89q/worldedit/commands/NavigationCommands.java b/src/main/java/com/sk89q/worldedit/commands/NavigationCommands.java index 41846309b..a7ca0cd2b 100644 --- a/src/main/java/com/sk89q/worldedit/commands/NavigationCommands.java +++ b/src/main/java/com/sk89q/worldedit/commands/NavigationCommands.java @@ -136,10 +136,14 @@ public class NavigationCommands { min = 0, max = 0 ) - @CommandPermissions("worldedit.navigation.thru") + // @CommandPermissions("worldedit.navigation.thru.command") // TODO: Remove old permission public static void thru(CommandContext args, WorldEdit we, LocalSession session, LocalPlayer player, EditSession editSession) throws WorldEditException { + if (!(player.hasPermission("worldedit.navigation.thru") || + player.hasPermission("worldedit.navigation.thru.command"))) { + throw new WorldEditPermissionException(); + } if (player.passThroughForwardWall(6)) { player.print("Whoosh!"); @@ -155,11 +159,16 @@ public class NavigationCommands { min = 0, max = 0 ) - @CommandPermissions("worldedit.navigation.jumpto") + // @CommandPermissions("worldedit.navigation.jumpto.command") //TODO: Remove old permission public static void jumpTo(CommandContext args, WorldEdit we, LocalSession session, LocalPlayer player, EditSession editSession) throws WorldEditException { + if (!(player.hasPermission("worldedit.navigation.jumpto") || + player.hasPermission("worldedit.navigation.jumpto.command"))) { + throw new WorldEditPermissionException(); + } + WorldVector pos = player.getSolidBlockTrace(300); if (pos != null) { player.findFreePosition(pos);