Table Top Craft (Forge)

Table Top Craft (Forge)

3M Downloads

[CRASH] Resource Location Error Due to Locale-Sensitive Lowercasing

Helios312 opened this issue · 9 comments

commented

To Reproduce
Steps to reproduce the crash:

  1. Download the Modpack from https://www.curseforge.com/minecraft/modpacks/elysian-server-pack
  2. Start the game.
  3. See error

Crash log
https://pastebin.com/2Xz3b7mJ

Versions
Running on 1.20.1 Forge 47.3.0 using mod version 6.1.2. Many other mods installed on the Modpack.

Additional context
I run a server.
One of the players came in with this crash report of their client, nobody else so far has had this issue.
I asked them to remove Oculus from the Modpack but it didn't change anything.

commented

Hm it looks like it failed because of this:
Non [a-z0-9/._-] character in path of location: table_top_craft:models/pieces/kn\u0131ght.obj
But I'm completely unsure how the name of the model would change/break?
Did he perhaps try to replace the knight model by any chance?
But yeah \u0131 is unicode for the character Small Dotless I which suggests its trying to load Knıght instead of Knight.

commented

I'm not sure, this is a very strange error I have never seen before. Does he happen to use an "unusual" minecraft language setting? Or perhaps his computer language?
Since this only happens to one person (based on your message above), there is probably some sort of edge case that causes this to fail.

commented

I guess for starters have the person run the game with just TTC as well, to see if its potentially an incompatibility or if the mod fails to load in general. From there if it is an incompatibility, I'm afraid the best course of action is to add them slowly, until it fails to load which should reveal the conflict (assuming there is 1 other mod that does this).

commented

From what he told me he didn't modify the modpack in anyway. I'm not sure why the mod would do that by itself. How can I fix this?

commented

He said the game crashed with just TTC. Could this be an issue from the Mods end?

commented

Hm yeah if it crashed with just the Mod there seems to be some kind of weird issue that his system has with the Mod.
Can either of you maybe join my discord and we can talk about it there? Would probably make it easier to track down why this is happening.

commented

Okay I just did, my discord is: elysian.server

commented

Going to leave a NOTE here, until I fix this and push an update for all versions.
Essentially what is happening is that on some systems this line here:

return PIECE_PATH.replace("%type%", type.name().toLowerCase());

Converts KNIGHT to unexpected things such as knıght instead of knight.
This happens because apparently by default the system language affects #toLowerCase().
Thankfully the fix is rather simple, I just have to specify the Locale used for the conversion, and it will always convert it to knight.

If you run into this issue and I haven't released updates on curse yet, simply reach out to me on the discord server.

commented

Temporary fix that worked for me was putting this in JVM flags:

-Duser.language=en -Duser.country=US