hlysine / create_connected

A Create mod add-on adding quality-of-life blocks that you wish existed in Create.
GNU Affero General Public License v3.0
28 stars 9 forks source link

Freewheel Clutch does not reactivate as expected #9

Closed mikkolukas closed 11 months ago

mikkolukas commented 11 months ago

Thank you for a great mod and especially the nice functionality of the Freewheel Clutch. It is very useful for building more elegant contraptions. It have a quite serious bug though, that stops it from being used, except in very simple setups.

To minimize confusion, I have made the setup here as simple as possible. The bug have much wider impact though, as it shows itself regardless of what mechanism is used for breaking/reconnection the system. Especially a problem when using other clutches, in other parts of the system before the Freewheel Clutch.

Step-by-step

  1. Let's make a very simple setup: A motor and the Freewheel Clutch, connected by some shafts. Everything works; we can see the Freewheel Clutch connects (the indicator is white). 2023-12-29_04 33 45

  2. We remove the shaft, separating the motor from the Freewheel Clutch. 2023-12-29_04 34 02

  3. We place a new shaft. 2023-12-29_04 34 18

  4. The Freewheel Clutch is now in "buggy mode". Expected result: The Freewheel Clutch should reconnect. What actually happens: The Freewheel Clutch do not connect. From this step we can repeat from step 2 if we want to; the Freewheel Clutch stays in "buggy mode".

  5. With the shaft in place between the motor and the Freewheel Clutch, we do a single attempt to remove the Freewheel Clutch, but it doesn't get removed (the graphics show it as if it gets removed and then instantly replaced). The Freewheel Clutch is now in "non-buggy mode" again, shown in step 5 and 6 below:

  6. We remove the shaft, separating the motor from the Freewheel Clutch. 2023-12-29_04 34 02

  7. We place a new shaft. Everything works again; we can see the Freewheel Clutch connects (the indicator is white). We are now back at step 1. 2023-12-29_04 33 45

Observations

Instead of step 2 and 3, we can use the Wrench to rotate the Freewheel Clutch four times (so it returns to its original position). This also brings us to "buggy mode" at step 4.

Test cases

The bug has been observed in these two cases (I have not tried others):

FIRST CASE Dedicated server Server OS :: Linux Minecraft :: 1.19.2 Forge :: 43.3.5 Create: 0.5.1f Create: Connected :: 0.2.0 + a lot of other mods, but as shown, the issue can be reproduced without.

SECOND CASE Local game OS: Windows 11 Minecraft :: 1.20.1 Forge :: 47.2.19 Create: 0.5.1f Create: Connected :: 0.2.0 No other mods installed (other than JEI, thanks for the fast fix in 0.3.0).

edit: Damn, you are fast with the updates! :) You just pushed 0.3.0 while I was writing this issue. I have re-tested with 0.3.0 in the SECOND CASE and the issue is present there too

edit2: Added that a lot of other mods was also installed in FIRST CASE (had totally forgot), but I still believe the issue is narrowed down to Create: Connected alone.


If you have any questions, feel free to ask. Best regards :)

hlysine commented 11 months ago

Thanks for the high-quality report! This is a regression from my attempt to fix a crash when the overstress clutch and freewheel clutch are put on the same network. The fix is simple and will be released in the next update.

Here's a dev version if you'd like to test the fix: UNZIP ME create_connected-0.3.0-dev-mc1.20.1.zip

Update: published a hotfix release because this bug is quite annoying

mikkolukas commented 11 months ago

Wow, you are a champ! So fast ❤️🙂👍

I'll need to get some sleep, but I will check it ASAP, as it will help a lot on my server 🙂

mikkolukas commented 11 months ago

Hi again.

I have tested it in the SECOND case and it works beautifully! 🙂

I have full confidence it will work on the server too (FIRST CASE) so I will update it there and only return to this thread of it turns out it didn't.

Again, thanks for your fast response and solution. Good work 🙂