Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/racoondog/launchargsapi
Common hooks to access Minecraft launch arguments
https://github.com/racoondog/launchargsapi
Last synced: about 1 month ago
JSON representation
Common hooks to access Minecraft launch arguments
- Host: GitHub
- URL: https://github.com/racoondog/launchargsapi
- Owner: RacoonDog
- License: mit
- Created: 2023-01-02T00:38:23.000Z (almost 2 years ago)
- Default Branch: 1.20
- Last Pushed: 2023-09-25T02:38:53.000Z (about 1 year ago)
- Last Synced: 2023-09-25T07:08:46.018Z (about 1 year ago)
- Language: Java
- Size: 109 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
a# Launch Args API
A Fabric library that provides common hooks to access Minecraft launch arguments## Usage
### `CREATE_SPECS` Event
Gives you access to [joptsimple](https://github.com/jopt-simple/jopt-simple) `OptionParser` object
### `PARSE_ARGS` Event
Gives you access to [joptsimple](https://github.com/jopt-simple/jopt-simple) `OptionSet` object```java
public class LaunchArgsTest implements ArgsListener {
private static final Logger LOG = LogUtils.getLogger();
private OptionSpec optionSpec;@Override
public void createSpecs(OptionParser optionParser) {
optionSpec = optionParser.accepts("someArg");
}@Override
public void parseArgs(OptionSet optionSet) {
if (optionSet.has(optionSpec)) LOG.info("Found argument!");
}
}
``````groovy
repositories {
maven {
name = "meteor-maven"
url = "https://maven.meteordev.org/releases"
}
}dependencies {
modImplementation "io.github.racoondog:LaunchArgsAPI:1.1.3"
include "io.github.racoondog:LaunchArgsAPI:1.1.3"
}
```## Difference between LaunchArgsAPI and `FabricLoader.getLaunchArguments`
Parsing custom launch arguments from `FabricLoader.getLaunchArguments()` doesn't remove the "Completely ignored arguments" message## Minecraft launch argument documentation
Since I couldn't find this anywhere else...
### Client (As of 1.19.3)
- `--demo`: Enables demo mode if present
- `--disableMultiplayer`: Disables multiplayer if present
- `--disableChat`: Disables chat if present
- `--fullscreen`: Starts game in fullscreen if present
- `--checkGlErrors`
- `--jfrProfile`
- `--server`: `String`; Server address to join after game initialization
- `--port`: `Integer`; Server port to join after game initialization
- `--gameDir`: `File`; Defaults to `.`
- `--assetsDir`: `File`; Defaults to `{gameDir}/assets/`
- `--resourcePackDir`: `File`; Defaults to `{gameDir}/resourcepacks/`
- `--proxyHost`: `String`
- `--proxyPort`: `Integer`; Defaults to `8080`
- `--proxyUser`: `String`
- `--proxyPass`: `String`
- `--username`: `String`; Defaults to `Player {4 random digits}`; Minecraft account username, required for login
- `--uuid`: `String`; Defaults to random; Minecraft account uuid, required for login
- `--xuid`: `String`; Defaults to empty; XBox uuid
- `--clientId`: `String`; Defaults to empty
- `--accessToken`: `String`; Required; Minecraft account token, required for login
- `--version`: `String`; Required
- `--width`: `Integer`; Defaults to `854`
- `--height`: `Integer`; Defaults to `480`
- `--fullscreenWidth`: `Integer`
- `--fullscreenHeight`: `Integer`
- `--userProperties`: `String`; Defaults to `{}`
- `--profileProperties`: `String`; Defaults to `{}`
- `--assetIndex`: `String`
- `--userType`: `String`; Defaults to `legacy`
- `--versionType`: `String`; Defaults to `release`### Server (As of 1.19.3)
- `--nogui`: Disables gui if present
- `--initSettings`: Initializes 'server.properties' and 'eula.txt', then quits
- `--demo`: Enables demo mode if present
- `--bonusChest`: Enables bonus chest if present
- `--forceUpgrade`: Forcibly runs datafixers on world if present
- `--eraseCache`: If present, erase cache (Heightmaps, Lightmaps) during world upgrade, only has an effect if `forceUpgrade` is present
- `--safeMode`: Loads level with vanilla datapack only if present
- `--help`: Prints commands, then quits
- `--singleplayer`: `String`
- `--universe`: `String`; Defaults to `.`
- `--world`: `String`
- `--port`: `Integer`; Defaults to `-1`
- `--serverId`: `String`
- `--jfrProfile`
- `nogui`: Disables gui if presentThanks unascribed for helping me understand some launch arguments