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

Помогите Выполнение команды предметом при клике на игрока

Discussion in 'Помощь' started by iRiper, Nov 27, 2016.

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

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

    Trophy Points:
    88
    Привет всем. Недавно на одном сервере увидел такую вещь:
    Дается игроку ифритовая палочка, которая может кидать дуэль другим игрокам на которых кликаешь.
    Как, я понял, выполняется команда /1vs1 duel name, но как эта ифритовая палочка подставляет туда ник игрока, может-кто-то знает как это реализовать??
     
  2. Хостинг MineCraft
    <
  3. arrow360

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

    Trophy Points:
    66
    Имя в Minecraft:
    SilverMoon1
    Возможно реализовано с помощью Plugin'a ChestCommands. Но и у нужен сам плагин на 1vs1(Плагин можно найти на bukkit).
     
  4. GoodCoder

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

    Trophy Points:
    76
    Ослеживаются EntityDamageByEntiyEvent (ЛКМ) и EntityInteractEvent (ПКМ)
     
  5. Автор темы
    iRiper

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

    Trophy Points:
    88
    можно подробнее? вообще не шарю в этом, поможешь?[DOUBLEPOST=1480327548,1480327517][/DOUBLEPOST]
    ну или примерно помоги пожалуйста это осуществить[DOUBLEPOST=1480407033][/DOUBLEPOST]up
     
  6. RikkiLook

    RikkiLook Старожил

    Trophy Points:
    173
  7. Автор темы
    iRiper

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

    Trophy Points:
    88
  8. Dan_Ender

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

    Trophy Points:
    78
    Имя в Minecraft:
    Dan_Ender
    Лови, и радуйся жизни))

    Code:
    @EventHandler
        public void onentint(PlayerInteractEntityEvent e) {
            Player p = e.getPlayer();
            if (p.getItemInHand().getType()==Material.BLAZE_ROD) {
                p.performCommand("yourCmdName" + "" + e.getRightClicked().getName());
            }
        }
     
  9. alexandrage

    alexandrage Администратор

    Trophy Points:
    173
    Skype:
    alexandr0116
    Проверку на игрока забыл.
    Code:
        @EventHandler
        public void on(PlayerInteractEntityEvent e) {
            if(e.getRightClicked().getType() == EntityType.PLAYER && e.getPlayer().getInventory().getItemInMainHand().getType() == Material.BLAZE_ROD)  {
                e.getPlayer().performCommand("1vs1 duel "+e.getRightClicked().getName());
            }
        }
    Собстно сам шаблон для плагина тут https://github.com/alexandrage/Example
     
    Last edited: Dec 3, 2016
  10. GoodCoder

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

    Trophy Points:
    76
    Проверку на null забыл.
     
  11. alexandrage

    alexandrage Администратор

    Trophy Points:
    173
    Skype:
    alexandr0116
    Погоди, разве ентити может быть нулл? Это же PlayerInteractEntityEvent.
     
  12. GoodCoder

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

    Trophy Points:
    76
    Если в руке игрока ничего нет, то что будет?
     
  13. alexandrage

    alexandrage Администратор

    Trophy Points:
    173
    Skype:
    alexandr0116
    Воздух будет.
     
  14. GoodCoder

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

    Trophy Points:
    76
    Инвентари полны магии. Может воздух быть, может null.
     
  15. alexandrage

    alexandrage Администратор

    Trophy Points:
    173
    Skype:
    alexandr0116
    Инвентари да, руки нет. Мистика же.
    P.s. То чувство, когда пытаешься положить в руку null и получаешь нпе :D.
    UP В новых версиях опять в руках может быть null)
     
    Last edited: Nov 9, 2020
  16. Super4

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

    Trophy Points:
    16
    Имя в Minecraft:
    Super4
    Ребят! Прошу помогите, как создать скрипт для плагина script, чтобы когда игрок прописывай команду держа при этом предмет в руке любой то этот предмет удалялся.
     
  17. alexandrage

    alexandrage Администратор

    Trophy Points:
    173
    Skype:
    alexandr0116
    Никогда не юзал такие костыли, извиняй, только bukkit api.
     

Share This Page