Código:
package me.igorfsilver.ivanish;
import java.util.ArrayList;
import org.bukkit.Bukkit;
import org.bukkit.Server;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
public class Main
extends JavaPlugin
implements Listener
{
private ArrayList<Player> vanished = new ArrayList();
public void onEnable()
{
saveDefaultConfig();
Bukkit.getServer().getPluginManager().registerEvents(this, this);
}
public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args)
{
if (!(sender instanceof Player))
{
sender.sendMessage(getConfig().getString("Mensagem1").replace("&", "�"));
return true;
}
Player p = (Player)sender;
if (cmd.getName().equalsIgnoreCase("vanish"))
{
if (!sender.hasPermission("vanish.usar"))
{
sender.sendMessage(getConfig().getString("Prefixo").replace("&", "�") + " " + getConfig().getString("Mensagem2").replace("&", "�"));
return true;
}
if (!this.vanished.contains(p))
{
Player[] arrayOfPlayer;
int j = (arrayOfPlayer = Bukkit.getServer().getOnlinePlayers()).length;
for (int i = 0; i < j; i++)
{
Player pl = arrayOfPlayer[i];
pl.hidePlayer(p);
}
this.vanished.add(p);
p.sendMessage(getConfig().getString("Prefixo").replace("&", "�") + " " + getConfig().getString("Mensagem3").replace("&", "�"));
return true;
}
Player[] arrayOfPlayer;
int j = (arrayOfPlayer = Bukkit.getServer().getOnlinePlayers()).length;
for (int i = 0; i < j; i++)
{
Player pl = arrayOfPlayer[i];
pl.showPlayer(p);
}
this.vanished.remove(p);
p.sendMessage(getConfig().getString("Prefixo").replace("&", "�") + " " + getConfig().getString("Mensagem4").replace("&", "�"));
return true;
}
return true;
}
@EventHandler
public void onPlayerJoin(PlayerJoinEvent e)
{
for (Player p : this.vanished) {
e.getPlayer().hidePlayer(p);
}
}
@EventHandler
public void onPlayerLeave(PlayerQuitEvent e)
{
this.vanished.remove(e.getPlayer());
}
}