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

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

Discussion in 'Запросы на разработку плагинов' started by CraftCoder, Mar 13, 2014.

Thread Status:
Not open for further replies.
  1. Автор темы
    CraftCoder

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

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

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

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

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

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

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

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

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

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

    Trophy Points:
    173
    Имя в Minecraft:
    _Shevchik_
    HoloAPI
     
    Hephest and Den_Abr like this.
  7. JustBlender

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

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

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

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

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

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

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

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

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

    Trophy Points:
    88
    Ну и где ?;)
     
    eleon likes this.
  12. JustBlender

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

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

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

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

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

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

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

    Trophy Points:
    108
    Имя в Minecraft:
    CraftCoderr
    Может это не очень чистый код, но я сделал так:
    Code:
    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 Активный участник Пользователь

    Trophy Points:
    78
    Skype:
    MYXOMOPX
    Имя в Minecraft:
    MYXOMOPX
  17. Автор темы
    CraftCoder

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

    Trophy Points:
    108
    Имя в Minecraft:
    CraftCoderr
Thread Status:
Not open for further replies.

Share This Page