Hi,
first of all, I don't know if there's already a solution available for this issue (I couldn't find anything)... If there is, please let me know.
The Problem
This is not about the glitch where entities (e.g. slimes) appear to move through walls, and are able to move you around while you cannot attack them (only a client-side bug).
This is about the glitch where entities actually move through walls or fall through the ground (e.g. when having many mobs in a tight area, or when putting minecarts on a trap door etc), which seems to happen mostly when reloading the chunk (or being a certain distance away from the entity).
Fix (Vanilla Server Mod)???
DL: bit.ly/AEfcSI
Put jh.class into minecraft_server.jar (Vanilla 1.2.3), don't delete META-INF.
Please note that since this bug is hard to reproduce I'm not 100% sure if the mod actually fixes the bug. I did as much testing as I could though . Also, this change might produce more bugs. Please let me know if you experience any new bugs.
What it does
All the mod does is to remove three lines in EntityTrackEntry.java (line ~110):
To understand what these lines were doing, you need to see this code, which is processed before:
int i = MathHelper.floor_double(trackedEntity.posX * 32D);
int j = MathHelper.floor_double(trackedEntity.posY * 32D);
int k = MathHelper.floor_double(trackedEntity.posZ * 32D);
I think this the purpose of this class is to refresh the position of a mob for the clients. And to reduce the amount of network data, it reduces the accuracy of the coordinates (to steps of 1/32). However, for some odd reason, the inaccurate coordinates are also saved server-side (by the 3 lines on the top), which ultimately leads to the glitch.
For example, a Villager in a 1x1 area might be located at x=100.3. Villagers have a size of 0.6x0.6, so with 100.3 in the center, he would barely touch the block at 99-100, because 100.3-0.3 = 100. However, when you do 100.3*32, round it down, and multiply it with 32 again, you end up with 100.28125, so the villager ends up inside that block. I'm not really sure why this seems to only cause problems when reloading the chunk, or why it affects minecarts too...
I wasn't sure whether to post this in the mod section or here. Moderators, feel free to move this thread if you think it belongs somewhere else.
I think so. This should fix all SMP&SSP discrepancies related to entity misplacements (server-side), except the thing where they glitch through walls client-side only, and are able to move you around.
From the various tweets, it sounds like they'll be fixing the glitching thing in 1.3... So probably a month or 2 away.. But I guess there could be snapshots sooner. The 1.2.4 update, which might be out on thursday, has a bunch of smp things fixed... I think I read that some glitchy things were fixed but not the major mob ones.
By the way, which mod did you use? The one posted here or in the linked thread? The mods in the linked thread fix those visual glitches too, although it doesn't work 100% with fences.
By the way, which mod did you use? The one posted here or in the linked thread? The mods in the linked thread fix those visual glitches too, although it doesn't work 100% with fences.
I just tried replacing the jh class file in the server jar. Haven't tried the bukkit mod, yet. I will be installing this as soon as I get off of work today. You are fantastic.
Old Post:
Hi,
first of all, I don't know if there's already a solution available for this issue (I couldn't find anything)... If there is, please let me know.
The Problem
This is not about the glitch where entities (e.g. slimes) appear to move through walls, and are able to move you around while you cannot attack them (only a client-side bug).
This is about the glitch where entities actually move through walls or fall through the ground (e.g. when having many mobs in a tight area, or when putting minecarts on a trap door etc), which seems to happen mostly when reloading the chunk (or being a certain distance away from the entity).
Fix (Vanilla Server Mod)???
DL: bit.ly/AEfcSI
Put jh.class into minecraft_server.jar (Vanilla 1.2.3), don't delete META-INF.
Please note that since this bug is hard to reproduce I'm not 100% sure if the mod actually fixes the bug. I did as much testing as I could though
What it does
All the mod does is to remove three lines in EntityTrackEntry.java (line ~110):
To understand what these lines were doing, you need to see this code, which is processed before:
I think this the purpose of this class is to refresh the position of a mob for the clients. And to reduce the amount of network data, it reduces the accuracy of the coordinates (to steps of 1/32). However, for some odd reason, the inaccurate coordinates are also saved server-side (by the 3 lines on the top), which ultimately leads to the glitch.
For example, a Villager in a 1x1 area might be located at x=100.3. Villagers have a size of 0.6x0.6, so with 100.3 in the center, he would barely touch the block at 99-100, because 100.3-0.3 = 100. However, when you do 100.3*32, round it down, and multiply it with 32 again, you end up with 100.28125, so the villager ends up inside that block. I'm not really sure why this seems to only cause problems when reloading the chunk, or why it affects minecarts too...
I wasn't sure whether to post this in the mod section or here. Moderators, feel free to move this thread if you think it belongs somewhere else.
Please let me know if it works for you =)
Thanks
I used to write original signatures, then I took an arrow to the knee.
I got this working on a vanilla server and it seemed to work. It was definitely better than without it.
Yeah, it won't work with those files, for sure.
I really hope you can find this. My amazing sheep farm is getting so screwed up because of this. Your vanilla server fix was amazing.
Now, granted, the sheep still LOOKED like they were walking through walls, but I had no actual color mixing. Which was a godsend.
By the way, which mod did you use? The one posted here or in the linked thread? The mods in the linked thread fix those visual glitches too, although it doesn't work 100% with fences.
I just tried replacing the jh class file in the server jar. Haven't tried the bukkit mod, yet. I will be installing this as soon as I get off of work today. You are fantastic.