Помогите Невидимость для появившегося игрока

Статус
Закрыто для дальнейших ответов.

NukerFall

Активный участник
Пользователь
Баллы
76
Здравствуйте, форумчане. Я уж прям совсем начинающий в сфере написания плагинов на MineCraft, и пытался написать плагин, который бы скрывал от игрока, появивившегося на сервере, всех остальных игроков.
Вроде как все эвенты обозначил, поставил два действия: Вывод сообщения и hidePlayer. Сообщение выводится, а вот эффект не работает ☹️. Буду признателен за помощь.
Вот код:
package *папка*;

import *папка*.Main;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;

public class JoinListener implements Listener
{
private Main plugin;
public JoinListener(Main plugin) {
this.plugin = plugin;
Bukkit.getPluginManager().registerEvents(this, plugin); // в Main-классе new JoinListener(this);
}

public void JoinEvent(PlayerJoinEvent e) {
Player player = e.getPlayer();
player.sendMessage(ChatColor.AQUA + "Vanished!");
Player[] arrayOfPlayer;
int j = (arrayOfPlayer = Bukkit.getOnlinePlayers().toArray(new Player[0])).length;
for (int i = 0; i < j; i++) {
Player p = arrayOfPlayer;
player.hidePlayer(p);
}
}
}
 
Последнее редактирование:
1) Я вообще хз как твой код еще работает, там в синтаксисе ошибка.
2) Не нужно записывать всех игроков в массив, просто используй коллекцию что тебе дает
Bukkit.getOnlinePlayers()
Код:
for(Player p : Bukkit.getOnlinePlayers()){
    player.hidePlayer(p);
}
3) Ты забыл указать @EventHandler перед методом JoinEvent
 
1) Я вообще хз как твой код еще работает, там в синтаксисе ошибка.
2) Не нужно записывать всех игроков в массив, просто используй коллекцию что тебе дает Bukkit.getOnlinePlayers()
Код:
for(Player p : Bukkit.getOnlinePlayers()){
    player.hidePlayer(p);
}
Компилятор ошибок не показал. Ну, видимо не всё он показывает. Спасибо, сейчас попробую.
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх