Well, it's a bit technical, but I assume he did it so that minute changes to health/hunger/or whatever wouldn't result in network packets being sent from server to client. Saturation, being an invisible value that only needs to be tracked on the server, had no such restrictions on it.Detritus wrote:Yeah, fair enough :) It seems a bit funky that notch didn't do that in the first place...
I took additional measures in my own code to make sure excessive packets aren't sent, but that was my impression in looking over the original.
You may have noticed for example that in vanilla, if you lose a large amount of hunger at once, it decreases incrementally over several frames. It's hardly noticeable though, so I ripped that out with HC Hunger so that only a single packet would get sent per change in value.
I also took measures to ensure that packets are only sent when the value is sufficiently large to cause an actual visual change in the hunger meter. Otherwise, you'd be sending packets practically every time you took a step and you lost miniscule amounts of fatigue.