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:
@@ -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.
|
||||
|
@@ -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()))
|
||||
{
|
||||
|
@@ -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()))
|
||||
{
|
||||
|
@@ -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()))
|
||||
{
|
||||
|
@@ -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"));
|
||||
|
@@ -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))
|
||||
{
|
||||
|
@@ -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");
|
||||
|
@@ -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;
|
||||
|
||||
|
Reference in New Issue
Block a user