-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bush growth / block family issue seen with fruit bushes in JS in multiplayer #3887
Comments
Hello @Cervator I believe I've found some info that might be useful. When the Joshaberryseed is placed on right click, the block family at that point hasn't been loaded so it gets loaded by the block manager, and is then sent to the client (via
When the he In The problem appears to be that the uri string don't match exactly. Here is the log output from the client after I added some log statements:
You may notice that the To confirm that this was the problem (or a sympton) I changed the map to use a lower case key I know that's treating the symptom and not the problem, but I tried to figure out why the letter cases differed and unfortunately I haven't had much luck figuring that out. I thought I'd document what I've found so that someone with better knowledge in this area might be able to help. Hope this info is helpful. |
@askneller we should probably just treat these as id's and any modifications to the string in the code-base should be avoided. might be worthwhile to check where else we do this and remove it. |
Suspect code like this predates the existence of Name, incidentally. |
Converted this to a full issue while doing follow-up testing for #3886 which fixed some block id issues / invisible blocks in certain cases (#2516) - but not everything, so we still have excitingly quirky bugs to hunt down!
The issue: When planting a seed in plain JoshariasSurvival (get with
give joshaberryseed
) multiplayer as a connected client the small bush starts out invisible (lower right window) yet a host player (upper left) can see the bush fine. After one growth stage passes both players can see the fully grown block-bush.I am wondering if #3491 is related (plenty of good notes in there at least!). The
BushAuthoritySystem
in SimpleFarming is responsible for the logic and is set toRegisterMode.AUTHORITY
which is as it should be. Works fine on a host/client session - which might also make sense. But something is failing to get back to a pure client. Even a 2nd pure client can't see the half-block bush as it exists right after being planted by another player.If you try to plant then walk over the half-block as a pure client it feels like the client and server are disagreeing about what's there: the client attempts to simply walk through the block as if nothing is there, but then gets corrected by the server which knows there's a half-block in the space and moves the client's proper location up by a half-block.
Being that only the first growth stage is using a half-block maybe that's why? That's a different shape than the rest of the stages. So maybe that state is an issue, which could be more linked to #3491. In fact I can trigger the same behavior by simply doing
give stone 15 halfblock
from a client (given cheat rights) then attempt to place that block. In the world the block is invisible to the client (still fine for host) yet oddly in the inventory and hand it is fine.Actually, yes, there's even logging to go with this! This snippet is from the client that attempted the above screenie. Maybe I shouldn't have started writing this issue until I was done researching, but I kept thinking up new things to try 😛
The text was updated successfully, but these errors were encountered: