0

I am making a plugin that when you run a command your Helmet will get saved in a Hashmap and in an other Hashmaps gets saved that you are now wearing that item then your head slot will get replaced with an item, but when I run the command I get a lot of error messages that don't help me, the only thing I know is that any of the Hashmaps is Null.

This is the code:

package de.polarbaerhd.gewei.Commands;

import org.bukkit.Material;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;

import java.util.ArrayList;
import java.util.HashMap;


public class GeweiCommand implements CommandExecutor {

    public HashMap<Player, ItemStack> playershelmet = new HashMap<>();
    public HashMap<Player, Boolean> hasgewei = new HashMap<>();

    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
        Player player = (Player) sender;


        if (hasgewei.get(player) == true) {
            player.getInventory().setHelmet(playershelmet.get(player));
            hasgewei.put(player, false);
        }



        ItemStack gewei = new ItemStack(Material.CARROT);
        ItemMeta meti = gewei.getItemMeta();
        ArrayList<String> lore = new ArrayList<String>();
        lore.add(" ");
        lore.add("§aDas Gestänge von dem Rentier.");
        lore.add(" ");
        meti.setLore(lore);
        meti.setDisplayName("Gestänge");

        ItemStack spielerhelm = new ItemStack(player.getInventory().getHelmet().getType());
        spielerhelm.setItemMeta(player.getInventory().getHelmet().getItemMeta());
        gewei.setItemMeta(meti);
        playershelmet.put(player, spielerhelm);
        hasgewei.put(player, true);
        player.getInventory().setHelmet(gewei);








        return false;
    }


}

and that's the error message:

[23:19:14 ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'gewei' in plugin Gewei v1.0-SNAPSHOT
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:47) ~[paper-api-1.19.2-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:155) ~[paper-api-1.19.2-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.craftbukkit.v1_19_R1.CraftServer.dispatchCommand(CraftServer.java:916) ~[paper-1.19.2.jar:git-Paper-232]
        at org.bukkit.craftbukkit.v1_19_R1.command.BukkitCommandWrapper.run(BukkitCommandWrapper.java:64) ~[paper-1.19.2.jar:git-Paper-232]
        at com.mojang.brigadier.CommandDispatcher.execute(CommandDispatcher.java:264) ~[paper-1.19.2.jar:?]
        at net.minecraft.commands.Commands.performCommand(Commands.java:305) ~[?:?]
        at net.minecraft.commands.Commands.performCommand(Commands.java:289) ~[?:?]
        at net.minecraft.server.network.ServerGamePacketListenerImpl.performChatCommand(ServerGamePacketListenerImpl.java:2294) ~[?:?]
        at net.minecraft.server.network.ServerGamePacketListenerImpl.lambda$handleChatCommand$20(ServerGamePacketListenerImpl.java:2248) ~[?:?]
        at net.minecraft.util.thread.BlockableEventLoop.lambda$submitAsync$0(BlockableEventLoop.java:59) ~[?:?]
        at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?]
        at net.minecraft.server.TickTask.run(TickTask.java:18) ~[paper-1.19.2.jar:git-Paper-232]
        at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:153) ~[?:?]
        at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[?:?]
        at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1341) ~[paper-1.19.2.jar:git-Paper-232]
        at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:185) ~[paper-1.19.2.jar:git-Paper-232]
        at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:126) ~[?:?]
        at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1318) ~[paper-1.19.2.jar:git-Paper-232]
        at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1311) ~[paper-1.19.2.jar:git-Paper-232]
        at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:136) ~[?:?]
        at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1389) ~[paper-1.19.2.jar:git-Paper-232]
        at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1173) ~[paper-1.19.2.jar:git-Paper-232]
        at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:305) ~[paper-1.19.2.jar:git-Paper-232]
        at java.lang.Thread.run(Thread.java:833) ~[?:?]
Caused by: java.lang.NullPointerException: Cannot invoke "java.lang.Boolean.booleanValue()" because the return value of "java.util.HashMap.get(Object)" is null
        at de.polarbaerhd.gewei.Commands.GeweiCommand.onCommand(GeweiCommand.java:25) ~[gewei-1.0-SNAPSHOT.jar:?]
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[paper-api-1.19.2-R0.1-SNAPSHOT.jar:?]
        ... 23 more

I thought with another Hashmap it could work but the same Errors show up.

0 Answers0