1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

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

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

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

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

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

    P.S. Это не реклама demaster'a)
     
  2. JustBlender

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Баллы:
    123
    Skype:
    justblender
    Имя в Minecraft:
    JustBlender
    Как? :confused: Я сидел мучался с этим HoloAPI, ибо я с их документацией вообще растерялся..
    Я привык к Bukkit JavaDocs :D
     
  14. Автор темы
    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);
            }
    

    UP!
     
  15. MYXOMOPX

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

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

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

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

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