Because I'm such a nice guy, Player.java:
Code:
public void addNewNPC(NPC npc, Stream str, Stream updateBlock) {
synchronized(this) {
int id = npc.npcId;
npcInListBitmap[id >> 3] |= 1 << (id&7);
npcList[npcListSize++] = npc;
str.writeBits(14, id);
int z = npc.absY-absY;
if(z < 0) z += 32;
str.writeBits(5, z);
z = npc.absX-absX;
if(z < 0) z += 32;
str.writeBits(5, z);
str.writeBits(1, 0);
str.writeBits(12, npc.npcType);
boolean savedUpdateRequired = npc.updateRequired;
npc.updateRequired = true;
npc.appendNPCUpdateBlock(updateBlock);
npc.updateRequired = savedUpdateRequired;
str.writeBits(1, 1);
}
}
And now, comment out synchronization.