Помогите Создание эффекта для игрока

Valerra2

Участник
Пользователь
Баллы
36
Имя в Minecraft
Draherx
upload_2017-3-14_21-50-3.png upload_2017-3-14_21-50-22.png upload_2017-3-14_21-49-38.png
Хотелось создать вечный бафф при заходе в игру, да чтобы продолжался он и после смерти, но столкнулся с неизвестной мне проблемой и прошу помощи
 
У тебя в плагин.ямл указан класс Main, а на деле, главным классом является Reg, так как именно он расширяет JavaPlugin.
 
Код:
package me.tes.Gluehen;

import org.bukkit.event.Listener;
import org.bukkit.entity.Player;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerRespawnEvent;
import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType;
import org.bukkit.event.EventHandler;

public class Main implements Listener {

   [USER=74023]@EventHandler[/USER]
   public void join(PlayerJoinEvent e)
   {
     Player p = e.getPlayer();
     p.addPotionEffect(new PotionEffect(PotionEffectType.HEALTH_BOOST, 1000000, 1));
   }
   [USER=74023]@EventHandler[/USER]
   public void respawn(PlayerRespawnEvent er)
   {
     Player pr = er.getPlayer();
     pr.addPotionEffect(new PotionEffect(PotionEffectType.HEALTH_BOOST, 1000000, 1));
   }
}

теперь столкнулся с другой проблемой, команда не хочет регистрировать респаун игрока и давать ему здоровье
Я решил проблему более умным способом, привяязав это к движению игрока, но я всё равно не могу понять, почему респаун таки не сработал
 
Код:
package me.tes.Gluehen;

import org.bukkit.event.Listener;
import org.bukkit.entity.Player;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerRespawnEvent;
import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType;
import org.bukkit.event.EventHandler;

public class Main implements Listener {

   [USER=74023]@EventHandler[/USER]
   public void join(PlayerJoinEvent e)
   {
     Player p = e.getPlayer();
     p.addPotionEffect(new PotionEffect(PotionEffectType.HEALTH_BOOST, 1000000, 1));
   }
   [USER=74023]@EventHandler[/USER]
   public void respawn(PlayerRespawnEvent er)
   {
     Player pr = er.getPlayer();
     pr.addPotionEffect(new PotionEffect(PotionEffectType.HEALTH_BOOST, 1000000, 1));
   }
}

теперь столкнулся с другой проблемой, команда не хочет регистрировать респаун игрока и давать ему здоровье
Я решил проблему более умным способом, привяязав это к движению игрока, но я всё равно не могу понять, почему респаун таки не сработал
Движение игрока не самый умный способ. Проще сделать шедулер который будет выдавать эффект масиву игроков раз в N тиков
 
Поддерживаю комментатора выше
 
Потому что в PlayerRespawnEvent игрок ещё мёртв.
 
Назад
Верх