Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Помогите Как получить item которым ударили

CraftCoder

Старожил
Пользователь
Баллы
108
Имя в Minecraft
CraftCoderr
Всем привет, ну вопрос виден: как получить item которым кого-нибудь или что-нибудь ударили.
 
Возьми меч, ударь им. И после этого посмотри его Id. И уже от этого опирайся.
 
Meta-Id после основного id добавь.
Что ты имеешь в виду? Тобой написан бред(ИМХО).
По вопросу EntityDamageByEntityEvent вроде как то так пишется
и из него брать e.getDamager().getItemInHand
 
Последнее редактирование:
Код:
    @EventHandler
    public void onClick(PlayerInteractEvent e){
        e.getPlayer().getItemInHand(); //Предмет которым что-то ударили.
    }
   
    @EventHandler
    public void onClick2(PlayerInteractEntityEvent e){
        e.getPlayer().getItemInHand(); //Предмет которым кликнули по ентити
    }
   
    @EventHandler
    public void onClick3(EntityDamageByEntityEvent e){
        ((Player) e.getDamager()).getItemInHand(); //Предмет которым кого-то ударили
    }
Ловлю лойсы :3
 
Код:
    @EventHandler
    public void onClick(PlayerInteractEvent e){
        e.getPlayer().getItemInHand(); //Предмет которым что-то ударили.
    }
  
    @EventHandler
    public void onClick2(PlayerInteractEntityEvent e){
        e.getPlayer().getItemInHand(); //Предмет которым кликнули по ентити
    }
Ловлю лойсы :3
Лучше сделать так:

PHP:
@EventHandler
public void onClick3(EntityDamageByEntityEvent e){
if(e.getDamager() instanceof Player){
Player player = (Player) e.getDamager();
player.getItemInHand(); //Предмет которым кого-то ударили
}
    }
Чтобы ошибок в консоле не было :)
 
Лучше сделать так:

PHP:
@EventHandler
public void onClick3(EntityDamageByEntityEvent e){
if(e.getDamager() instanceof Player){
Player player = (Player) e.getDamager();
player.getItemInHand(); //Предмет которым кого-то ударили
}
    }
Чтобы ошибок в консоле не было :)
Т.е предлагаете делать в лоб, ну хорошо, просто думал может есть стандартный event'ы возвращающие этот предмет.
 
По ходу дела у меня возник еще один вопрос, какой класс в bukkit'e отвечает за мотыги, просто я хочу его наследовать и немного переделать(превратить мотыгу в оружие).
P.S.Искал на jd bukkit, не нашел(
 
По ходу дела у меня возник еще один вопрос, какой класс в bukkit'e отвечает за мотыги, просто я хочу его наследовать и немного переделать(превратить мотыгу в оружие).
P.S.Искал на jd bukkit, не нашел(
Item. Каким образом вы хотите сделать её оружием?
 
Каким образом? Что вы хотите, чтобы она делала?
Ну дамажила как меч и при ударах тратилась прочность, можно в принципе и без классов сделать(в event'ах прослеживать мотыгу), но с классами правильней будет.
 
Что именно переписать? Разве так сложно PlayerInteractEvent использовать, чем переписать "класс" мотыги? Или я не так понял?

PS. setDamage + setDurability = PROFIT
 
Ну дамажила как меч и при ударах тратилась прочность, можно в принципе и без классов сделать(в event'ах прослеживать мотыгу), но с классами правильней будет.
Чем правильный?
 
Чуваки, чтобы не засорять форум глупой темой, я задам тут :) Мне кажется или PlayerRespawnEvent не работает, пробовал дебагнуть, отправить сообщение игроку.. Ничего. :\

Идти писать о баге?
 
Последнее редактирование:
Что именно переписать? Разве так сложно PlayerInteractEvent использовать, чем переписать "класс" мотыги? Или я не так понял?

PS. setDamage + setDurability = PROFIT
Мне и MaxDurability изменить надо, просто будет удобней если с классом сделать, хочу еще классы деревянного каменного и золотого мечей переписать(под щиты(они уже работают но с durability проблемы)).
 
Назад
Верх