[РЕШЕНО] PaperSpigot PlayerArmorChangeEvent NullPointerException

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

notfoundname

Новичок
Баллы
6
Имя в Minecraft
Not_Found_Name
При одевании брони всё работает, броня красится. Ошибка появляется после снимания брони (т.е. вместо шапки одевают "воздух")

Код:

Код:
package notfound.main;

import org.bukkit.Color;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.buккit.invеntоry.ItemStack;
import org.buккit.invеntоry.meta.LeatherArmorMeta;
import com.destroystokyo.paper.event.player.PlayerArmorChangeEvent;

import misat11.bw.api.BedwarsAPI;
import misat11.bw.api.Game;
import misat11.bw.api.TeamColor;


public class Scheduler implements Listener
{
    Main plugin;

    Scheduler(Main plugin) {
        this.plugin = plugin;
    }

   @EventHandler
   public void onColorizeHelmet(PlayerArmorChangeEvent e)
   {
        BedwarsAPI api = BedwarsAPI.getInstance();
        Player player = e.getPlayer();
        ItemStack helm = new ItemStack(Material.LEATHER_HELMET, 1);
        Game game = api.getGameOfPlayer(player);
        if(api.isPlayerPlayingAnyGame(player) == true)
        {
            if(player.getEquipment().getHelmet().getType() == Material.LEATHER_HELMET && player.getEquipment().getHelmet().hasItemMeta() == false)
            {
                if(game.getTeamOfPlayer(player).getColor() == TeamColor.BLUE)
                {
                    player.sendMessage("blue");
                    LeatherArmorMeta meta = (LeatherArmorMeta)helm.getItemMeta();
                    meta.setColor(Color.fromRGB(0, 0, 255));
                    helm.setItemMeta(meta);
                    player.getEquipment().setHelmet(helm);
                }
                else if(game.getTeamOfPlayer(player).getColor() == TeamColor.RED)
                {
                    player.sendMessage("red");
                    LeatherArmorMeta meta = (LeatherArmorMeta)helm.getItemMeta();
                    meta.setColor(Color.fromRGB(255, 0, 0));
                    helm.setItemMeta(meta);
                    player.getEquipment().setHelmet(helm);
                }
            }
        }
    }
}

Ошибка:


Код:
[ERROR] Could not pass event PlayerArmorChangeEvent to Colorize v1.0

org.bukkit.event.EventException: null

at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:72) ~[patched_1.12.2.jar:git-Paper-1618]

at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:78) ~[patched_1.12.2.jar:git-Paper-1618]

at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[patched_1.12.2.jar:git-Paper-1618]

at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:513) ~[patched_1.12.2.jar:git-Paper-1618]

at org.bukkit.event.Event.callEvent(Event.java:44) ~[patched_1.12.2.jar:git-Paper-1618]

at net.minecraft.server.v1_12_R1.EntityLiving.B_(EntityLiving.java:1988) ~[patched_1.12.2.jar:git-Paper-1618]

at net.minecraft.server.v1_12_R1.EntityHuman.B_(EntityHuman.java:146) ~[patched_1.12.2.jar:git-Paper-1618]

at net.minecraft.server.v1_12_R1.EntityPlayer.playerTick(EntityPlayer.java:343) ~[patched_1.12.2.jar:git-Paper-1618]

at net.minecraft.server.v1_12_R1.PlayerConnection.e(PlayerConnection.java:145) ~[patched_1.12.2.jar:git-Paper-1618]

at net.minecraft.server.v1_12_R1.NetworkManager.a(NetworkManager.java:273) ~[patched_1.12.2.jar:git-Paper-1618]

at net.minecraft.server.v1_12_R1.ServerConnection.c(ServerConnection.java:150) ~[patched_1.12.2.jar:git-Paper-1618]

at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:948) ~[patched_1.12.2.jar:git-Paper-1618]

at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:423) ~[patched_1.12.2.jar:git-Paper-1618]

at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:774) ~[patched_1.12.2.jar:git-Paper-1618]

at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:666) ~[patched_1.12.2.jar:git-Paper-1618]

at java.lang.Thread.run(Thread.java:813) [?:1.8.0_212]

Caused by: java.lang.NullPointerException

at notfound.main.Scheduler.onColorizeHelmet(Scheduler.java:34) ~[?:?]

at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor114.execute(Unknown Source) ~[?:?]

at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:70) ~[patched_1.12.2.jar:git-Paper-1618]

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