Applied Energistics 2

Applied Energistics 2

137M Downloads

Using new versions of forge for 1.16.5 and this happens

ModernGamingWorld opened this issue ยท 8 comments

commented

After updating to the latest version of forge for 1.16.5, Ae2 appliedenergistics2-common.toml turns into appliedenergistics2-common-1.toml.bak

Describe the bug

Update to the latest version of forge and launch a game seems to break config

To Reproduce

  1. Updated Forge to latest 1.16.5
  2. Open Config folder
  3. see that config broke

Expected behavior

Additional context

https://i.imgur.com/XsbdrVh.png

Environment

  • Environment:
commented

There is still no official release for 1.16.5 and the current one is even marked as not supporting it. Mostly to give Forge some time to settle in and do some breaking changes, in case this would it make impossible to support 1.16.4 any longer within the same release.

If forge then decides to load an incompatible mod and stuff breaks, it is something you have to report directly to them.

commented

Forge does not accept breaking changes in 1.16.5 as has been mentioned multiple times on the Forge Discord.
The beta marking is shown because the code responsible for that just checks the second part of the version for a 0.

commented

@ModernGamingWorld There should be something in the log related to that. The real config file still exists as can be seen on your screenshot, the bak file is a backup because something in the original file is broken.

commented

Nearly every 1.16.x release had at least one breaking change for us. With various reason like forge removing something midway during a release cycle, which they did consider internally as deprecated without ever communicating it as such. Of course with the suggested alternative not existing in the previous 1.16.x release. Or readding a fix/patch/workaround the forgot years to add years ago, breaking your workaround for it without a way of adding it only up to a specific forge version.

So all in all there is a significant chance that they break something, even when claiming not wanting to do it. Which means I will not risk it when someone might still be stuck on 1.16.4 for whatever reason and then having to fix a serious bug in the current stable release without being able to deploy it for 1.16.4 as the 1.16.5 support forced us to make a breaking change.

commented

This line is most likely the problem.
Empty comments get parsed from the file as null while your code defines them as an empty string. This causes an equality check to fail and the system tries to fix the config file.

commented

Yeah idk, this is what forge found when they test the samething I did

commented

Well I brought this issue to the forge discord and it is an issue with Ae2 itself

[17Feb2021 12:05:09.572] [modloading-worker-2/WARN] [net.minecraftforge.common.ForgeConfigSpec/CORE]: Incorrect key features.Misc.UnsupportedDeveloperTools tested from Comment: null to Comment:
[17Feb2021 12:05:09.573] [modloading-worker-2/WARN] [net.minecraftforge.common.ForgeConfigSpec/CORE]: Configuration file C:\Users\lexma\AppData\Roaming.minecraft\profiles\forge_test\config\appliedenergistics2-common.toml is not correct. Correcting
[17Feb2021 12:05:09.579] [Thread-0/WARN] [net.minecraftforge.common.ForgeConfigSpec/CORE]: Incorrect key features.Misc.UnsupportedDeveloperTools tested from Comment: null to Comment:
[17Feb2021 12:05:09.580] [Thread-0/WARN] [net.minecraftforge.fml.config.ConfigFileTypeHandler/CONFIG]: Configuration file C:\Users\lexma\AppData\Roaming.minecraft\profiles\forge_test\config\appliedenergistics2-common.toml is not correct. Correcting

commented

No idea. Last time I had to change something about the config I was a bit puzzled about the Strings.nullToEmpty, but I remember it did not work without it when trying to remove it. Crash with a NPE or something similar.

Too lazy to reproduce it, but I wasted enough time on it already and there are much more important things to fix. As long as it works and does not crash, I will not really waste more time on making Forge happy enough to not produce random log entries. Otherwise they can finally start validating inputs and throw exceptions once it leaves a valid input range. So we no longer have to guess, if that is a fluke because they forgot to consider fixing the other half or if it is a valid change and just forgot to ever document their expectation earlier or the change now.