The bug
When upgrading from 1.12.2 to 1.13 with the attached options.txt
file, all control settings are lost. Usually, the control options are converted correctly.
Apparently, this happens when the APPS
key is used for any control, but I'm not too sure about that.
To reproduce
Create a new profile with its game directory in an empty folder and launch 1.12.2 with it.
Close the game and replace the
options.txt
file with the one I attached to this report.Change the profile so that it launches 1.13-pre8 instead. Launch 1.13-pre8 using that profile.
Notice that all the control settings are gone.
Error message
Something went wrong upgrading!
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(String.java:1919)
at aar.a(SourceFile:24)
at aar$$Lambda$791/835175041.apply(Unknown Source)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:512)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:502)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
at aar.a(SourceFile:28)
at aar$$Lambda$790/293786079.apply(Unknown Source)
at java.util.Optional.map(Optional.java:215)
at aar.a(SourceFile:20)
at aar$$Lambda$789/761923430.apply(Unknown Source)
at com.mojang.datafixers.Typed.lambda$updateCap$9(Typed.java:160)
at com.mojang.datafixers.Typed$$Lambda$779/907089215.apply(Unknown Source)
at com.mojang.datafixers.optics.Traversal$Instance$1.lambda$wander$0(Traversal.java:32)
at com.mojang.datafixers.optics.Traversal$Instance$1$$Lambda$780/1957188885.apply(Unknown Source)
at com.mojang.datafixers.util.Pair$Instance.traverse(Pair.java:81)
at com.mojang.datafixers.optics.profunctors.TraversalP$1.lambda$wander$0(TraversalP.java:48)
at com.mojang.datafixers.optics.profunctors.TraversalP$1$$Lambda$781/731584462.apply(Unknown Source)
at com.mojang.datafixers.optics.Traversal$Instance$1.lambda$wander$0(Traversal.java:32)
at com.mojang.datafixers.optics.Traversal$Instance$1$$Lambda$780/1957188885.apply(Unknown Source)
at com.mojang.datafixers.optics.Traversal$Instance$1.lambda$wander$0(Traversal.java:32)
at com.mojang.datafixers.optics.Traversal$Instance$1$$Lambda$780/1957188885.apply(Unknown Source)
at com.mojang.datafixers.Typed.updateCap(Typed.java:160)
at com.mojang.datafixers.Typed.update(Typed.java:134)
at com.mojang.datafixers.Typed.update(Typed.java:129)
at aar.a(SourceFile:19)
at aar$$Lambda$493/885343736.apply(Unknown Source)
at com.mojang.datafixers.DataFix.lambda$null$4(DataFix.java:74)
at com.mojang.datafixers.DataFix$$Lambda$762/1293967722.apply(Unknown Source)
at com.mojang.datafixers.functions.Comp.eval(Comp.java:27)
at com.mojang.datafixers.functions.PointFreeFunction.lambda$null$0(PointFreeFunction.java:15)
at com.mojang.datafixers.functions.PointFreeFunction$$Lambda$760/1251709638.apply(Unknown Source)
at com.mojang.datafixers.FunctionType$$Lambda$623/1700123096.apply(Unknown Source)
at com.mojang.datafixers.types.Type.capWrite(Type.java:153)
at com.mojang.datafixers.types.Type.lambda$null$7(Type.java:144)
at com.mojang.datafixers.types.Type$$Lambda$758/1290606579.apply(Unknown Source)
at java.util.Optional.map(Optional.java:215)
at com.mojang.datafixers.types.Type.lambda$readAndWrite$8(Type.java:143)
at com.mojang.datafixers.types.Type$$Lambda$757/494367851.apply(Unknown Source)
at java.util.Optional.flatMap(Optional.java:241)
at com.mojang.datafixers.types.Type.readAndWrite(Type.java:142)
at com.mojang.datafixers.DataFixerUpper.update(DataFixerUpper.java:78)
at hk.a(SourceFile:493)
at hk.a(SourceFile:489)
at cfj.a(SourceFile:1042)
at cfj.a(SourceFile:804)
at cfj.<init>(SourceFile:377)
at cfg.am(SourceFile:415)
at cfg.a(SourceFile:377)
at net.minecraft.client.main.Main.main(SourceFile:144)
I attached the full log.
Attachments
Comments 11
@unknown, Minecraft was able to successfully convert the options.txt
file I attached to this report in 1.13-pre9. Could you attach your 1.12.2 options.txt
file?
Please note that keybinds bound to some keys may be cleared (unbound): some are no longer supported in new LWJGL and some, like numpad divide, subtract and decimal, are not migrated correctly due to missing mappings (but can be later set in options).
Still affects 1.13-pre10 for me. I don't complicated keys, just some letters and numbers. Linked my options.txt
I'm not able to reproduce with your options.txt
... could you attach your latest.log
for when it happens?
Ah, that's unfortunate and probably not fixable because of the differences between LWJGL 2 and LWJGL 3. This report was about all keybinds being completely reset, though.
See also MC-121278, it's also about difficulties with different keyboard layouts in 1.13.
@unknown No, actually when you are using the azerty keyboard layout, and you upgrade from 1.12.2 to 1.13, your controls get changed to the querty layout. So for example A gets changed into Q, Z gets changed into W etc.
This is not what this report was about though.
Edit: For your issue, please see MC-133407
Still affects 1.13-pre9. (French AZERTY here, but that shouldn't matter)