51 lines
3 KiB
Markdown
51 lines
3 KiB
Markdown
|
# LaunchWrapper
|
||
|
|
||
|
**LaunchWrapper** is a wrapper for legacy Minecraft which provides fixes for certain game features and also improves compatibility with launchers.
|
||
|
|
||
|
LaunchWrapper is bundled in [BetterJSONs](https://github.com/MCPHackers/BetterJSONs) which are meant for official Minecraft Launcher.
|
||
|
|
||
|
# Features
|
||
|
- Strips game window from Java **AWT** (**Abstract Window Toolkit**) and lets the game use internal **LWJGL** frame
|
||
|
- Allows changing assets directory in 1.6 snapshots (the game didn't have a parameter to do that yet)
|
||
|
- Allows changing game directory in versions before 1.6
|
||
|
- Replaces mouse input code with **LWJGL** calls
|
||
|
- Fixes TimSort crash when using java 8+
|
||
|
- Adds ability to customize built-in **LWJGL** frame
|
||
|
- Changing display title
|
||
|
- Setting icon
|
||
|
- Proxies all requests from old skin servers to the current skin API and converts skins to required format
|
||
|
- Uses Betacraft proxy to download sounds for versions before 1.6
|
||
|
- Adds ability to launch classic and pre-classic at custom resolution and fullscreen
|
||
|
- Makes save slots in classic and indev functional and saves to `.minecraft/levels` directory
|
||
|
- A launcher for isometric level viewer (IsomPreviewApplet)
|
||
|
- A VSync toggle (Used to prevent extreme framerate in early versions which causes **coil whine**)
|
||
|
- Does not depend on any hard-coded obfuscated names and is mostly compatible with every Minecraft version
|
||
|
- This also includes modded versions
|
||
|
- A parameter to download `minecraft_server.jar` for snapshots which require it: `12w18a`, `12w19a`, `12w21a`
|
||
|
- The wrapper is fully compatible with java 5+ if the game is vanilla
|
||
|
|
||
|
# How to use
|
||
|
*This is a more in-depth guide for people experienced in Java*
|
||
|
|
||
|
Make sure all minecraft and wrapper libraries are on classpath<br>
|
||
|
Use `java -cp <classpath> org.mcphackers.launchwrapper.Launch <arguments>` to launch the game
|
||
|
|
||
|
Arguments are formatted the same way as in Mojang launch wrapper. <br>
|
||
|
For example: `--username DemoUser --width 1280 --height 720 --title "Minecraft Demo" --demo`
|
||
|
|
||
|
Arguments may be as follows:
|
||
|
- `awtFrame` - disable AWT patches (Does not work at that moment)
|
||
|
- `isom` - Launch IsomPreviewApplet
|
||
|
- `forceVsync` - Launch the game with VSync enabled
|
||
|
- `forceResizable` - Early Indev and Classic are don't properly update viewport, so the wrapper disables frame resizing. To enable it anyway use this argument
|
||
|
- `skinProxy` - **classic** / **pre-b1.9-pre4** / **pre-1.8** / **default** - convert the skin to one of these specified formats
|
||
|
- **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
|
||
|
- `resourcesProxyPort` - Betacraft proxy port for sound resources
|
||
|
- `serverSHA1` - Compare minecraft_server.jar in .minecraft/server against this hash
|
||
|
- `serverURL` - URL to download the server from if the hash is mismatched or the jar is missing
|
||
|
- `icon` - List of path of icon graphics separated by `;`
|
||
|
- `title` - The display title
|
||
|
- \+ any Minecraft launch argument or applet parameter
|