themoonisacheese / 2bored2wait

(archived) A proxy to wait out 2b2t.org's way too long queue. Includes a small webserver and a REST-like API for external control
GNU General Public License v3.0
425 stars 102 forks source link

Can't ride pig #2

Closed mastatrue closed 4 years ago

mastatrue commented 5 years ago

So i just started using this script. The first thing i noticed is that hearts from gapple don't appear but that's not a big deal. The problem is when i right click a pig, nothing happens. After this i go on and chunks won't load. I have to press shift and then i get tp back to the pig with the animation as i was getting down the pig . In conclusion the game somehow thinks i'm on the pig but it doesn't show me on the pig.

DarkoGNU commented 5 years ago

Lol, something similar happened to me with a horse. I think I haven't tried clicking shift. Dumb me :P

ghost commented 5 years ago

This should have the critical label, ridding animals is a big part of 2b2t, for traveling

themoonisacheese commented 5 years ago

a critical bug would be something like "minecraft crashes on finishing queue". In comparison, this is not that much of an issue. it's still an issue, and i'm investigating it, but it's absolutely not critical.

Rattlyy commented 5 years ago

Minecraft-node-protocol simply doesn't support yet riding entities, so, it simply doesn't work until Prismarine fixes it. Probably will get fixed in decades because they're dead lmao

themoonisacheese commented 5 years ago

that would explain it. I have never seen that in the docs, but I wouldn't be surprised if if one of those undocumented issues.

sadly, this means that this will go unifxed for as long as I keep using minecraft-protocol. It's early for a rewrite, but that would probably fix a bunch of issues (but of course introduce new ones).

Rattlyy commented 5 years ago

If you check flying-squid(mc server framework based on minecraft-protocol) it has the issue of ridable animals.

Rattlyy commented 5 years ago

Same for fishing, good pvp etc

hazzal commented 4 years ago

This appears to be caused by the entityId of the player not being set correctly when connecting through the proxy. The entityId is announced on the packet with the meta name"login", it can be set correctly when creating the clientProxy And more specifically the issue happens because when the packet set_passenger gets sent from the server since it provides an entityId which is riding the boat/pig/horse, and if the entityId of the player doesn't match the server then the client doesn't understand that it is riding the given entity.

I have made a PR that might fix this issue. I have tested it on another server where the change seems to work. #51

themoonisacheese commented 4 years ago

hopefully fixed with #51