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

Статус
Закрыто для дальнейших ответов.

CraftCoder

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

P.S. Это не реклама demaster'a)
 
Всем привет, видел на hypixel'e плагин который показывал сколько хп отнялось у того кого ударили, видел это в мини игре Arena brawl(
), если кто может сделайте такой плагин, ну или подкиньте идею как это реализовать.

P.S. Это не реклама demaster'a)
Scheduler + Hologramms.
 
А можно по точней.Просто я думал что можно например при ударе рядом с тем кого ударили спавнить невидимую летучую мышь с именем(кол-во урона).
Тебе прислали вариант реализации с использованием Holograms
 
А можно по точней.Просто я думал что можно например при ударе рядом с тем кого ударили спавнить невидимую летучую мышь с именем(кол-во урона).
Для этого рекомендую использовать API плагина AwesomeHologramms от @serega6531 (только сделал бы для проверки: hasHologramm(Hologramm), было бы вообще зашибись :)). Просто создаем новую голограмму и шедулером через несколько тиков удаляем ее :)
 
Для этого рекомендую использовать API плагина AwesomeHologramms от @serega6531 (только сделал бы для проверки: hasHologramm(Hologramm), было бы вообще зашибись :)). Просто создаем новую голограмму и шедулером через несколько тиков удаляем ее :)
А понял, спасибо)
 
Я сделал с помощью HoloAPI и BukkitRunnable, но я не могу удалять голограммы они просто скрываются и из-за этого очень сильно лагает, может кто знает как их удалять.
 
Я сделал с помощью HoloAPI и BukkitRunnable, но я не могу удалять голограммы они просто скрываются и из-за этого очень сильно лагает, может кто знает как их удалять.
Как? :confused: Я сидел мучался с этим HoloAPI, ибо я с их документацией вообще растерялся..
Я привык к Bukkit JavaDocs :D
 
Может это не очень чистый код, но я сделал так:
Код:
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);
        }

UP!
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх