package com.earth2me.essentials.commands; import static com.earth2me.essentials.I18n._; import com.earth2me.essentials.User; import java.util.Locale; import org.bukkit.GameMode; import org.bukkit.Server; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; public class Commandfly extends EssentialsCommand { public Commandfly() { super("fly"); } @Override protected void run(final Server server, final CommandSender sender, final String commandLabel, final String[] args) throws Exception { if (args.length < 1) { throw new NotEnoughArgumentsException(); } flyOtherPlayers(server, sender, args[0]); } @Override protected void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception { if (args.length > 0 && !args[0].trim().isEmpty() && user.isAuthorized("essentials.fly.others")) { flyOtherPlayers(server, user, args[0]); return; } user.setAllowFlight(!user.getAllowFlight()); if (!user.getAllowFlight()) { user.setFlying(false); } user.sendMessage(_("flyMode", _(user.getAllowFlight() ? "true" : "false"), user.getDisplayName())); } private void flyOtherPlayers(final Server server, final CommandSender sender, final String name) { for (Player matchPlayer : server.matchPlayer(name)) { final User player = ess.getUser(matchPlayer); if (player.isHidden()) { continue; } player.setAllowFlight(!player.getAllowFlight()); if (!player.getAllowFlight()) { player.setFlying(false); } sender.sendMessage(_("flyMode", _(player.getAllowFlight() ? "true" : "false"), player.getDisplayName())); } } }