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

Помогите Как получит имя стрелы?

Тема в разделе "Разработка плагинов для новичков", создана пользователем OJIEKCAHDP, 18 апр 2021.

Статус темы:
Закрыта.
  1. Автор темы
    OJIEKCAHDP

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

    Баллы:
    76
    Имя в Minecraft:
    OJIEKCAHDP
    Делаю различные стрелы, выдаю игроку:

    Код:
            ItemStack arrowtosh = new ItemStack(Material.ARROW, 32);
            ItemMeta metatosh = arrowtosh.getItemMeta();
            
            metatosh.setDisplayName("§7Стрела: §2Тошнота);
             arrowtosh.setItemMeta(metatosh);
            p.getInventory().addItem(arrowtosh);
    
    Как получить имя стрелы (ну или хотя-бы лор), после того, как она попала в энтити?
     
  2. alexandrage

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

    Баллы:
    173
    Никак, проджектайлы хранят только материал.
     
  3. Автор темы
    OJIEKCAHDP

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

    Баллы:
    76
    Имя в Minecraft:
    OJIEKCAHDP
    Как в таком случае устроены некоторые плагины на различные стрелы с эффектами, например когда молния ударяет в игрока или блок в который попала стрела загорается, можете подсказать?
     
  4. imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
  5. Автор темы
    OJIEKCAHDP

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

    Баллы:
    76
    Имя в Minecraft:
    OJIEKCAHDP
    Такого нет. Использую 1.12.2 версию
     
  6. imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Это следует указывать в посте. В таком случае можно получить стрелу иначе - проверить сначала вторую руку, и если там нет стрелы, то получить первую стрелу в инвентаре - получишь использованную в ивенте стрелу.
     
  7. Автор темы
    OJIEKCAHDP

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

    Баллы:
    76
    Имя в Minecraft:
    OJIEKCAHDP
    так?
    Код:
    for(i = 0; i < 36; i++) {
     if (p.getInventory().getItem(i).getItemMeta().getDisplayName().equals("Тошнота")) {
    // code
    }
    }
     
  8. imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    PHP:
    public static ItemStack getArrow(Player player) {
        
    PlayerInventory inv player.getInventory();
        
    ItemStack item inv.getItemInOffHand();
        if (
    item.getType() == Material.ARROW) return item;
        
    int place inv.first(Material.ARROW);
        return 
    place == -null inv.getItem(place);
    }
     
  9. Автор темы
    OJIEKCAHDP

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

    Баллы:
    76
    Имя в Minecraft:
    OJIEKCAHDP
    благодарю
     
  10. Автор темы
    OJIEKCAHDP

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

    Баллы:
    76
    Имя в Minecraft:
    OJIEKCAHDP
    Появилась проблема, я могу получить стрелы при EntityShootBowEvent, но мне нужно отследить попала ли стрела в игрока, в случае если использовать ProjectileHitEvent и стрела у игрока была только одна, то после проверки стрел у игрока нет, следовательно была ли стрела проверить нельзя. Как можно решить?
     
  11. alexandrage

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

    Баллы:
    173
    Повесь EntityMetadata на entity arrow и по ней смотри. Специально сделано для таких нужд.
     
  12. Автор темы
    OJIEKCAHDP

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

    Баллы:
    76
    Имя в Minecraft:
    OJIEKCAHDP
    Можно пример?)
     
  13. Dymeth

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

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
  14. alexandrage

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

    Баллы:
    173
    Ну этот костыль тут явно лишний уже, когда задача решается на чистом ведроапи.
     
  15. Dymeth

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

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    А в 1.12 оно есть?
     
  16. imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Metadata API глянь.
     
  17. alexandrage

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

    Баллы:
    173
    Оно с незапамятных времен тянется, еще когда динозавры по земле ползали. Это некая временная мапа, живет пока объект не уничтожен, как раз на такой случий.
     
Статус темы:
Закрыта.

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