DimensionalThreading icon indicating copy to clipboard operation
DimensionalThreading copied to clipboard

Breaking sticky piston's behavior in the nether and the end

Open CaveNightingale opened this issue 3 years ago • 5 comments

BUG.litematic.zip Import the machine into litematic and then paste it into the nether and you will see the bug. The sticky piston failed pull piston block back into the glass wall randomly when dimthread is present. However this machine works well in servers with only fabric-api installed. To my surprise, the bug does not seem to affect overworld.

Tested on 1.18.2

CaveNightingale avatar Sep 03 '22 16:09 CaveNightingale

Can reproduce, however it's still not sure with mod is conflicting.

yikerman avatar Sep 04 '22 00:09 yikerman

Can reproduce, however it's still not sure with mod is conflicting.

Only fabric and dimthread are installed on the server side.

CaveNightingale avatar Sep 04 '22 00:09 CaveNightingale

在末地也会发生相似的情况

zhenaiwork avatar Sep 10 '22 01:09 zhenaiwork

@xiaoyu2006 @WearBlackAllDay I created a much simpler machine so that I can see that bug clearly. The expected behavior is pushing the grass block out when I switch the lever on, and pulling the block back when I switch the lever off. However, when the gamerule dimthread_active is true, The sticky piston sometimes pushes the grass block out and then pulls it back immediately without my switching it off. BUG3.litematic.gz

CaveNightingale avatar Oct 15 '22 09:10 CaveNightingale

在末地也会发生相似的情况

对的,这个BUG是由于活塞需要使用游戏时间来决定是否应该拉回方块,而时间是在主世界线程更新的,因此除了主世界线程以外的其他线程都有问题,见https://github.com/CaveNightingale/DimensionalThreading/commit/ff3c9a9d9e78c87f8b05605793d377ddff3060d0

You're right. I have fixed this bug. Sticky Pistons decide to pull blocks back or not depending on the game time. But the time is ticked on the thread of overworld. That's the reason why sticky pistons have unexpected behavior in the nether and the end. See https://github.com/CaveNightingale/DimensionalThreading/commit/ff3c9a9d9e78c87f8b05605793d377ddff3060d0

CaveNightingale avatar Oct 15 '22 12:10 CaveNightingale