Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Dismiss Notice

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

Discussion in 'Разработка плагинов для новичков' started by CraftCoder, Mar 1, 2014.

  1. Автор темы
    CraftCoder

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

    Trophy Points:
    108
    Имя в Minecraft:
    CraftCoderr
    Всем привет, ну вопрос виден: как получить item которым кого-нибудь или что-нибудь ударили.
     
  2. Хостинг MineCraft
    <
  3. Gamer3455

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

    Trophy Points:
    103
    Meta-Id после основного id добавь.
     
  4. Автор темы
    CraftCoder

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

    Trophy Points:
    108
    Имя в Minecraft:
    CraftCoderr
    Так а мне нужно именно тот itemstack которым ударили получить в плагине.
     
  5. Gamer3455

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

    Trophy Points:
    103
    Возьми меч, ударь им. И после этого посмотри его Id. И уже от этого опирайся.
     
  6. Автор темы
    CraftCoder

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

    Trophy Points:
    108
    Имя в Minecraft:
    CraftCoderr
    Вы не поняли моего вопроса.
     
  7. musel70

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

    Trophy Points:
    88
    Что ты имеешь в виду? Тобой написан бред(ИМХО).
    По вопросу EntityDamageByEntityEvent вроде как то так пишется
    и из него брать e.getDamager().getItemInHand
     
    Last edited: Mar 1, 2014
  8. serega6531

    serega6531 Старожил Девелопер Пользователь

    Trophy Points:
    173
    Skype:
    shkurovs
    getDamager(), а потом уже берёшь предмет.
     
    musel70 likes this.
  9. Hilgert

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

    Trophy Points:
    123
    Skype:
    mixa2258
    Имя в Minecraft:
    Hilgert
    Code:
       
        @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
     
    RunFMe, makssof and vovvaan96 like this.
  10. BeYkeR

    BeYkeR Старожил Девелопер Пользователь

    Trophy Points:
    173
    Лучше сделать так:

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

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

    Trophy Points:
    108
    Имя в Minecraft:
    CraftCoderr
    Т.е предлагаете делать в лоб, ну хорошо, просто думал может есть стандартный event'ы возвращающие этот предмет.
     
  12. serega6531

    serega6531 Старожил Девелопер Пользователь

    Trophy Points:
    173
    Skype:
    shkurovs
    Каким образом?
     
  13. Автор темы
    CraftCoder

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

    Trophy Points:
    108
    Имя в Minecraft:
    CraftCoderr
    По ходу дела у меня возник еще один вопрос, какой класс в bukkit'e отвечает за мотыги, просто я хочу его наследовать и немного переделать(превратить мотыгу в оружие).
    P.S.Искал на jd bukkit, не нашел(
     
  14. serega6531

    serega6531 Старожил Девелопер Пользователь

    Trophy Points:
    173
    Skype:
    shkurovs
    Item. Каким образом вы хотите сделать её оружием?
     
  15. Автор темы
    CraftCoder

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

    Trophy Points:
    108
    Имя в Minecraft:
    CraftCoderr
    Ну класс мотыги переписать)
     
  16. serega6531

    serega6531 Старожил Девелопер Пользователь

    Trophy Points:
    173
    Skype:
    shkurovs
    Каким образом? Что вы хотите, чтобы она делала?
     
  17. Автор темы
    CraftCoder

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

    Trophy Points:
    108
    Имя в Minecraft:
    CraftCoderr
    Ну дамажила как меч и при ударах тратилась прочность, можно в принципе и без классов сделать(в event'ах прослеживать мотыгу), но с классами правильней будет.
     
  18. JustBlender

    JustBlender Старожил Девелопер Пользователь

    Trophy Points:
    123
    Skype:
    justblender
    Имя в Minecraft:
    JustBlender
    Что именно переписать? Разве так сложно PlayerInteractEvent использовать, чем переписать "класс" мотыги? Или я не так понял?

    PS. setDamage + setDurability = PROFIT
     
  19. serega6531

    serega6531 Старожил Девелопер Пользователь

    Trophy Points:
    173
    Skype:
    shkurovs
    Чем правильный?
     
  20. JustBlender

    JustBlender Старожил Девелопер Пользователь

    Trophy Points:
    123
    Skype:
    justblender
    Имя в Minecraft:
    JustBlender
    Чуваки, чтобы не засорять форум глупой темой, я задам тут :) Мне кажется или PlayerRespawnEvent не работает, пробовал дебагнуть, отправить сообщение игроку.. Ничего. :\

    Идти писать о баге?
     
    Last edited: Mar 2, 2014
  21. Автор темы
    CraftCoder

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

    Trophy Points:
    108
    Имя в Minecraft:
    CraftCoderr
    Мне и MaxDurability изменить надо, просто будет удобней если с классом сделать, хочу еще классы деревянного каменного и золотого мечей переписать(под щиты(они уже работают но с durability проблемы)).
     

Share This Page