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

Идея Damage Indicator плагин как на hypixel

Тема в разделе "Запросы на разработку плагинов", создана пользователем CraftCoder, 13 мар 2014.

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

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

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    Всем привет, видел на hypixel'e плагин который показывал сколько хп отнялось у того кого ударили, видел это в мини игре Arena brawl( ), если кто может сделайте такой плагин, ну или подкиньте идею как это реализовать.

    P.S. Это не реклама demaster'a)
     
  2. Хостинг MineCraft
    <
  3. JustBlender

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

    Баллы:
    123
    Skype:
    justblender
    Имя в Minecraft:
    JustBlender
    Scheduler + Hologramms.
     
  4. Автор темы
    CraftCoder

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

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    А можно по точней.Просто я думал что можно например при ударе рядом с тем кого ударили спавнить невидимую летучую мышь с именем(кол-во урона).
     
  5. Den_Abr

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

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Тебе прислали вариант реализации с использованием Holograms
     
    serega6531 нравится это.
  6. Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    HoloAPI
     
    Hephest и Den_Abr нравится это.
  7. JustBlender

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

    Баллы:
    123
    Skype:
    justblender
    Имя в Minecraft:
    JustBlender
    Для этого рекомендую использовать API плагина AwesomeHologramms от @serega6531 (только сделал бы для проверки: hasHologramm(Hologramm), было бы вообще зашибись :)). Просто создаем новую голограмму и шедулером через несколько тиков удаляем ее :)
     
    serega6531 нравится это.
  8. Автор темы
    CraftCoder

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

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    А понял, спасибо)
     
  9. JustBlender

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

    Баллы:
    123
    Skype:
    justblender
    Имя в Minecraft:
    JustBlender
    Я подумал и решил, думаю сейчас сделаю свой ;)
     
  10. Автор темы
    CraftCoder

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

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    Скинешь потом мне, пожалуйста.
     
  11. musel70

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

    Баллы:
    88
    Ну и где ?;)
     
    eleon нравится это.
  12. JustBlender

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

    Баллы:
    123
    Skype:
    justblender
    Имя в Minecraft:
    JustBlender
    Скоро, мне пока лень + 3 мини-игры делаю D:
     
  13. Автор темы
    CraftCoder

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

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    Я сделал с помощью HoloAPI и BukkitRunnable, но я не могу удалять голограммы они просто скрываются и из-за этого очень сильно лагает, может кто знает как их удалять.
     
    Likeobot нравится это.
  14. JustBlender

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

    Баллы:
    123
    Skype:
    justblender
    Имя в Minecraft:
    JustBlender
    Как? :confused: Я сидел мучался с этим HoloAPI, ибо я с их документацией вообще растерялся..
    Я привык к Bukkit JavaDocs :D
     
  15. Автор темы
    CraftCoder

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

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    Может это не очень чистый код, но я сделал так:
    Код:
    public HoloAPI getHoloAPI() {
                Plugin plugin = this.getServer().getPluginManager().getPlugin("HoloAPI");
               if (plugin == null || !(plugin instanceof HoloAPI)) {
                   // HoloAPI isn't installed (or loaded) on this server - nag the server owner about this
                   return null;
               }
               return ((HoloAPI) plugin);
            }
           
            @EventHandler 
            public void onDamage (EntityDamageEvent event) {
                final Location loc = new Location(event.getEntity().getWorld(), event.getEntity().getLocation().getX(), event.getEntity().getLocation().getY() + 1.4, event.getEntity().getLocation().getZ());
                final Hologram DIndicator = new HologramFactory(this)    // Replace "myPlugin" with your plugin instance
               .withLocation(new Vector(loc.getX(), loc.getY(), loc.getZ()), "World")
               .withText(ChatColor.GOLD + Integer.toString((int) event.getDamage()))         
               .build(); 
                //DIndicator.show((Player) event.getDamager());
                BukkitRunnable runnabledel = new BukkitRunnable() {
                   
                    @Override
                    public void run() {
                        DIndicator.clearAllPlayerViews();
                    }           
                };
                runnabledel.runTaskLater(this, 15L);
                BukkitRunnable runnablemove = new BukkitRunnable() {
                   
                    @Override
                    public void run() {
                        DIndicator.move(loc);
                    }           
                };
                loc.setY(loc.getY() + 0.1);
                runnablemove.runTaskLater(this, 10L);
            }
           
            @EventHandler
            public void onRegen (EntityRegainHealthEvent event) {
                final Location loc = new Location(event.getEntity().getWorld(), event.getEntity().getLocation().getX(), event.getEntity().getLocation().getY() + 1.4, event.getEntity().getLocation().getZ());
                final Hologram DIndicator = new HologramFactory(this)    // Replace "myPlugin" with your plugin instance
               .withLocation(new Vector(loc.getX(), loc.getY(), loc.getZ()), "World")
               .withText(ChatColor.GREEN + Integer.toString((int) event.getAmount()))         
               .build(); 
                //DIndicator.show((Player) event.getDamager());
                BukkitRunnable runnabledel = new BukkitRunnable() {
                   
                    @Override
                    public void run() {
                        DIndicator.clearAllPlayerViews();
                        DIndicator.refreshDisplay();
                    }           
                };
                runnabledel.runTaskLater(this, 15L);
                BukkitRunnable runnablemove = new BukkitRunnable() {
                   
                    @Override
                    public void run() {
                        DIndicator.move(loc);
                        DIndicator.refreshDisplay();
                    }           
                };
                loc.setY(loc.getY() + 0.1);
                runnablemove.runTaskLater(this, 10L);
            }
    
    [DOUBLEPOST=1395215489,1394970998][/DOUBLEPOST]UP!
     
  16. MYXOMOPX

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

    Баллы:
    78
    Skype:
    MYXOMOPX
    Имя в Minecraft:
    MYXOMOPX
  17. Автор темы
    CraftCoder

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

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    Спасибо
     
Статус темы:
Закрыта.

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