Y
YoshiMiner
Guest
Also ich hab ein /v Befehl, der mich zum Vanish macht und im JoinListener wird, wenn ich im Vanish bin, werde ich vor allen unsichtbar gemacht und ich werde vor allen anderen die im Vanish sind unsichtbar gemacht.
Allerdings wenn ich mit 1 Acc on komme und /v eingebe, sieht mich ja der 2. Acc nicht mehr, aber wenn der 2. Acc dann neu joint, sieht er vom 1. Acc die Figur nicht mehr, aber er sieht es in der Tablist. Warum?
Befehl:
Join Listener:
Allerdings wenn ich mit 1 Acc on komme und /v eingebe, sieht mich ja der 2. Acc nicht mehr, aber wenn der 2. Acc dann neu joint, sieht er vom 1. Acc die Figur nicht mehr, aber er sieht es in der Tablist. Warum?
Befehl:
Code:
package commands;
import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import java.util.ArrayList;
public class VanishCommand implements CommandExecutor {
public static ArrayList<String> vanished = new ArrayList<String>();
@Overridepublic boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
if(!(sender instanceof Player)) {
sender.sendMessage("§b[§aFreebuild§b]§c Diesen Befehl können nur Spieler ausführen!");
return true;
}
Player p = (Player) sender;
if(!vanished.contains(p.getUniqueId().toString())) {
vanished.add(p.getUniqueId().toString());
for (Player pl : Bukkit.getOnlinePlayers()) {
if(!(pl.getUniqueId().toString() == p.getUniqueId().toString())) {
pl.hidePlayer(p);
}
}
Bukkit.broadcastMessage("§e" + p.getName() + " §bhat §5Freebuild §cverlassen");
if(!(args.length == 0)) {
String arg = String.join(" ", args);
Bukkit.broadcastMessage("§aGrund§c: §b" + arg);
}
} else {
vanished.remove(p.getUniqueId().toString());
for (Player pl : Bukkit.getOnlinePlayers()) {
pl.showPlayer(p);
}
Bukkit.broadcastMessage("§e" + p.getName() + " §bhat §5Freebuild §abetreten");
}
return true;
}
}
Code:
package listener;
import commands.VanishCommand;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
public class JoinListener implements Listener {
@EventHandlerpublic void onJoin(PlayerJoinEvent e) {
Player p = e.getPlayer();
for(Player pl : Bukkit.getOnlinePlayers()) {
if(VanishCommand.vanished.contains(pl.getUniqueId().toString())) {
p.hidePlayer(pl);
}
}
if(VanishCommand.vanished.contains(p.getUniqueId().toString())) {
for(Player pl : Bukkit.getOnlinePlayers()) {
if(!(pl.getUniqueId().toString() == p.getUniqueId().toString())) {
pl.hidePlayer(p);
}
}
e.setJoinMessage(null);
} else {
e.setJoinMessage("§e" + e.getPlayer().getName() + " §bhat §5Freebuild §abetreten");
}
return;
}
}