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

Don't allow toggling offline players with /fly and /vanish

This commit is contained in:
KHobbits
2012-12-02 00:57:29 +00:00
parent f79fe70a86
commit 032c35c90d
3 changed files with 21 additions and 5 deletions

View File

@@ -1,10 +1,9 @@
package net.ess3.commands; package net.ess3.commands;
import static net.ess3.I18n._; import static net.ess3.I18n._;
import org.bukkit.command.CommandSender;
import net.ess3.api.IUser; import net.ess3.api.IUser;
import net.ess3.permissions.Permissions; import net.ess3.permissions.Permissions;
import org.bukkit.Server;
import org.bukkit.command.CommandSender;
public class Commandfly extends EssentialsSettingsCommand public class Commandfly extends EssentialsSettingsCommand
@@ -49,4 +48,9 @@ public class Commandfly extends EssentialsSettingsCommand
{ {
return Permissions.FLY_EXEMPT.isAuthorized(player); return Permissions.FLY_EXEMPT.isAuthorized(player);
} }
protected boolean toggleOfflinePlayers()
{
return false;
}
} }

View File

@@ -44,4 +44,8 @@ public class Commandvanish extends EssentialsSettingsCommand
return Permissions.VANISH_EXEMPT.isAuthorized(player); return Permissions.VANISH_EXEMPT.isAuthorized(player);
} }
protected boolean toggleOfflinePlayers()
{
return false;
}
} }

View File

@@ -1,10 +1,9 @@
package net.ess3.commands; package net.ess3.commands;
import static net.ess3.I18n._; import java.util.Set;
import org.bukkit.Server; import org.bukkit.Server;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import net.ess3.api.IUser; import net.ess3.api.IUser;
import net.ess3.permissions.Permissions;
public abstract class EssentialsSettingsCommand extends EssentialsCommand public abstract class EssentialsSettingsCommand extends EssentialsCommand
@@ -40,6 +39,11 @@ public abstract class EssentialsSettingsCommand extends EssentialsCommand
throw new UnsupportedOperationException("Not supported yet."); throw new UnsupportedOperationException("Not supported yet.");
} }
protected boolean toggleOfflinePlayers()
{
return true;
}
@Override @Override
protected void run(final CommandSender sender, final String commandLabel, final String[] args) throws Exception protected void run(final CommandSender sender, final String commandLabel, final String[] args) throws Exception
{ {
@@ -84,7 +88,11 @@ public abstract class EssentialsSettingsCommand extends EssentialsCommand
private void toggleOtherPlayers(final Server server, final CommandSender sender, final String[] args) private void toggleOtherPlayers(final Server server, final CommandSender sender, final String[] args)
{ {
for (IUser matchPlayer : ess.getUserMap().matchUsersExcludingHidden(args[0], getPlayerOrNull(sender))) Set<IUser> matches = toggleOfflinePlayers() ? ess.getUserMap().matchUsers(args[0], true) : ess.getUserMap().matchUsersExcludingHidden(
args[0], getPlayerOrNull(
sender));
for (IUser matchPlayer : matches)
{ {
if (isExempt(sender, matchPlayer)) if (isExempt(sender, matchPlayer))
{ {