Some of the sounds like foot steps, diving, eating, they're delayed (server-sided) which is really annoying, I really hope this is a bug and is not intended
Linked issues
relates to 1
Comments 15
@Grum The client would know what block it is standing on and therefore what noise to make. I don't really understand why this sound would be server side.
@Grum I don't know much but.. shouldn't the client handle 90% of the sounds system?
also note that this appeared on minecraft 1.3.1 but continued to 1.4pre
Maybe you are wearing leather boots that muffle the sound. Point is, this is how it will remain because upcoming API will make it impossible for the client to know beforehand.
Oh... well thats just sad.. Its always annoying to hear someone walking behind me, when its actually my foot steps, Anyway.. no leather boots are worn, best of luck
@lol768 I realize there is currently no such behavior in the game; that was the point. I was attempting to demonstrate the usefulness of "server-sided" sounds with a hypothetical mod. If the water splashing sound was initiated by the client, then there would need to be a client side mod in addition to the server side mod, or the sounds would be wrong. Whereas with sounds initiated by the server, the mod could be server only and hence simpler.
@Carey
You could not make a client walk on water via only server side, the client would have to know about this, otherwise the client will assume you have fallen through the water block and your position will update based on the clients presumed physics of the block, only to be corrected by the server. That is exactly what happens when you're standing in an unloaded chunk, the client begins to fall because there is no block below you, the server corrects the client telling it that there is infact a block there and it should stay where it was, causing a jerking falling effect to occur.
So! For something such as walking on water, the client would have to know that the water is now walk-able, and that is why Mojang added a new packet for Plugin/Mod Channels, to inform a client about these sort of changes, Mojang have already reserved the MC| channel for minecraft, and it could so be used to update sound association information for the standard minecraft client.
What I think on this issue is that all standard sounds, that is walking, block breaking and placing, and simple things like punching a wall, should all be played immediately by the client without server instigation. Sounds that should be decided by the server are sounds by other players, such as being able to hear other plays cutting down a tree or building their house, or the sounds of mobs, which don't have any immediate visual cues that make it look like the sound is laggy.
The client could also play sounds like a tool breaking immediately when it breaks, because the client knows when it wears out by calculating it's own damage value, I've seen this done both correctly and incorrectly, such as a tool having more durability server side than client side, so the tool breaks and then respawns with low health, right back in your hotbar. These are all similar concepts to dead reckoning, the client predicting the server outcome to decrease the perception of latency, and now that the client and server are completely separate, even in single player. This is more important than ever.
Yes, These sounds that are now server sided, should be put back on client side, and the server should be given the option to change them as part of the Mod API. But I don't think that something like placing a block should be 100% server side. It can only cause annoying game play, and you'll never get it working correctly, not even on a LAN.
NC
How would the client know what sound to play? there are quite some factors. Especially when the API comes in.