updateAgentAppearance.setAppearance(1L | rawData[3] << 24 | rawData[2] << 16 | rawData[1] << 8 | rawData[0] & 0xFF);
updateAgentAppearance.setUnknown6(0x3cbfa094);
updateAgentAppearance.setName(newCharacter.getName());
recipient.write(updateAgentAppearance);
P021_SpawnObject spawnObject = new P021_SpawnObject();
spawnObject.setAgentId(newCharacter.getAgentID());
spawnObject.setUnknown2((0x30000000) | newCharacter.getLocalID()); // assumption that this is localID
spawnObject.setUnknown3((byte) 1);
spawnObject.setUnknown4((byte) 5);
Vector2 position = new Vector2(newCharacter.getPosition().getX(), newCharacter.getPosition().getY());
spawnObject.setPosition(position);
spawnObject.setPlane(newCharacter.getPosition().getZ());
Vector2 rotation = new Vector2(Float.MAX_VALUE, newCharacter.getRotation());
spawnObject.setRotation(rotation);
spawnObject.setUnknown8((byte) 1);
spawnObject.setSpeed(newCharacter.getSpeed());
spawnObject.setUnknown10(Float.MAX_VALUE);
spawnObject.setUnknown11(0x414000000L);
spawnObject.setUnknown12(1886151033);
Vector2 unknown19 = new Vector2(Float.MAX_VALUE, Float.MAX_VALUE);
spawnObject.setUnknown19(unknown19);
Vector2 unknown22 = new Vector2(Float.MAX_VALUE, Float.MAX_VALUE);
spawnObject.setUnknown22(unknown22);
recipient.write(spawnObject);
P098_UpdateAgentFullEquipment updateAgentFullEquipment = new P098_UpdateAgentFullEquipment();
updateAgentFullEquipment.setAgentId(newCharacter.getAgentID());
recipient.write(updateAgentFullEquipment);