LaunchWrapper is a wrapper for both legacy and modern Minecraft which provides fixes for certain game features and also improves compatibility with launchers.
LaunchWrapper is bundled in BetterJSONs which are meant for official Minecraft Launcher.
- All versions from rd-132211 to 1.12.2
- 1.13+ (experimental)
- Any Fabric instances
- Forge (<=1.12.2)
- Optifine
- Does not depend on any hard-coded obfuscated names and is mostly compatible with every Minecraft version
- This also includes modded versions
- Skins in offline-mode servers and for unauthenticated users.
- deAWT (aka M1Fix) - Strips game window from Java AWT (Abstract Window Toolkit) and lets the game use internal LWJGL frame
- Replaces mouse input code with LWJGL calls (Fixes any mouse input issues in Classic, Indev and Infdev. Commonly included with deAWT or M1Fix mods)
- BitDepthFix
- Online mode authentication fix
- LaunchWrapper works with Risugami's Modloader so long as you're using Java 8
- Built-in Modloader Fix
- Drop-in replacement for LegacyLauncher (aka net.minecraft.launchwrapper)
- Allows changing game directory in versions before 1.6
- Makes save slots in classic and indev functional and saves to
.minecraft/levels
directory - Adds ability to launch classic and pre-classic at custom resolution or in fullscreen
- Fixes TimSort crash when using Java 8+
- SkinFix - Proxies all requests from old skin servers to the current skin API and converts skins to required format
- Skins don't work in Java versions before 8u181, due to the requirement of TLS 1.2 support
- Adds ability to customize built-in LWJGL frame
- Changing display title
- Setting icon
- Fixes sounds by using sounds from
.minecraft/assets
- You need a valid asset index to be specified in
--assetIndex
- You need a valid asset index to be specified in
- Enabling VSync for versions without that option
- The wrapper is fully compatible with Java 5+ if the game is vanilla
- The wrapper also fixes Beta 1.3, Pre-classic and Classic compatibility with Java 5
- Added parameter to automatically download
minecraft_server.jar
for snapshots:12w18a
,12w19a
,12w21a
- A launcher for isometric level viewer (IsomPreviewApplet)
- Allows changing assets directory in 1.6 snapshots (the game didn't have a parameter to do that yet)
- Block telemetry in both modern and legacy Minecraft versions
There will be an installer eventually.
For now, here is an in-depth guide for those who will be using the wrapper
- If you are using MultiMC, follow this guide.
- If you are using Official Launcher (or any other launcher which follows the same versions folder structure), use BetterJSONs and rename the JSONs if they are conflicting with any vanilla JSONs
Make sure all minecraft and wrapper libraries are on classpath
Use java -cp <classpath> org.mcphackers.launchwrapper.Launch <arguments>
to launch the game
Arguments are formatted the same way as in Mojang launch wrapper.
For example: --username DemoUser --width 1280 --height 720 --title "Minecraft Demo" --demo
Arguments may be as follows:
awtFrame
- disable LWJGL frame patch and use AWT (Not recommended)isom
- Launch IsomPreviewAppletvsync
- Launch the game with VSync enabledresizable
- Early Indev and Classic don't properly update viewport, so the wrapper disables frame resizing. To enable it anyway use this argumentskinProxy
- pre-c0.0.19a / classic / pre-b1.9-pre4 / pre-1.8 / default - convert the skin to one of these specified formats- pre-c0.0.19a - flatten all skin layers, flip bottom textures, mirror entire skin and crop to 64x32
- classic - flatten all skin layers, flip bottom textures and crop to 64x32
- pre-b1.9-pre4 - flip bottom textures and crop to 64x32
- pre-1.8 - crop to 64x32
- default - do nothing with requested skin
skinOptions
- list of optional skin convertion steps separated by ","- ignoreAlex - will not fill arm texture for slim models
- ignoreLayers - will not flatten any body or hat layers
- removeHat - removes head overlay
- useLeftArm - left arm texture will be used when converting to 64x32 skin
- useLeftLeg - left leg texture will be used when converting to 64x32 skin
assetsDir
- Will be used by LaunchWrapper to locate custom index.jsonassetIndex
- Name of theassetsDir
/indexes/index.json without .json extension which will be usedtitle
- The display titleicon
- List of paths of icon PNGs separated by file system path separator (";" on windows, ":" on unix)applet
- Makes the game think you're running an applet which:- Removes quit button in versions between Beta 1.0 and release 1.5.2
- Changes mouse input code in Classic
levelsDir
- Where to save Classic and Indev levelssurvival
- Patches Classic creative versions to start in survivalcreative
- Patches Classic survival versions to start in creativeoneSixFlag
- Toggles notice about the release of 1.6 in 1.5.2serverSHA1
- Compare minecraft_server.jar in .minecraft/server against this hashserverURL
- URL to download the server from if the hash is mismatched or the jar is missing- Any Minecraft launch arguments or applet parameters
- Some LaunchWrapper-specific arguments may be undocumented so make sure to check the source code