1
0
mirror of https://github.com/essentials/Essentials.git synced 2025-08-14 18:44:48 +02:00

Merge pull request #305 from Riaku/master

Adding per-group teleport permissions :: will clean up later if needed.
This commit is contained in:
Iaccidentally
2013-02-06 15:46:32 -08:00
8 changed files with 40 additions and 2 deletions

View File

@@ -1,3 +1,5 @@
per-group-teleport: true
############################################################
# +------------------------------------------------------+ #
# | Notes | #
@@ -290,6 +292,9 @@ no-god-in-worlds:
# This does not affect the /home command, there is a separate toggle below for this.
world-teleport-permissions: false
#Set to true to enable per-group teleporting permissions.
perGroupTeleport: false
# The number of items given if the quantity parameter is left out in /item or /give.
# If this number is below 1, the maximum stack size size is given. If over-sized stacks
# are not enabled, any number higher than the maximum stack size results in more than one stack.

View File

@@ -27,6 +27,11 @@ public class Commandtp extends EssentialsCommand
{
throw new Exception(_("teleportDisabled", player.getPlayer().getDisplayName()));
}
if (settings.getData().getGeneral().isPerGroupTeleport() && !Permissions.PERGROUPTELEPORT.isAuthorized(
user, ess.getRanks().getMainGroup(user)))
{
throw new Exception(_("noPerm", "essentials.tp." + player));
}
if (user.getPlayer().getWorld() != player.getPlayer().getWorld() && settings.getData().getGeneral().isWorldTeleportPermissions() && !Permissions.WORLD.isAuthorized(
user, player.getPlayer().getWorld().getName()))
{

View File

@@ -22,8 +22,13 @@ public class Commandtpa extends EssentialsCommand
{
throw new Exception(_("teleportDisabled", player.getPlayer().getDisplayName()));
}
ISettings settings = ess.getSettings();
if (settings.getData().getGeneral().isPerGroupTeleport() && !Permissions.PERGROUPTELEPORT.isAuthorized(
user, ess.getRanks().getMainGroup(user)))
{
throw new Exception(_("noPerm", "essentials.tp." + player));
}
if (user.getPlayer().getWorld() != player.getPlayer().getWorld() && ess.getSettings().getData().getGeneral().isWorldTeleportPermissions() && !Permissions.WORLD.isAuthorized(
user, user.getPlayer().getWorld().getName()))
{

View File

@@ -24,6 +24,11 @@ public class Commandtpahere extends EssentialsCommand
}
ISettings settings = ess.getSettings();
if (settings.getData().getGeneral().isPerGroupTeleport() && !Permissions.PERGROUPTELEPORT.isAuthorized(
user, ess.getRanks().getMainGroup(user)))
{
throw new Exception(_("noPerm", "essentials.tp." + player));
}
if (user.getPlayer().getWorld() != player.getPlayer().getWorld() && settings.getData().getGeneral().isWorldTeleportPermissions() && !Permissions.WORLD.isAuthorized(
user, user.getPlayer().getWorld().getName()))
{

View File

@@ -1,8 +1,10 @@
package net.ess3.commands;
import static net.ess3.I18n._;
import net.ess3.api.ISettings;
import net.ess3.api.IUser;
import net.ess3.economy.Trade;
import net.ess3.permissions.Permissions;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
@@ -16,6 +18,12 @@ public class Commandtphere extends EssentialsCommand
{
throw new Exception(_("teleportDisabled", player.getPlayer().getDisplayName()));
}
ISettings settings = ess.getSettings();
if (settings.getData().getGeneral().isPerGroupTeleport() && !Permissions.PERGROUPTELEPORT.isAuthorized(
user, ess.getRanks().getMainGroup(user)))
{
throw new Exception(_("noPerm", "essentials.tp." + player));
}
user.getTeleport().teleportToMe(player, new Trade(commandName, ess), TeleportCause.COMMAND);
user.sendMessage(_("teleporting"));

View File

@@ -1,6 +1,7 @@
package net.ess3.commands;
import static net.ess3.I18n._;
import net.ess3.api.ISettings;
import net.ess3.api.IUser;
import net.ess3.permissions.Permissions;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
@@ -18,7 +19,13 @@ public class Commandtpo extends EssentialsCommand
//Just basically the old tp command
final IUser player = ess.getUserMap().matchUser(args[0], false);
ISettings settings = ess.getSettings();
if (settings.getData().getGeneral().isPerGroupTeleport() && !Permissions.PERGROUPTELEPORT.isAuthorized(
user, ess.getRanks().getMainGroup(user)))
{
throw new Exception(_("noPerm", "essentials.tp." + player));
}
// Verify permission
if (user.getPlayer().canSee(player.getPlayer()) || Permissions.TELEPORT_HIDDEN.isAuthorized(user))
{

View File

@@ -167,6 +167,7 @@ public enum Permissions implements IPermission
}
public static DotStarPermission ENCHANT = new DotStarPermission("essentials.enchant");
public static DotStarPermission PERGROUPTELEPORT = new DotStarPermission("essentials.tp");
public static MaterialDotStarPermission GIVE = new MaterialDotStarPermission("essentials.give", PermissionDefault.TRUE);
public static DotStarPermission RANKS = new DotStarPermission("essentials.ranks");
public static DotStarPermission HELP = new DotStarPermission("essentials.help");

View File

@@ -59,6 +59,8 @@ public class General implements StorageObject
})
private boolean worldTeleportPermissions = false;
private boolean worldHomePermissions = false;
@Comment("Set to true to enable per-group teleporting permissions.")
private boolean perGroupTeleport = false;
@Comment("Delay to wait before people can cause attack damage after logging in ")
private long loginAttackDelay = 0;