Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

f54da

macrumors 6502a
Dec 22, 2021
503
185
can you use your own jvm? jdk 11 works on mavericks, similarly I think early builds of jdk 17 should work. Error in your screenshot might be able to be resolved with swizzling labelColor selector
 

PowerHarryG4

macrumors regular
Original poster
May 31, 2020
108
34
London, England
can you use your own jvm? jdk 11 works on mavericks, similarly I think early builds of jdk 17 should work. Error in your screenshot might be able to be resolved with swizzling labelColor selector
Oh really, that would be cool to get the most up to date version of minecraft running. Do you know where i'd find the early builds? What does swizzling mean? i've heard the expression before but never understood what it was.
 

Wowfunhappy

macrumors 68000
Mar 12, 2019
1,745
2,087
Code:
'+[NSColor labelColor]: unrecognized selector sent to class 0x7fff705ca860'

Oh FFS. So the whole of Minecraft doesn't work because it can't set a stupid label color.

Yeah, this should be easy to fix. I need to get around to making a generic library for this crap.
 

Wowfunhappy

macrumors 68000
Mar 12, 2019
1,745
2,087
Does the attached fix it? Made in ten minutes and not tested. Hopefully I didn't do anything stupid.

To use, run in Terminal:

Code:
DYLD_INSERT_LIBRARIES=/path/to/labelColorStub.dylib /path/to/minecraft.app/Contents/MacOS/minecraft

Source code:
Objective-C:
#import <Foundation/Foundation.h>
#import <AppKit/AppKit.h>
#import "ZKSwizzle.h"

@interface myNSColor : NSColor
@end

@implementation myNSColor
+ (NSColor *)labelColor {
    return [NSColor blackColor];
}
@end

@implementation NSObject (main)
+ (void)load {
    ZKSwizzle(myNSColor, NSColor);
}
@end

@f54da Think SIMBL would load early enough for this sort of thing? Maybe if it works with DYLD_INSERT_LIBRARIES we can try that next.
 

Attachments

  • labelColorStub.dylib.zip
    16.9 KB · Views: 94

f54da

macrumors 6502a
Dec 22, 2021
503
185
>Think SIMBL would load early enough for this sort of thing
Possibly not, if it's relatively early during appkit initialization then you'll have to use dyld_insert_libraries.
 
  • Like
Reactions: Wowfunhappy

PowerHarryG4

macrumors regular
Original poster
May 31, 2020
108
34
London, England
https://sap.github.io/SapMachine/ has builds of jdk 11 with backported security fixes.

swizzling: https://nshipster.com/method-swizzling/ when combined with code injection into process (e.g. via ld_preload) it effectively allows for modifying dynamic behavior of cocoa applicaions at runtime
Oh cool stuff I was trying to build jdk 11 with macports so I just assumed it didn't work at all. And thanks for the definition too, i'll look into that.

Does the attached fix it? Made in ten minutes and not tested. Hopefully I didn't do anything stupid.

To use, run in Terminal:

Code:
DYLD_INSERT_LIBRARIES=/path/to/labelColorStub.dylib /path/to/minecraft.app/Contents/MacOS/minecraft

Source code:
Objective-C:
#import <Foundation/Foundation.h>
#import <AppKit/AppKit.h>
#import "ZKSwizzle.h"

@interface myNSColor : NSColor
@end

@implementation myNSColor
+ (NSColor *)labelColor {
    return [NSColor blackColor];
}
@end

@implementation NSObject (main)
+ (void)load {
    ZKSwizzle(myNSColor, NSColor);
}
@end

@f54da Think SIMBL would load early enough for this sort of thing? Maybe if it works with DYLD_INSERT_LIBRARIES we can try that next.

So i've given it a go and it does fix the problem and start the updater correctly however the minecraft launcher crashes after about a second:

Code:
Process:         launcher [31991]
Path:            /Applications/Minecraft.app/Contents/MacOS/launcher
Identifier:      com.mojang.minecraftlauncher
Version:         1.1.32 (1)
Code Type:       X86-64 (Native)
Parent Process:  launchd [146]
Responsible:     launcher [31991]
User ID:         501

Date/Time:       2022-10-21 08:29:24.841 +0100
OS Version:      Mac OS X 10.9.5 (13F1911)
Report Version:  11
Anonymous UUID:  80F97551-41AB-38E4-46A5-65572ABF7CAA

Sleep/Wake UUID: CFAFD5FA-CD68-4436-AFD4-313E3847388C

Crashed Thread:  0  CrBrowserMain  Dispatch queue: com.apple.main-thread

Exception Type:  EXC_BAD_INSTRUCTION (SIGILL)
Exception Codes: 0x0000000000000001, 0x0000000000000000

Application Specific Information:
Crashing on exception: *** -[NSKeyedUnarchiver initForReadingWithData:]: incomprehensible archive (0x4e, 0x49, 0x42, 0x41, 0x72, 0x63, 0x68, 0x69)

Application Specific Backtrace 1:
0   CoreFoundation                      0x00007fff9388725c __exceptionPreprocess + 172
1   libobjc.A.dylib                     0x00007fff98db6e75 objc_exception_throw + 43
2   CoreFoundation                      0x00007fff9388710c +[NSException raise:format:] + 204
3   Foundation                          0x00007fff8ca686a7 -[NSKeyedUnarchiver initForReadingWithData:] + 3055
4   AppKit                              0x00007fff8d8bb522 loadNib + 155
5   AppKit                              0x00007fff8d8bab6c +[NSBundle(NSNibLoading) _loadNibFile:nameTable:withZone:ownerBundle:] + 288
6   AppKit                              0x00007fff8d8ba95c -[NSBundle(NSNibLoading) loadNibNamed:owner:topLevelObjects:] + 197
7   AppKit                              0x00007fff8d8ba74b +[NSBundle(NSNibLoading) loadNibNamed:owner:] + 357
8   launcher                            0x000000010343e92a -[SimpleAppDelegate createApplication:] + 74
9   Foundation                          0x00007fff8cab575e __NSThreadPerformPerform + 229
10  CoreFoundation                      0x00007fff937b85b1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
11  CoreFoundation                      0x00007fff937a9d29 __CFRunLoopDoSources0 + 441
12  CoreFoundation                      0x00007fff937a93ef __CFRunLoopRun + 831
13  CoreFoundation                      0x00007fff937a8e75 CFRunLoopRunSpecific + 309
14  HIToolbox                           0x00007fff9275da0d RunCurrentEventLoopInMode + 226
15  HIToolbox                           0x00007fff9275d685 ReceiveNextEventCommon + 173
16  HIToolbox                           0x00007fff9275d5bc _BlockUntilNextEventMatchingListInModeWithFilter + 65
17  AppKit                              0x00007fff8d8d824e _DPSNextEvent + 1434
18  AppKit                              0x00007fff8d8d789b -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 122
19  AppKit                              0x00007fff8d8cb99c -[NSApplication run] + 553
20  Chromium Embedded Framework         0x0000000105b644ae cef_time_delta + 2000686
21  Chromium Embedded Framework         0x0000000105b62eac cef_time_delta + 1995052
22  Chromium Embedded Framework         0x0000000105b806f3 cef_time_delta + 2115955
23  Chromium Embedded Framework         0x00000001058ecb5d ChromeAppModeStart_v4 + 1722845
24  launcher                            0x00000001034d9fd9 _ZN6client15MainMessageLoop3RunEv + 9
25  launcher                            0x00000001033f5e1d RunLauncher + 4381
26  launcher                            0x0000000100fc4b52 _ZNK14LauncherPlugin11RunLauncherERKNSt3__112basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEES8_S8_iPPc + 114
27  launcher                            0x0000000100f5dc9c _Z12StartLibraryR8SettingsiPPc + 2572
28  launcher                            0x0000000100f4928a main + 2554
29  libdyld.dylib                       0x00007fff936e65fd start + 1
30  ???                                 0x0000000000000001 0x0 + 1
 

Wowfunhappy

macrumors 68000
Mar 12, 2019
1,745
2,087
So i've given it a go and it does fix the problem and start the updater correctly however the minecraft launcher crashes after about a second:
Okay, unfortunately this one isn't an obvious fix like the label color.

I'm out of the loop on how Minecraft works nowadays. Can't you download a generic `.jar` that will just run with Java instead of an OS specific launcher?
 
  • Like
Reactions: PowerHarryG4

f54da

macrumors 6502a
Dec 22, 2021
503
185
+1 to above, from what I can tell just by these stack traces the launcher seems to be a native app, while as far as I know the actual game should be a jar buried somewhere. Getting the launcher to run seems like a futile effort since it was built against a newer sdk (hence the various errors), but if you can somehow find a way to just launch the game jar itself that should work.
 
  • Like
Reactions: PowerHarryG4

Jazzzny

macrumors regular
Mar 23, 2021
122
243
Hello guys, just stumbled across this thread.
The only launcher that works correctly on 10.9 without any real issues is the legacy .jar launcher paired with Java 8, which you may be familiar with if you've played Minecraft before ~2016. However, the first roadblock that you'll come across is the lack of MSA authentication. Fortunately, someone has created scripts to add Microsoft Authentication to the legacy launcher: https://github.com/NepNep21/MSA4Legacy
I've also attached the patched launcher as a file, but feel free to run the scripts manually from GitHub.
Once logged in through MSA Authentication, you can run any version of Minecraft up to and including 1.16.5. 1.17+ won't run as Mojang bumped up the required Java version to 17, which I haven't been able to get running, even with wowfunhappy's excellent dylib stubbing guide.
I've done some brief testing with the MSA Authentication patches, and everything seems to be working correctly. I've even been able to play on some major servers such as Hypixel.
Enjoy!
Edit: hrrmm, took a closer look at this thread and looks like OP already got the modern launcher working. Oh well, I'll leave this here if anyone wants to take a look at the legacy launcher
 

Attachments

  • Screen_Shot_2022-08-08_at_9.36.17_PM.png
    Screen_Shot_2022-08-08_at_9.36.17_PM.png
    89.4 KB · Views: 155
  • Screen_Shot_2022-08-08_at_9.33.46_PM.png
    Screen_Shot_2022-08-08_at_9.33.46_PM.png
    214.2 KB · Views: 243
  • unknown.png
    unknown.png
    596.2 KB · Views: 173
  • launcher-patched.jar.zip
    7.1 MB · Views: 152
Last edited:
  • Like
Reactions: PowerHarryG4

Wowfunhappy

macrumors 68000
Mar 12, 2019
1,745
2,087
1.17+ won't run as Mojang bumped up the required Java version to 17, which I haven't been able to get running
...huh, that sucks that Java 17 won't run. I feel like unix-y things tend to be possible to build.

MacPorts's openjdk17 port is indeed reported to fail on everything below Sierra: https://ports.macports.org/port/openjdk17/

But at a quick glance, it's not clear that anyone has actually tried to get it working on older OS's. It could potentially be as simple as adding the LegacySupport portgroup, or compiling with macports-libcxx.
 
  • Like
Reactions: PowerHarryG4

chuddavis

macrumors newbie
Mar 14, 2023
2
1
Hello guys, just stumbled across this thread.
The only launcher that works correctly on 10.9 without any real issues is the legacy .jar launcher paired with Java 8, which you may be familiar with if you've played Minecraft before ~2016. However, the first roadblock that you'll come across is the lack of MSA authentication. Fortunately, someone has created scripts to add Microsoft Authentication to the legacy launcher: https://github.com/NepNep21/MSA4Legacy
I've also attached the patched launcher as a file, but feel free to run the scripts manually from GitHub.
Once logged in through MSA Authentication, you can run any version of Minecraft up to and including 1.16.5. 1.17+ won't run as Mojang bumped up the required Java version to 17, which I haven't been able to get running, even with wowfunhappy's excellent dylib stubbing guide.
I've done some brief testing with the MSA Authentication patches, and everything seems to be working correctly. I've even been able to play on some major servers such as Hypixel.
Enjoy!
Edit: hrrmm, took a closer look at this thread and looks like OP already got the modern launcher working. Oh well, I'll leave this here if anyone wants to take a look at the legacy launcher
Hey, I know this is an older thread, but I'm keen to know how you got this working. Installing Java 8 is just not working out for me on mavericks. Could you tell me the version of java 8 you are running or anything else you did to get this to work? Thanks.
 

PowerHarryG4

macrumors regular
Original poster
May 31, 2020
108
34
London, England
Hey, I know this is an older thread, but I'm keen to know how you got this working. Installing Java 8 is just not working out for me on mavericks. Could you tell me the version of java 8 you are running or anything else you did to get this to work? Thanks.
Does the link from this page not work for you? https://www.java.com/en/download/manual.jsp

You could also try downloading and installing MacPorts and then installing openjdk through there:


 

chuddavis

macrumors newbie
Mar 14, 2023
2
1
Does the link from this page not work for you? https://www.java.com/en/download/manual.jsp

You could also try downloading and installing MacPorts and then installing openjdk through there:


Hey thank you for the response!

Downloading the jdk is not a problem, however when I attempt to open the patched launcher from Jazzzny's post, it crashes upon launch. I have tried the same process on macos catalina and surprisingly the patched launcher works just fine...

I will try the mac ports route with openjdk8 and hopefully it works.

Edit: Took ages to install everything but yeah openjdk8 was the solution! Thanks soo much PowerHarryG4 you made my day :)
 
Last edited:
  • Like
Reactions: PowerHarryG4

Jazzzny

macrumors regular
Mar 23, 2021
122
243
I can't believe I'm saying this, but I by adding a ton of patches to Java 17 and building it on 10.12, I managed to get JAVA 17 FULLY WORKING ON MAVERICKS!! This means that Minecraft is officially back on 10.9-10.11!!

I think this deserves its own post, so I'll make one about my custom Java build.

Screen_Shot_2023-07-07_at_3.47.59_PM.png


Screen_Shot_2023-07-07_at_3.06.45_PM.png
 
  • Love
Reactions: TheShortTimer
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.