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

Помогите [Плагин] AntiDeathScreen

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

  1. CraftCoder

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

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    У плагина есть апи для отслеживания смерти?
     
  2. Хостинг MineCraft
    <
  3. Автор темы
    MrElitePro

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

    Баллы:
    46
    Имя в Minecraft:
    MrElitePro
    как это?[DOUBLEPOST=1458542020,1458541943][/DOUBLEPOST]
    Код:
    @EventHandler
        public void onEntityDamage(EntityDamageEvent e) {
              Player p = e.getEntity();
                 p.setAllowFlight(false);
                 p.setFlying(false);
                 p.setSprinting(false);
                 p.setFoodLevel(20);
                 p.setHealth(20);
                 p.getActivePotionEffects().clear();
                 e.getDrops().clear();
                 p.teleport(p.getWorld().getSpawnLocation());
              }
           }
        }
     
    Последнее редактирование: 21 мар 2016
  4. Serrrgio

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

    Баллы:
    173
    Skype:
    nonecsa
    Имя в Minecraft:
    None
    понятно, ты пишешь плагин и у тебя не выпадает дроп
    наверно нужно убрать строчку e.getDrops().clear();
    и почистить инвентарь.
     
  5. Автор темы
    MrElitePro

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

    Баллы:
    46
    Имя в Minecraft:
    MrElitePro
    Я тоже так думаю,надо проверить будет,а как инвентарь отчистить?
     
  6. CoolBoy

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

    Баллы:
    96
    Skype:
    thecoolboy2070
    Имя в Minecraft:
    CoolBoy
    Лал, какое АПИ? Он плагины то еле пишет.
     
  7. CraftCoder

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

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    Я думал он использует готовый плагин. Но уже вижу, что нет. Тогда тут нужно циклом пробежаться по инвентарю до getInventory().clear() и каждый предмет дропнуть на локации игрока.
     
  8. Автор темы
    MrElitePro

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

    Баллы:
    46
    Имя в Minecraft:
    MrElitePro
    Да,я пишу потихоньку плагины,учусь хе-хе,не все знаю еще
     
  9. Serrrgio

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

    Баллы:
    173
    Skype:
    nonecsa
    Имя в Minecraft:
    None
    + добавить проверку на игрока, что урон больше здоровья, и в конце отменить EntityDamageEvent
     
  10. Автор темы
    MrElitePro

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

    Баллы:
    46
    Имя в Minecraft:
    MrElitePro
    да-да я это знаю,но первая вот проблема это с дропом в мир,как решу дальше буду добавлять
     
  11. CraftCoder

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

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
     
  12. Автор темы
    MrElitePro

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

    Баллы:
    46
    Имя в Minecraft:
    MrElitePro
    Я так толком не сделал ничего :eek:
     
  13. Dymeth

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

    Баллы:
    76
    В чём конкретно проблема?
    Код:
            if (!(e.getEntity() instanceof Player))
                return;
            Player p = (Player) e.getEntity();
            if (p.getHealth() > e.getDamage())
                return;
            e.setCancelled(true);
            Inventory i = p.getInventory();
            Location l = p.getLocation();
            World w = l.getWorld();
            for (int slot = 0; slot < i.getSize(); slot++) {
                ItemStack s = i.getItem(slot);
                if (s != null)
                    w.dropItemNaturally(l, s);
            }
            p.getInventory().clear();
            p.setHealth(p.getMaxHealth());
            p.setFoodLevel(20);
            p.teleport(w.getSpawnLocation());
            //p.teleport(p.getBedSpawnLocation());
     
    Последнее редактирование: 22 мар 2016
  14. Автор темы
    MrElitePro

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

    Баллы:
    46
    Имя в Minecraft:
    MrElitePro
    Ну ты все таки опытнее,я еще учусь
     

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