2017-07-18 1 views
0

Lorsque je rejoins mon serveur "testing" est imprimé comme prévu mais le npc n'est pas engendré et ne m'attaque pas. Voici le plugin.yml:PNJ Minecraft ne pas engendrer et m'attaquer sur le serveur: erreur pointeur null

main: com.megacrafting.MegaParty 
version: 1.0 
name: Megaparty 
depend: [Citizens] 

Voici l'erreur:

[20:58:24 ERROR]: Could not pass event PlayerJoinEvent to Megaparty v1.0 
org.bukkit.event.EventException: null 
     at  org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[spigot.jar:git-Spigot-b78586d-f3356f1] 
     at  org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot.jar:git-Spigot-b78586d-f3356f1] 
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:499) [spigot.jar:git-Spigot-b78586d-f3356f1] 
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:484) [spigot.jar:git-Spigot-b78586d-f3356f1] 
    at net.minecraft.server.v1_12_R1.PlayerList.onPlayerJoin(PlayerList.java:342) [spigot.jar:git-Spigot-b78586d-f3356f1] 
    at net.minecraft.server.v1_12_R1.PlayerList.a(PlayerList.java:162) [spigot.jar:git-Spigot-b78586d-f3356f1] 
    at net.minecraft.server.v1_12_R1.LoginListener.b(LoginListener.java:159) [spigot.jar:git-Spigot-b78586d-f3356f1] 
    at net.minecraft.server.v1_12_R1.LoginListener.e(LoginListener.java:57) [spigot.jar:git-Spigot-b78586d-f3356f1] 
    at net.minecraft.server.v1_12_R1.NetworkManager.a(NetworkManager.java:233) [spigot.jar:git-Spigot-b78586d-f3356f1] 
    at net.minecraft.server.v1_12_R1.ServerConnection.c(ServerConnection.java:140) [spigot.jar:git-Spigot-b78586d-f3356f1] 
    at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:842) [spigot.jar:git-Spigot-b78586d-f3356f1] 
    at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:405) [spigot.jar:git-Spigot-b78586d-f3356f1] 
    at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:678) [spigot.jar:git-Spigot-b78586d-f3356f1] 
    at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:576) [spigot.jar:git-Spigot-b78586d-f3356f1] 
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_131] 
Caused by: java.lang.NullPointerException 
    at com.megacrafting.MegaParty.onJoin(MegaParty.java:35) ~[?:?] 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_131] 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_131] 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_131] 
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_131] 
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[spigot.jar:git-Spigot-b78586d-f3356f1] 
    ... 14 more 

Voici le code:

package com.megacrafting; 
import org.bukkit.Bukkit; 
import org.bukkit.Location; 
import org.bukkit.entity.EntityType; 
import org.bukkit.entity.Player; 
import org.bukkit.event.EventHandler; 
import org.bukkit.event.Listener; 
import org.bukkit.event.player.PlayerJoinEvent; 
import org.bukkit.plugin.java.JavaPlugin; 

import net.citizensnpcs.api.CitizensAPI; 
import net.citizensnpcs.api.npc.NPC; 
import net.citizensnpcs.api.npc.NPCRegistry; 



public class MegaParty extends JavaPlugin implements Listener { 

private NPCRegistry registry; 



public void onEnable() { 
    NPCRegistry registry = CitizensAPI.getNPCRegistry(); 
    getServer().getPluginManager().registerEvents(this, this); 


} 

@EventHandler 
    public void onJoin(PlayerJoinEvent event) { 
    Player p = event.getPlayer(); 
    p.sendMessage("testing"); 
    Location loc = p.getLocation(); 
    NPC npc = registry.createNPC(EntityType.PLAYER, "keys9"); 
    npc.spawn(loc); 

    npc.getNavigator().setTarget(p, true); 

    } 

} 

Répondre

1

Votre champ registry est NULL parce que vous ne définissez dans votre .

Changer votre onEnable à

public void onEnable() { 
    this.registry = CitizensAPI.getNPCRegistry(); 
    getServer().getPluginManager().registerEvents(this, this); 
}