Hallo
ich habe ich ein problem. Ich habe da jetzt schon rumprobiert und habe bis jetzt diesen code hier:
Nur mein problem hiermit ist das ich ein neuen Entity zwar spawne aber ich mich selber nicht bewegen kann.
Ist der weg schon richtig wenn ja worin liegt mein fehler oder ist der ansatz komplett falsch?
Vielen Dank schonmal.
P.S Nein ich will kein TagAPI nutzen da diese unteranderem schon sehr veraltet ist
ich habe ich ein problem. Ich habe da jetzt schon rumprobiert und habe bis jetzt diesen code hier:
Java:
private DataWatcherObject<Byte> object_entity_state;
private DataWatcherObject<String> object_customName;
private DataWatcherObject<Boolean> object_isSilent;
private DataWatcherObject<Boolean> object_hasGravity;
private DataWatcherObject<Boolean> object_isCustomNameVisible;
public User(String name, UUID uuid) {
}
public void setNameTag(String name) {
int[] ids = new int[1];
ids[0] = ((CraftPlayer)getPlayer()).getEntityId();
PacketPlayOutEntityDestroy packet = new PacketPlayOutEntityDestroy();
setValue(packet, "a", ids);
//sendPacket(packet);
PacketPlayOutNamedEntitySpawn pS = new PacketPlayOutNamedEntitySpawn(((CraftPlayer) getPlayer()).getHandle());
CraftPlayer cP= (CraftPlayer)getPlayer();
int entityID = cP.getEntityId();
GameProfile gameProfile = new GameProfile(cP.getUniqueId(), name);
Location loc = cP.getLocation();
DataWatcher dataWatcher = new DataWatcher(null);
dataWatcher.register(object_entity_state = new DataWatcherObject<>(0, DataWatcherRegistry.a), (byte) 0);
dataWatcher.register(new DataWatcherObject<>(1, DataWatcherRegistry.b), 300);
dataWatcher.register(object_customName = new DataWatcherObject<>(2, DataWatcherRegistry.d), "");
dataWatcher.register(object_isCustomNameVisible = new DataWatcherObject<>(3, DataWatcherRegistry.h),false);
dataWatcher.register(object_isSilent = new DataWatcherObject<>(4, DataWatcherRegistry.h), false);
dataWatcher.register(object_hasGravity = new DataWatcherObject<>(5, DataWatcherRegistry.h), false);
dataWatcher.register(new DataWatcherObject<>(6, DataWatcherRegistry.a), (byte) 0);
dataWatcher.register(new DataWatcherObject<>(7, DataWatcherRegistry.c), 20.0F);
dataWatcher.register(new DataWatcherObject<>(8, DataWatcherRegistry.b), 0);
dataWatcher.register(new DataWatcherObject<>(9, DataWatcherRegistry.h), false);
dataWatcher.register(new DataWatcherObject<>(10, DataWatcherRegistry.b), 0);
dataWatcher.register(new DataWatcherObject<>(11, DataWatcherRegistry.c), 0.0F);
dataWatcher.register(new DataWatcherObject<>(12, DataWatcherRegistry.b), 20);
dataWatcher.register(new DataWatcherObject<>(13, DataWatcherRegistry.a), (byte) 127);
dataWatcher.register(new DataWatcherObject<>(14, DataWatcherRegistry.a), (byte) 1);
dataWatcher.register(new DataWatcherObject<>(15, DataWatcherRegistry.n), new NBTTagCompound());
dataWatcher.register(new DataWatcherObject<>(16, DataWatcherRegistry.n), new NBTTagCompound());
setValue(packet, "a", entityID);
this.setValue(packet, "b", gameProfile.getId());
this.setValue(packet, "c", loc.getX());
this.setValue(packet, "d", loc.getY());
this.setValue(packet, "e", loc.getZ());
this.setValue(packet, "f", (byte) ((int) loc.getYaw() * 256.0F / 360.0F) );
this.setValue(packet, "g", (byte) ((int) loc.getPitch() * 256.0F / 360.0F) );
this.setValue(packet, "h", dataWatcher);
sendPacket(packet);
sendPacket(pS);
}
Ist der weg schon richtig wenn ja worin liegt mein fehler oder ist der ansatz komplett falsch?
Vielen Dank schonmal.
P.S Nein ich will kein TagAPI nutzen da diese unteranderem schon sehr veraltet ist