Tnze / go-mc

Collection of Go libraries for Minecraft
https://go-mc.github.io/tutorial/
MIT License
858 stars 115 forks source link

Accepting Forced Resource Packs #281

Open HazeCore opened 3 months ago

HazeCore commented 3 months ago

Hi there! o7

Thanks for your work on this Bot Framework.

I have a quick question regarding the use of resource packs on servers. I'm hosting a server that forces resource packs for its clients. If I try to connect via go-mc, the JoinServer() function hangs indefinitely. I've tested the behavior thoroughly, and the forced resource pack seems to be the problem here. I saw that the structures of the config have fields for the resource pack, but I haven't found a way to accept the resource pack and instantiate the player. I have to admit, I don't really know how the connection protocol of Minecraft is designed, so if the solution is easy, I apologize, but would take the hint ;)

Any message or help about this would be appreciated!

Greetings from Berlin HC

Tnze commented 3 months ago

You must send a Resource Pack Response packet after received a ResourcePackPush here https://github.com/Tnze/go-mc/blob/300304eed30f1dce4420fd2e878ac65c3b697fa6/bot/configuration.go#L200-L224

Currently we didn't, so the bot hangs up.

Tnze commented 3 months ago

Maybe you can extend the DefaultConfigHandler and send the response. I'm not sure if I expose enough API to do so. Feel free to clone go-mc to modify related code.