Curseforge Hexxit Advanced Modpack crash on DoomlikeDungeons
BBxBBoes opened this issue · 5 comments
Description: Exception in server tick loop
net.minecraftforge.fml.common.LoaderExceptionModCrash: Caught exception from Doomlike Dungeons (dldungeonsjbg)
Caused by: java.lang.IllegalArgumentException: No enum constant jaredbgreat.dldungeons.nbt.NBTType.STRİNG
at java.lang.Enum.valueOf(Enum.java:238)
at jaredbgreat.dldungeons.nbt.NBTType.valueOf(NBTType.java:14)
at jaredbgreat.dldungeons.nbt.tags.Tags.makeITag(Tags.java:20)
at jaredbgreat.dldungeons.nbt.NBTHelper.parseNBTLine(NBTHelper.java:83)
at jaredbgreat.dldungeons.themes.ThemeReader.readNBT(ThemeReader.java:306)
at jaredbgreat.dldungeons.themes.ThemeReader.openNBTConfig(ThemeReader.java:282)
at jaredbgreat.dldungeons.themes.ThemeReader.readThemes(ThemeReader.java:215)
at jaredbgreat.dldungeons.DoomlikeDungeons.postInit(DoomlikeDungeons.java:63)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at net.minecraftforge.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:637)
at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91)
at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150)
at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76)
at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399)
at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71)
at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116)
at com.google.common.eventbus.EventBus.post(EventBus.java:217)
at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:219)
at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:197)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91)
at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150)
at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76)
at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399)
at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71)
at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116)
at com.google.common.eventbus.EventBus.post(EventBus.java:217)
at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:136)
at net.minecraftforge.fml.common.Loader.initializeMods(Loader.java:754)
at net.minecraftforge.fml.server.FMLServerHandler.finishServerLoading(FMLServerHandler.java:108)
at net.minecraftforge.fml.common.FMLCommonHandler.onServerStarted(FMLCommonHandler.java:338)
at net.minecraft.server.dedicated.DedicatedServer.init(DedicatedServer.java:219)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:486)
at java.lang.Thread.run(Thread.java:750)
Thanks, I'll need to look into it -- see if its a mod conflict, a forge update I didn't get the memo on, or what.
It's very strange, though, since it looks like it can't find part of this enum class ("STING" on line 25) that is clearly there:
https://github.com/BlackJar72/DoomlikeDungeons/blob/MC1.12.2/main/java/jaredbgreat/dldungeons/nbt/NBTType.java
...so why it doesn't find that is beyond me, its all internal to the mod, which worked fine last time I played with it.
Oh, this is a classic issue. It was looking for "STRİNG", not "STRING", the upper case i being a different letter.
This is happening because you did not specify a locale when calling toUpperCase, in which case it uses the default locale which is derived from the host system's properties.
Simply changing it to toUpperCase(Locale.ROOT)
prevents this from happening.
Oh, this is a classic issue. It was looking for "STRİNG", not "STRING", the upper case i being a different letter. This is happening because you did not specify a locale when calling toUpperCase, in which case it uses the default locale which is derived from the host system's properties. Simply changing it to
toUpperCase(Locale.ROOT)
prevents this from happening.
Thanks, that is VERY helpful. I had no idea, but assumed it would just use basic ASCII conversions everywhere, except perhaps if the characters being converted were not original ASCII. This should actually be a fairly easy fix, just need to take some time to do it.
Things like this remind me that I'm not really as advanced at programming as I started to think during the mods original development. It is nice that I can probably fix this issue though.
EDIT: I Basically assumed a very simple, literal operation, like setting the 64 bit.
Try the new 1.14.12 version when if becomes available -- it should fix the problem and is under review by Curse right now. It should be available in a few minutes.