Yagupov_v
Пользователь
- Сообщения
- 3
Пишу свой плагин (без лишнего ФК и т.д.)
Сделал вполне простую структуру, которая в идее должна работать:
Сделал вполне простую структуру, которая в идее должна работать:
Тем не менее при входе на сервер игроки водят друг-друга, как можно решить?public class PlayerHidingPlugin extends JavaPlugin implements Listener {
private Set<Player> hiddenPlayers = new HashSet<>();
@Override
public void onEnable() {
getServer().getPluginManager().registerEvents(this, this);
}
@EventHandler
public void onPlayerJoin(PlayerJoinEvent event) {
Player player = event.getPlayer();
hidePlayer(player);
}
@EventHandler
public void onPlayerQuit(PlayerQuitEvent event) {
Player player = event.getPlayer();
// Удаляем игрока из списка скрытых при выходе
hiddenPlayers.remove(player);
}
public void hidePlayer(Player player) {
for (Player otherPlayer : getServer().getOnlinePlayers()) {
if (!otherPlayer.equals(player)) {
// Скрываем игрока от других игроков
otherPlayer.hidePlayer(this, player);
}
}
hiddenPlayers.add(player);
}
public void showPlayer(Player player) {
for (Player otherPlayer : getServer().getOnlinePlayers()) {
if (!otherPlayer.equals(player)) {
// Отображаем игрока для других игроков
otherPlayer.showPlayer(this, player);
}
}
hiddenPlayers.remove(player);
}
}