Added new permission node for party teleportation.

`mcmmo.commands.ptp.send`
This permission node will be check before sending a teleport request
(or teleporting the sender if no request is required), this allows
admins to grant certain groups of users permissions to accept incoming
party teleport request without being able to send ptp requests
themselves.

Closes #927
This commit is contained in:
TfT_02 2013-04-04 22:20:19 +02:00
parent c16e5231f4
commit f1c16df63b
3 changed files with 10 additions and 0 deletions

View File

@ -12,6 +12,7 @@ import com.gmail.nossr50.events.party.McMMOPartyTeleportEvent;
import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.locale.LocaleLoader;
import com.gmail.nossr50.party.PartyManager; import com.gmail.nossr50.party.PartyManager;
import com.gmail.nossr50.util.Misc; import com.gmail.nossr50.util.Misc;
import com.gmail.nossr50.util.Permissions;
import com.gmail.nossr50.util.commands.CommandUtils; import com.gmail.nossr50.util.commands.CommandUtils;
import com.gmail.nossr50.util.player.UserManager; import com.gmail.nossr50.util.player.UserManager;
@ -54,6 +55,11 @@ public class PtpCommand implements CommandExecutor {
return ptpAcceptCommand.onCommand(sender, command, label, args); return ptpAcceptCommand.onCommand(sender, command, label, args);
} }
if (!Permissions.partyTeleportSend(sender)) {
sender.sendMessage(command.getPermissionMessage());
return true;
}
sendTeleportRequest(sender, player, args[0]); sendTeleportRequest(sender, player, args[0]);
return true; return true;

View File

@ -217,6 +217,7 @@ public final class Permissions {
public static boolean friendlyFire(Permissible permissible) { return permissible.hasPermission("mcmmo.party.friendlyfire"); } public static boolean friendlyFire(Permissible permissible) { return permissible.hasPermission("mcmmo.party.friendlyfire"); }
/* TELEPORT */ /* TELEPORT */
public static boolean partyTeleportSend(Permissible permissible) { return permissible.hasPermission("mcmmo.commands.ptp.send"); }
public static boolean partyTeleportAccept(Permissible permissible) { return permissible.hasPermission("mcmmo.commands.ptp.accept"); } public static boolean partyTeleportAccept(Permissible permissible) { return permissible.hasPermission("mcmmo.commands.ptp.accept"); }
public static boolean partyTeleportAcceptAll(Permissible permissible) { return permissible.hasPermission("mcmmo.commands.ptp.acceptall"); } public static boolean partyTeleportAcceptAll(Permissible permissible) { return permissible.hasPermission("mcmmo.commands.ptp.acceptall"); }
public static boolean partyTeleportToggle(Permissible permissible) { return permissible.hasPermission("mcmmo.commands.ptp.toggle"); } public static boolean partyTeleportToggle(Permissible permissible) { return permissible.hasPermission("mcmmo.commands.ptp.toggle"); }

View File

@ -954,12 +954,15 @@ permissions:
description: Implies access to all mcmmo.commands.ptp permissions. description: Implies access to all mcmmo.commands.ptp permissions.
children: children:
mcmmo.commands.ptp: true mcmmo.commands.ptp: true
mcmmo.commands.ptp.send: true
mcmmo.commands.ptp.accept: true mcmmo.commands.ptp.accept: true
mcmmo.commands.ptp.acceptall: true mcmmo.commands.ptp.acceptall: true
mcmmo.commands.ptp.toggle: true mcmmo.commands.ptp.toggle: true
mcmmo.commands.ptp.world.all: true mcmmo.commands.ptp.world.all: true
mcmmo.commands.ptp: mcmmo.commands.ptp:
description: Allows access to the ptp command description: Allows access to the ptp command
mcmmo.commands.ptp.send:
description: Allows access to the ptp <player> command
mcmmo.commands.ptp.accept: mcmmo.commands.ptp.accept:
description: Allows access to the ptp accept command description: Allows access to the ptp accept command
mcmmo.commands.ptp.acceptall: mcmmo.commands.ptp.acceptall: