- Баллы
- 76
- Имя в Minecraft
- Kurumi
Всем привет. Написал простенький плагин на выдачу potion effects из конфига при входе в игру, но ничего не выдается =(
Попробовал даже проверить через выведение сообщения, что эффект действительно есть в списке, сообщение выводится, а вот сам эффект не накладывается =(
Ивент зарегистрировал. Он точно срабатывает, но эффект не накладывается =(
Попробовал даже проверить через выведение сообщения, что эффект действительно есть в списке, сообщение выводится, а вот сам эффект не накладывается =(
PHP:
public void addAllPotionsToPlayer(Player player)
{
for(PotionEffect pe : getAllPotionsEffects())
{
player.addPotionEffect(pe);
Bukkit.broadcastMessage(pe.getType().getName());
}
}
public List<PotionEffect> getAllPotionsEffects()
{
ArrayList<PotionEffect> potions = new ArrayList<>();
for(String potion : Main.getInstance().getConfig().getConfigurationSection("Effects").getKeys(false))
{
PotionEffectType type = PotionEffectType.getByName(Main.getInstance().getConfig().getString("Effects."+potion+".type"));
int duration = Main.getInstance().getConfig().getInt("Effects."+potion+".duration".replace("infinity", String.valueOf(Integer.MAX_VALUE)));
int amplifier = Main.getInstance().getConfig().getInt("Effects."+potion+".amplifier");
potions.add(new PotionEffect(type, duration, amplifier));
}
return potions;
}
PHP:
@EventHandler
public void onJoin(PlayerJoinEvent event)
{
Player player = event.getPlayer();
if(!player.hasPermission("joineffects.effects")) return;
Bukkit.getScheduler().runTaskLater(Main.getInstance(), () -> Main.getInstance().getEffectsManager().addAllPotionsToPlayer(player), 20L);
}
PHP:
Effects:
effectJump:
type: JUMP
duration: infinity
amplifier: 10
effectSlow:
type: SLOW
duration: infinity
amplifier: 10