What? This is bullshit. The writeInt(0); isn't even used. There was only one fix for the itemEffect and that was in the handler. If you don't believe me, test my source. You will see it is working. I've tested it several times.
This. I was messing arund with things related to Item effects months ago with a clean LocalMS and the structure DID NOT need any fix.
Lol, what happened before? Did the other player crash? No! That's why it isn't a packet issue. Just compare my handler with yours. There was something wrong with the check if it was 0. If I remember it correctly.
Though I agree with everything else you mentioned, sometimes wrong packets just don't do anything instead of crashing. :P