As of this writing, I have been attempting for some time now to get Minecraft 1.16.2 working on my Raspberry pi 4. I have been using the instructions on this guide which helped me set up Minecraft 1.16.1 in the past:


I have so far attempted to alter runMC1_16_1_OptifineG2pre.sh to make it 1.16.2 friendly. I downloaded the latest Optifine preview release for 1.16.2 and installed it into the versions folder. Then I edited these lines in the runMC file to point to it:




In theory, this should have worked, but it didn't and here I am. This is the error it has been giving me so far:

[18:30:08] [main/INFO]: Launching wrapped minecraft {net.minecraft.client.main.Main}
[18:30:10] [main/INFO]: [OptiFine] (Reflector) Field not found: World.tileEntitiesToBeRemoved
[18:30:10] [main/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.eventbus.api.Event$Result
[18:30:10] [main/INFO]: [OptiFine] (Reflector) Method not present: net.minecraftforge.common.extensions.IForgeBlockState.hasTileEntity
[18:30:10] [main/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.common.extensions.IForgeEntity
[18:30:10] [main/INFO]: [OptiFine] (Reflector) Class not present: net.minecraftforge.fml.CrashReportExtender
[18:30:11] [main/ERROR]: Unable to launch
java.lang.reflect.InvocationTargetException: null
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_251]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_251]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_251]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_251]
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:159) [launchwrapper-of-2.1.jar:2.1]
    at net.minecraft.launchwrapper.Launch.main(Launch.java:30) [launchwrapper-of-2.1.jar:2.1]
Caused by: java.lang.NoSuchMethodError: com.mojang.serialization.MapCodec.setPartial(Ljava/util/function/Supplier;)Lcom/mojang/serialization/MapCodec;
    at cef.a(SourceFile:75) ~[cef.class:?]
    at cef.<init>(SourceFile:41) ~[cef.class:?]
    at cef$a.a(SourceFile:154) ~[cef$a.class:?]
    at bul.<init>(SourceFile:178) ~[bul.class:?]
    at bzy.<init>(SourceFile:16) ~[bzy.class:?]
    at cae.<init>(SourceFile:17) ~[cae.class:?]
    at bwy.<init>(SourceFile:16) ~[bwy.class:?]
    at bum.<clinit>(SourceFile:107) ~[bum.class:?]
    at ctq.<clinit>(SourceFile:13) ~[ctq.class:?]
    at kp.<clinit>(SourceFile:11) ~[kp.class:?]
    at hk.g(SourceFile:44) ~[hk.class:?]
    at hk.a(SourceFile:75) ~[hk.class:?]
    at java.util.LinkedHashMap.forEach(LinkedHashMap.java:684) ~[?:1.8.0_251]
    at hk.<clinit>(SourceFile:74) ~[hk.class:?]
    at gm.<clinit>(SourceFile:237) ~[gm.class:?]
    at vm.a(SourceFile:42) ~[vm.class:?]
    at net.minecraft.client.main.Main.main(SourceFile:137) ~[Main.class:?]
    ... 6 more

Any ideas?

3 Answers 3


Use the newer tutorial that uses the official old launcher:


At least until Microsoft blocks Mojang accounts.


Optifine wont work if theres no 1.16.2 Minecraft. You need to update too...


Two other libraries were updated from 1.16.1 to 1.16.2

~/.minecraft/libraries/optifine/launchwrapper-of/ moved from 2.1 to 2.2

~/.minecraft/libraries/com/mojang/datafixerupper/ moved from 3.0.25 to 4.0.26

You need to edit your runMC1_16_2_{opti version}.sh to reflect this, the line to edit starts CP=$HOME/ and is about 3k chars long.

Mine runs after making these edits.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.