WTHIT Forge Edition

WTHIT Forge Edition

3M Downloads

Plugin options got reset at every launch

VaporeonScripts opened this issue ยท 15 comments

commented

Describe the issue

image
this thing auto enables on each launch altough i need it to off as a temp fix for my prev issue

Log output and crash report

https://api.mclo.gs/1/raw/6AYO4oU

Additional context

no

commented

Idk,I might try today and see how it goes

commented

Does it also happen with only WTHIT and its dependencies?

commented

i forgot abt it, my bad, i will do it tomorrow!

commented

alright, so i tried,and any setting that i change from plugin toggles gets resetted on the next launch, i used a fresh istance, only wthit

commented

Finally have the time to test it for myself, I can't reproduce it. Is there any error indicating an invalid file?
Please send me your log with only WTHIT.

commented

I removed wthit and added jade ,I no longer use wthit

commented

Sure, I guess.

commented

I'm having this issue too, with everything in wthit_plugins.json5 being reset upon restarting the game. It does not happen with only WTHIT + bad packets installed, though I haven't yet narrowed down which other mod is the culprit.

latest.log from an instance with the issue: https://gist.github.com/unilock/c5a8b76d62d203c883a174f91ffd1685

commented

I'm asking unilock.

commented

Oh,my bad then xD

commented

The common mods from those two log (+Sinytra)

I can reproduce with these mods. I also notices that the file became an empty file (only {}) on boot before filled with the plugin configs, it seems like it got accessed before the plugins loaded.

(Also, Vaporeon, you can unsubscribe from this thread if you don't want notifications. See the button on the right.)

commented
The common mods from those two log (+Sinytra)

accessories
aiimprovements
almostunified
alternate_current
appleskin
architectury
artifacts
athena
badpackets
badoptimizations
balm
bankstorage
caelus
charmofundying
chat_heads
chisel
clickadv
cloth_config
clumps
colorfulhearts
controlling
craftingtweaks
cuisinedelight
cupboard
curios
cursedearth
mr_dungeons_andtaverns
elytraslot
emi
emiprofessions
endersdelight
eternal_starlight
expandability
expandedstorage
extended_industrialization
extradelight
factory_blocks
farmersdelight
farmers_structures
fastbench
ferritecore
fabric_api_base
fabric_block_view_api_v2
fabric_loot_api_v3
fabric_renderer_api_v1
fabric_rendering_data_attachment_v1
fabric_resource_loader_v0
fruitsdelight
fusion
geckolib
glassential
glitchcore
grandpower
industrialization_overdrive
infiniverse
inventoryprofilesnext
justdirethings
justenoughbreeding
jei
kotlinforforge
kuma_api
l2core
l2damagetracker
l2itemselector
l2library
l2menustacker
l2tabs
libipn
lmft
lootintegrations
lootr
mi_sound_addon
midnightlib
minecraft
modelfix
modern_industrialization
modernfix
modonomicon
moredelight
morered
mousetweaks
mynethersdelight
neoforge
netherportalfix
noisium
occultism
overloadedarmorbar
packetfixer
patchouli
placebo
polylib
polymorph
reeses_sodium_options
resourcefulconfig
searchables
simplylight
smartbrainlib
sodium
sodium_extra
spark
spectrelib
sushigocrafting
terrablender
tesseract_api
thaumon
tide
titanium
trofers
usefulhats
visualoverhaul
wits
wthit
yeetusexperimentus
yet_another_config_lib_v3
yigd
zume

commented

Does this also happen with WTHIT version 12.2.4 or earlier? That's the one that changed the config to use JSON5.

commented

Added some debug print to this log, and yes, the config file got written before plugins even loaded (search through [WTHIT] occurrence on the file to confirm.)

This means that the NeoForge's ClientTickEvent got called before FMLLoadCompleteEvent, not sure if it's supposed to happen but its name says it's likely not, so some mod might be triggering it prematurely. Not sure, the trace still says it comes from NeoForge. Might also be just simply a race condition between 2 threads.


In general WTHIT should be able to load all plugins from Sinytra mods, as it has a uniform way to register plugins in the way of waila_plugins.json, and WTHIT should be the one that loads plugins code, not the other way around.

commented

WTHIT version 12.2.4 crashes during startup with the following error:

[04:58:04] [Worker-ResourceReload-1/ERROR] [ne.ne.fm.ModContainer/LOADING]: Caught exception during event FMLLoadCompleteEvent dispatch for modid waila
java.lang.NullPointerException: Cannot invoke "com.google.gson.JsonPrimitive.getAsString()" because the return value of "com.google.gson.JsonObject.getAsJsonPrimitive(String)" is null
	at TRANSFORMER/[email protected]/mcp.mobius.waila.plugin.PluginLoader.readPluginsJson(PluginLoader.java:91) ~[wthit-neo-12.2.4.jar%23853!/:?] {re:classloading}
	at TRANSFORMER/[email protected]/mcp.mobius.waila.neo.NeoPluginLoader.gatherPlugins(NeoPluginLoader.java:16) ~[wthit-neo-12.2.4.jar%23853!/:?] {re:classloading}
	at TRANSFORMER/[email protected]/mcp.mobius.waila.plugin.PluginLoader.loadPlugins(PluginLoader.java:142) ~[wthit-neo-12.2.4.jar%23853!/:?] {re:classloading}
	at TRANSFORMER/[email protected]/mcp.mobius.waila.neo.NeoWaila.loadComplete(NeoWaila.java:40) ~[wthit-neo-12.2.4.jar%23853!/:?] {re:classloading}

I guess some other mod isn't compatible with the older version of WTHIT?

Anyway, I thought this issue was caused by a Fabric mod with WTHIT compatibility initializing WTHIT before NeoForge mods are loaded (as Sinytra Connector does), but testing with only WTHIT + Your Reputation + Sinytra Connector appears to have proved that wrong; the config persists across restarts there.