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

Помогите OnPlayerRespawn и OnWorldChange на KCauldron

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

  1. Автор темы
    oleg57zls

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

    Баллы:
    173
    Skype:
    BlayzerQ
    Имя в Minecraft:
    Blayzer
    Не работают методы OnPlayerRespawn и OnWorldChange на ядре KCauldron.
    Есть плагин, которые добавляет экстра-сердца. Чтобы они отображались после респауна или смены мира, я сделал исполнение функции при OnPlayerRespawn и OnWorldChange, но оно не работает. На чистом Spigot и Bukkit работает. Возможно эти методы работают по другому на этом ядре... или какой то костыль можно сделать. Мне нужно использовать именно это ядро :c
    Вот кусок кода:

    Код:
    @EventHandler (priority = EventPriority.MONITOR)
    public void onWorldChange(PlayerChangedWorldEvent e) {
        Player player = e.getPlayer();
        scaleHealth(player);
    }
    
    @EventHandler (priority = EventPriority.MONITOR)
    public void onPlayerRespawn(PlayerRespawnEvent e) {
        Player player = e.getPlayer();
        scaleHealth(player);
    }
    
    
    
    
    @EventHandler (priority = EventPriority.MONITOR)
    private void scaleHealth(Player player) {
    
        ArrayList<String> hpList = new ArrayList<>(plugin.getConfig().getStringList("hp"));
        if (!hpList.get(0).equals("none")) {
          for (String hp : hpList) {
    
            int levelCompare = Integer.parseInt(hp.split(" ")[0] )- 1;
            int hpAmount = Integer.parseInt(hp.split(" ")[1]);
            int lvl = player.getLevel();
            int maxHP;
            int getHpUp = hpAmount-20;
    
            if (lvl == levelCompare && lvl > 0) {
                 maxHP = hpAmount;
                 player.setMaxHealth(maxHP);
    
                 // Пишем в чат, когда добавляются дополнительные сердца
                 if (plugin.getConfig().getBoolean("messages.msghpup") != false) {
                 player.sendMessage(ChatColor.GREEN + plugin.getConfig().getString("messages.prefix") + ChatColor.WHITE + plugin.getConfig().getString("messages.hpup") + getHpUp + "!");
                 }
                 return;
            }
            }
    
            // Пишем в чат, когда получаем максимальное количество сердец        
            if (player.getLevel() > 0) {
    
                if (plugin.getConfig().getBoolean("messages.msgmaxhp") != false) {
                player.sendMessage(ChatColor.GREEN + plugin.getConfig().getString("messages.prefix") + ChatColor.WHITE + plugin.getConfig().getString("messages.maxhp"));
                }
                }
        }
    }
     
  2. Хостинг MineCraft
    <
  3. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    В чём проблема апнуть старую тему и поправить шапку?
     

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