PneumaticCraft: Repressurized

PneumaticCraft: Repressurized

43M Downloads

Difficulties switching Drone Programmer mode

MuteTiefling opened this issue ยท 21 comments

commented

For feature requests, just erase this template and clearly describe the feature you'd like to see

Minecraft Version

1.16.5

Forge Version

36.2.2

Mod Version

pneumaticcraft-repressurized-1.16.5-2.14.4-258.jar

Describe your problem, including steps to reproduce it

Changing modes on the Programmer doesn't want to work. You have to fiddle with it a bit or even restart for the change to take effect.

Any other comments?

Example: Couldn't get it to work at all here. Kept reverting back to Normal:
https://streamable.com/vdgoz6

This test was done in a limited instance with only JEI, Botania, Occultism, Mythic Botany, and their dependencies, but we're seeing it in Enigmatica 6 as well. Below are the steps a player followed to finally get it to work.

EnigmaticaModpacks/Enigmatica6#3498

commented

Same as before unfortunately.

Toggling from easy to medium updates the gui from 8 pages to 12, and updates the pneumaticcraft-client.toml, but leaving the programmer and returning to it will revert the gui back to easy

commented

OK, another go at it - build 265 ?

commented

Okay, let's try build 266. If this doesn't work, I really don't know (behaved perfectly for me in dev, SSP and dedicated server instances).

commented

:-\ no change, unfortunately. Is there any debugging in the logs that would be helpful for you to see?

commented

Additional information that could be useful but probably not:
-Could it be hardware dependent in some way? It didn't happen at all in my old setup, on my laptop it happens EVERY time.

-Clicking on 'advanced' fails to make the UI show the additional pieces, and when I open it again, it's supposedly 'easy' again. However, looking at the client config file, the change DOES get written into the file, and for some reason saving that file that was already modified after (trying) to set it to advanced again makes the UI work properly again and display all the puzzle pieces once it's opened again.
The workaround is as simple as opening the UI, setting it to advanced, then leaving the UI and saving the already modified file again (I usually add whitespace or another useless change just so my file editor will let me save without actually making any changes). Then it suddenly works.

All this also works the same way for 'show enchantment glint', 'show pressure as numbers', and similar.

commented

Yeah, just realised you wouldn't be running your client with log4j debug enabled (which I do in the IDE env), sorry. Build 268 logs those messages at INFO level, which you should definitely see.

commented

Have gone through that a couple times now and I'm not even seeing the debug logs you added. Gonna restart it one more time here and I'll ship you the whole log to take a look.

commented

Actually, I've been trying it in my full instance.. Let me try in that limited instance again...

commented

Yeah, even in the limited instance.

Start at Medium, change to easy. Closed/reopened GUI.

Client.toml updates, but I see nothing in the log file:
latest.log

commented

I've just pushed build 267 with some extra debug statements around this. This is what I get when I test (and it's working for me):

[10:34:47] [Render thread/DEBUG] [pneumaticcraft/]: PNC-DEBUG [Render thread]: open programmer GUI: difficulty = EASY
[10:34:49] [Render thread/DEBUG] [pneumaticcraft/]: PNC-DEBUG [Render thread]: setValueAndSave general.programmer_difficulty - MEDIUM
[10:34:49] [Thread-1/DEBUG] [ne.mi.fm.co.ConfigFileTypeHandler/CONFIG]: Config file pneumaticcraft-client.toml changed, sending notifies
[10:34:49] [Render thread/DEBUG] [pneumaticcraft/]: PNC-DEBUG[Render thread]: config saved
[10:34:49] [Thread-1/DEBUG] [pneumaticcraft/]: PNC-DEBUG [Thread-1]: refreshed client config: programmer difficulty = MEDIUM
[10:34:56] [Render thread/DEBUG] [pneumaticcraft/]: PNC-DEBUG [Render thread]: open programmer GUI: difficulty = MEDIUM

Here, I've started with the difficulty set to EASY, opened the programmer GUI, set the difficulty to MEDIUM, then closed and reopened the GUI. Of note is that the config is saved to file on a separate Java thread (and the resulting client config refresh also happens on that separate thread). I'm pretty sure this is related to the problem, especially in terms of it being so hard to reproduce.

Would appreciate if you could try with this build and follow the steps I did above, and post the log snippet you get from that...

commented
[10:51:19] [Render thread/INFO]: PNC-DEBUG [Render thread]: open programmer GUI: difficulty = EASY
[10:51:28] [Render thread/INFO]: PNC-DEBUG [Render thread]: setValueAndSave general.programmer_difficulty - MEDIUM
[10:51:28] [Render thread/INFO]: PNC-DEBUG[Render thread]: config saved
[10:51:43] [Render thread/INFO]: PNC-DEBUG [Render thread]: open programmer GUI: difficulty = EASY

Started Easy
Set to Medium, Closed, Reopened, Still easy in GUI. Config shows Medium

commented

Yeah, seen this reported a few times before. But try as I might, I can never get it to fail :( Always works perfectly for me, inside or outside of a dev environment. I've even stepped through all the relevant code with a debugger (which includes the Forge config management code), and it does exactly what I expect it to.

commented

Things to check when it doesn't switch difficulty:

  • Are there are messages or stracktraces in the log (latest.log/debug.log) when you click the button?
  • When you click the button, can you then open config/pneumaticcraft-client.toml and check the value of programmer_difficulty? It should match what you just selelected...
commented

Can you give build 264 a go when you have a chance? I think it should help, but testing is needed...

commented

Better, but not quite there.

So when I toggle between Easy, Medium, and Advanced, I now see the number of pages change (1/8, 1/12, 1/13), which it wasn't doing before. However, if I leave the programmer and come back, it is still reverting most of the time. I did have it keep the setting change twice out of a couple dozen tries. .

commented

Interesting. Note the absence of the "refreshed client config" message in your instance. Without that, the mod still has the old "baked" difficulty setting, which the programmer re-reads when the gui is next opened. Question is why is that not getting fired for you?

commented

Right, build 269 available, who knows it might even work! ๐Ÿ˜†

commented

No change in game. Not seeing your debug stuff at all now. Did you remove it?

commented

Ok, build 271? he says hopefully

commented

Think you got it this time :D nice job! Thanks!

commented

Fixed in 2.14.5 release