• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Spigot NPC 1.12.2 programieren

TntTastisch

Kuhfänger
Mitglied seit
26 März 2018
Beiträge
53
Alter
18
Minecraft
TntTastisch
Hey,
ich programmiere derzeitig ein NPC Plugin für die Version 1.12.2 doch wenn ich den Spawn Befehl ausführe für das Entity kommt eine Fehlermeldung könnt ihr mir weiterhelfen?



Die Klasse für das Spawnen:
import com.mojang.authlib.GameProfile;
import net.minecraft.server.v1_12_R1.*;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.craftbukkit.v1_12_R1.CraftServer;
import org.bukkit.craftbukkit.v1_12_R1.CraftWorld;
import org.bukkit.craftbukkit.v1_12_R1.entity.CraftPlayer;
import org.bukkit.entity.Player;

import java.lang.reflect.Field;
import java.util.UUID;

public class EntityAPI {

    public static void spawn(Location loc, String name) {
        MinecraftServer nmsServer = ((CraftServer) Bukkit.getServer()).getServer(); //NMS Server
        WorldServer nmsWorld = ((CraftWorld) loc.getWorld()).getHandle(); //NMS World Server
        GameProfile gp = new GameProfile(UUID.randomUUID(), name); //NMS Game Profile

        EntityPlayer npc = new EntityPlayer(nmsServer, nmsWorld, gp, new PlayerInteractManager(nmsWorld));
        npc.setLocation(loc.getX(), loc.getY(), loc.getZ(), loc.getYaw(), loc.getPitch());

        nmsWorld.addEntity(npc);

        sendPacket(new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.ADD_PLAYER, npc));
        sendPacket(new PacketPlayOutNamedEntitySpawn(npc));
        sendPacket(new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.REMOVE_PLAYER, npc));
    }

    static void sendPacket(Packet<?> packet) {
        for(Player p : Bukkit.getOnlinePlayers()) {
            ((CraftPlayer) p).getHandle().playerConnection.sendPacket(packet);
        }
    }
    public void setValue(Object obj,String name,Object value){
        try{
            Field field = obj.getClass().getDeclaredField(name);
            field.setAccessible(true);
            field.set(obj, value);
        }catch(Exception e){

            e.printStackTrace();
        }

    }

    public Object getValue(Object obj,String name){

        try {
            Field field;

            field = obj.getClass().getDeclaredField(name);

            field.setAccessible(true);
            return field.get(obj);
        }catch(Exception e) {
            e.printStackTrace();

        }
        return null;
    }
}

Fehlermeldung:
[13:30:34] [Server thread/ERROR]: Encountered an unexpected exception
java.lang.NullPointerException: null
    at net.minecraft.server.v1_12_R1.EntityTrackerEntry.broadcastIncludingSelf(EntityTrackerEntry.java:300) ~[spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
    at net.minecraft.server.v1_12_R1.EntityTrackerEntry.d(EntityTrackerEntry.java:278) ~[spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
    at net.minecraft.server.v1_12_R1.EntityTrackerEntry.track(EntityTrackerEntry.java:207) ~[spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
    at net.minecraft.server.v1_12_R1.EntityTracker.updatePlayers(EntityTracker.java:182) ~[spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
    at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:834) ~[spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
    at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:406) ~[spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
    at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:679) ~[spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
    at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:577) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_201]


Danke schon mal im vor raus!
 
Allgemein
Hilfe Benutzer
  • HardSoul HardSoul:
    Gute Nacht!
  • Stern☆ Stern☆:
    gn8^^
  • realMaxW realMaxW:
    Guten Morgen <3:cow:
  • maybeto maybeto:
    guten Morgen....
  • Matthias Matthias:
    Guten Morgen
  • Matthias Matthias:
    heut mal richtig lang geschlafen
  • HardSoul HardSoul:
    Guten Morgen
  • LottaXL LottaXL:
    Moin, moin =)
  • SirYwell SirYwell:
    Was ist denn eigentlich mit den Farben von
    Code:
    Code
    im Dark Mode passiert? Ich find das irgendwie anstrengend zu lesen
  • Matthias Matthias:
    @Hadde-chan hatte da eine Beschwerde die @Dean beseitigt hat
  • HardSoul HardSoul:
    Ich kann @SirYwell Nur zustimmen. Hab auch Probleme das zu lesen
  • SirYwell SirYwell:
    Keine Ahnung über was sich Hadde beschwert hat, aber eventuell muss ich mal ein ernstes Wörtchen mit ihm reden
  • ❤️可愛いちゃん️❤️ ❤️可愛いちゃん️❤️:
    Hadde hat sich bestimmt darüber beschwert, dass sein Code so scheiße aussieht und Dean hat das Problem beseitigt
  • SirYwell SirYwell:
    voll offensive
  • Matthias Matthias:
    also im nicht dark mode sieht es gut aus
  • maybeto maybeto:
    und manchmal ist es auch besser, wenn man nicht alles lesen kann... :eek:
    +2
  • Dean Dean:
    Im nicht Darkmode gehen aber die Augen von denen kaputt, weil es zu hell ist
  • Matthias Matthias:
    mh ja, ich sitze nicht im dunkeln keller
  • ❤️可愛いちゃん️❤️ ❤️可愛いちゃん️❤️:
    fordere dark mode freundlichen avatar von matthias
  • ❤️可愛いちゃん️❤️ ❤️可愛いちゃん️❤️:
    das weiß im hintergrund blendet mich
  • maybeto maybeto:
    seit ich meine Fenster geputzt habe, ist es besser geworden.....
  • Dean Dean:
    im Darkmode kann ich ja die Avatare invertieren, sollte dann reichen
  • HardSoul HardSoul:
    Ein Herz für Kellerkinder! Manchmal hat man nunmal nicht die Wahl des Fensters!
    HardSoul HardSoul: Ein Herz für Kellerkinder! Manchmal hat man nunmal nicht die Wahl des Fensters!
    Oben