I'm trying to code Minecraft Manhunt plugin for 1.8.8 but everytime I do /hunt [Player name], I get this error in server console:
null
org.bukkit.command.CommandException: Unhandled exception executing command 'hunt' in plugin Manhunt v1.0
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchCommand(CraftServer.java:641) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.PlayerConnection.handleCommand(PlayerConnection.java:1162) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:997) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(PacketPlayInChat.java:45) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(PacketPlayInChat.java:1) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_282]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_282]
at net.minecraft.server.v1_8_R3.SystemUtils.a(SourceFile:44) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:715) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:374) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:654) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:557) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_282]
Caused by: java.lang.NullPointerException
at com.jason.manhunt.ManhuntCommand.onCommand(ManhuntCommand.java:13) ~[?:?]
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
... 15 more
Here's my Main:
package com.jason.manhunt;
import org.bukkit.ChatColor;
import org.bukkit.plugin.java.JavaPlugin;
public class Manhunt extends JavaPlugin {
public String hunted = "";
@Override
public void onEnable() {
getServer().getPluginManager().registerEvents(new HunterRespawn(), this);
getServer().getPluginManager().registerEvents(new Compass(), this);
getCommand("hunt").setExecutor(new ManhuntCommand());
getServer().getConsoleSender().sendMessage(ChatColor.GREEN + "[Manhunt 1.8.8]: Plugin is Enabled!");
}
@Override
public void onDisable() {
getServer().getConsoleSender().sendMessage(ChatColor.RED + "[Manhunt 1.8.8]: Plugin is Disabled!");
}
}
Here's my ManhuntCommand class:
package com.jason.manhunt;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
public class ManhuntCommand implements CommandExecutor {
private Manhunt plugin;
@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
this.plugin.hunted = args[0];
return true;
}
}
Here's my Compass class:
package com.jason.manhunt;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.Action;
import org.bukkit.event.player.PlayerInteractEvent;
public class Compass implements Listener {
private Manhunt plugin;
@EventHandler
public void CompassClick (PlayerInteractEvent e) {
Player p = e.getPlayer();
Material held = e.getItem().getType();
Action act = e.getAction();
if (!(p.getName().equals(this.plugin.hunted)) && held == Material.COMPASS && (act == Action.RIGHT_CLICK_BLOCK || act == Action.RIGHT_CLICK_BLOCK)) {
Player hntd = p.getServer().getPlayer(this.plugin.hunted);
p.setCompassTarget(hntd.getLocation());
p.sendMessage("You are tracking "+this.plugin.hunted);
}
}
}
Here's my HunterRespawn class:
package com.jason.manhunt;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerRespawnEvent;
import org.bukkit.inventory.ItemStack;
public class HunterRespawn implements Listener {
@EventHandler
public void PlayerRespawn (PlayerRespawnEvent e) {
Player p = e.getPlayer();
p.getInventory().addItem(new ItemStack(Material.COMPASS));
}
}
and here's my plugin.yml file:
name: Manhunt
version: 1.0
author: Jason
main: com.jason.manhunt.Manhunt
commands:
hunt:
description: /hunt [Player Name] to start the manhunt
usage: /<command>
Does anyone know what's causing it and how to fix it please?