1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Как получить из CommandSender объект игрока Player?

Тема в разделе "Разработка плагинов для новичков", создана пользователем loredmaxed3, 8 фев 2023.

Метки:
  1. Автор темы
    loredmaxed3

    loredmaxed3 Новичок Пользователь

    Баллы:
    6
    Имя в Minecraft:
    loredmaxed3
    Мне нужно в функцию передать объект класса Player, у меня есть только CommandSender. Как "конвертировать"?
     
  2. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Код:
    if(sender instanceof Player player) {
      player...
    }
     
  3. Автор темы
    loredmaxed3

    loredmaxed3 Новичок Пользователь

    Баллы:
    6
    Имя в Minecraft:
    loredmaxed3
    Так подойдет или нет?
    ((Player) sender).getPlayer()
     
  4. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Метод .getPlayer() не нужен, ты и так кастуешь к игроку.
    Просто ((Player) sender)

    Но учти, что если команду будет отправлена через консоль или по rcon - возникнет исключение ClassCastException. Поэтому лучше всё-таки проверять, является ли отправитель команды игроком - как раз как предложил alexandrage выше
     

Поделиться этой страницей