Помогите Текст после того как кликнул на опр. голову

Astroreen

Новичок
Пользователь
Баллы
6
Имя в Minecraft
Astroreen
Привет! Собираюсь писать плагин который будет при кликанье на определённую голову, выдавать текст игроку который кликнул на него, все бы ничего если бы я знал как отследить блок (голову) по имени, ведь вроде именно так различаются головы разных игроков. Вопрос в следующем: Как отследить голову по имени? Есть ли уже существующий плагин?
 
Код:
ItemStack head = new ItemStack(Material.SKULL_ITEM, 1, (short)3);
SkullMeta meta = (SkullMeta) head.getItemMeta();
meta.getOwner();
Метод getOwner() возвращает строку, это скорее всего либо имя, либо UUID игрока.
 
Код:
ItemStack head = new ItemStack(Material.SKULL_ITEM, 1, (short)3);
SkullMeta meta = (SkullMeta) head.getItemMeta();
meta.getOwner();
Метод getOwner() возвращает строку, это скорее всего либо имя, либо UUID игрока.
И ему не это нужно... А блок
 
Код:
    @EventHandler
    public void on(PlayerInteractEvent e) {
        Block block = e.getClickedBlock();
        BlockState state = block.getState();
        if (state instanceof Skull) {
            Skull skull = (Skull) state;
            //Бумага апи
            skull.getPlayerProfile().getName();
            //Ведро апи
            skull.getOwningPlayer().getName();
        }
    }
 
Код:
    @EventHandler
    public void on(PlayerInteractEvent e) {
        Block block = e.getClickedBlock();
        BlockState state = block.getState();
        if (state instanceof Skull) {
            Skull skull = (Skull) state;
            //Бумага апи
            skull.getPlayerProfile().getName();
            //Ведро апи
            skull.getOwningPlayer().getName();
        }
    }
Спасибо тебе за код, но можешь поподробнее объяснить что ты имел ввиду под Бумага апи и Ведро апи, я долго сидел голову ломал что это значит но ничего годного не нашел.
 
Спасибо тебе за код, но можешь поподробнее объяснить что ты имел ввиду под Бумага апи и Ведро апи, я долго сидел голову ломал что это значит но ничего годного не нашел.
У бумаги метод чуть другой, по этому он тебе дал варианты для твоего ядра.
 
У бумаги метод чуть другой, по этому он тебе дал варианты для твоего ядра.
Не в бумаге есть и то и то. Просто профиль более универсальный, можно прям ссылку на скин получить или поменять.
 
Код:
    @EventHandler
    public void on(PlayerInteractEvent e) {
        Block block = e.getClickedBlock();
        BlockState state = block.getState();
        if (state instanceof Skull) {
            Skull skull = (Skull) state;
            //Бумага апи
            skull.getPlayerProfile().getName();
            //Ведро апи
            skull.getOwningPlayer().getName();
        }
    }
Можешь пожалуйста помочь с кодом, я не до конца понимаю как можно вывести из void имя человека кому это голова принадлежит, все пока что я сделал это этот код:
Код:
    @EventHandler
    public void head(PlayerInteractEvent e) {
        Block block = e.getClickedBlock();
        BlockState state = block.getState();
        if (state instanceof Skull) {
            Skull skull = (Skull) state;
            //Бумага апи
            skull.getPlayerProfile().getName();
            //Ведро апи
            skull.getOwningPlayer().getName();
          
        }
        Player p = e.getPlayer();
        Action a = e.getAction();
        if (a == Action.RIGHT_CLICK_BLOCK) {
            head(e);
          
            if (head(e) == Jovvik) {
                p.sendMessage("Не ну бывает");
            }
          
          
        }
    }
 
Можешь пожалуйста помочь с кодом, я не до конца понимаю как можно вывести из void имя человека кому это голова принадлежит, все пока что я сделал это этот код:
Код:
    @EventHandler
    public void on(PlayerInteractEvent e) {
        Block block = e.getClickedBlock();
        BlockState state = block.getState();
        if (state instanceof Skull) {
            Skull skull = (Skull) state;
            e.getPlayer().sendMessage(skull.getPlayerProfile().getName());
        }
    }
 
Код:
    @EventHandler
    public void on(PlayerInteractEvent e) {
        Block block = e.getClickedBlock();
        BlockState state = block.getState();
        if (state instanceof Skull) {
            Skull skull = (Skull) state;
            e.getPlayer().sendMessage(skull.getPlayerProfile().getName());
        }
    }
Написал код
Код:
    @EventHandler
   
    public void headMessage(PlayerInteractEvent e) {
       
        Block block = e.getClickedBlock();
        BlockState state = block.getState();
        if (state instanceof Skull) {
            Skull skull = (Skull) state;
            //Бумага апи
            //skull.getPlayerProfile().getName();
            //Ведро апи
            //skull.getOwningPlayer().getName();
            String head = skull.getOwningPlayer().getName(); 
            Action a = e.getAction();
           
            if (a == Action.RIGHT_CLICK_BLOCK || a == Action.LEFT_CLICK_BLOCK) {
            if       (head=="Jovvik")  e.getPlayer().sendMessage("Человечек1");
            else if  (head=="murzdan") e.getPlayer().sendMessage("Человечек2");
            else if  (head=="MarYaInFour") e.getPlayer().sendMessage("Человечек3");
            else e.getPlayer().sendMessage("К сожалению " + head + "не голова создателя");
            }
   
        }
    }
Экспортировал как Jar file закинул в папку, перезапустил сервер, но к сожалению не работает. Прокомментируешь ошибки?
 
Экспортировал как Jar file закинул в папку, перезапустил сервер, но к сожалению не работает. Прокомментируешь ошибки?
Не епи мозг и просто используй целиком мой код. Если getClickedBlock может возвращать null, поставишь проверку на null.
 
Написал код
Код:
    @EventHandler
  
    public void headMessage(PlayerInteractEvent e) {
      
        Block block = e.getClickedBlock();
        BlockState state = block.getState();
        if (state instanceof Skull) {
            Skull skull = (Skull) state;
            //Бумага апи
            //skull.getPlayerProfile().getName();
            //Ведро апи
            //skull.getOwningPlayer().getName();
            String head = skull.getOwningPlayer().getName();
            Action a = e.getAction();
          
            if (a == Action.RIGHT_CLICK_BLOCK || a == Action.LEFT_CLICK_BLOCK) {
            if       (head=="Jovvik")  e.getPlayer().sendMessage("Человечек1");
            else if  (head=="murzdan") e.getPlayer().sendMessage("Человечек2");
            else if  (head=="MarYaInFour") e.getPlayer().sendMessage("Человечек3");
            else e.getPlayer().sendMessage("К сожалению " + head + "не голова создателя");
            }
  
        }
    }
Экспортировал как Jar file закинул в папку, перезапустил сервер, но к сожалению не работает. Прокомментируешь ошибки?
Ты слушатель при включении регистрируешь?
 
А if (head=="Jovvik") никого не смущает?
Может стоит узнать про метод equals?
 
Назад
Верх