Geyser icon indicating copy to clipboard operation
Geyser copied to clipboard

Handle ClientboundTickingStatePacket correctly and fix Throwable Scales

Open letsgoawaydev opened this issue 1 year ago • 10 comments

Handles custom tick rates sent from the ClientboundTickingStatePacket correctly. This freezes all tickable entitys and changes the geyser session tick() function update speed correctly.

letsgoawaydev avatar Jul 12 '24 14:07 letsgoawaydev

It would also be nice to implement ClientboundTickingStepPacket if you're able

Konicai avatar Jul 13 '24 04:07 Konicai

It would also be nice to implement ClientboundTickingStepPacket if you're able

Fixed in latest commit.

letsgoawaydev avatar Jul 13 '24 10:07 letsgoawaydev

Can review in 12hrs

Konicai avatar Jul 14 '24 05:07 Konicai

Some issues I've noticed, handling of block breaking speed when tick rate is less than 20 is not correct and player speed/gravity is not correct

letsgoawaydev avatar Jul 30 '24 03:07 letsgoawaydev

Also animations are way too quick on the bedrock side, for other players I think we could send that they have mining fatigue to the session so that their arm animation speeds are slower

Most stuff like this we probably cant fix, though

letsgoawaydev avatar Jul 30 '24 03:07 letsgoawaydev

Yeah, I don't think we should aim to resolve every single thing, seeing as Bedrock will still be operating under a 20 ticks per second cycle. I assume most people will be using this as a debugging tool, or is that assessment incorrect?

Camotoy avatar Jul 30 '24 04:07 Camotoy

Yeah, I don't think we should aim to resolve every single thing, seeing as Bedrock will still be operating under a 20 ticks per second cycle. I assume most people will be using this as a debugging tool, or is that assessment incorrect?

Its mostly used for testing redstone, in my case I use it for testing plugins. Also, I think that drawTick should be handled at 20 TPS because Bedrock still updates at 20 TPS, and the rendering system in Java updates every frame afaik. Using 20 tps would ensure that it doesnt update too much on fast tickrates while also similarly matching Java

letsgoawaydev avatar Jul 30 '24 04:07 letsgoawaydev

Yeah, I don't think we should aim to resolve every single thing, seeing as Bedrock will still be operating under a 20 ticks per second cycle. I assume most people will be using this as a debugging tool, or is that assessment incorrect?

Its mostly used for testing redstone, in my case I use it for testing plugins.

Also, I think that drawTick should be handled at 20 TPS because Bedrock still updates at 20 TPS, and the rendering system in Java updates every frame afaik. Using 20 tps would ensure that it doesnt update too much on fast tickrates while also similarly matching Java

nvm i dont think it updates the tick count every frame, should keep draw tick updating at the same speed as the game

letsgoawaydev avatar Jul 31 '24 02:07 letsgoawaydev

I'm going to try complete this today, if i can't finish it today I will try tomorrow.

letsgoawaydev avatar Aug 09 '24 06:08 letsgoawaydev

Okay, I've fixed title animations, attack indicator and some item cooldowns to be updated with tick rate. I'm not sure what other things require changes but it should be ready for testing if anyone can

letsgoawaydev avatar Aug 31 '24 09:08 letsgoawaydev

Should be functional again as I have merged this with master

letsgoawaydev avatar Dec 07 '24 07:12 letsgoawaydev

will fix build error soon

letsgoawaydev avatar Dec 08 '24 03:12 letsgoawaydev

Everything should be completed now

letsgoawaydev avatar Dec 08 '24 07:12 letsgoawaydev