2016-04-10 14:53:05 +01:00
# Third-party libraries
This folder has third-party or otherwise external libraries needed for other parts to work.
2022-10-13 22:37:44 +01:00
## filesystem
Gulrak's implementation of C++17 std::filesystem for C++11 /C++14/C++17/C++20 on Windows, macOS, Linux and FreeBSD.
See [github repo ](https://github.com/gulrak/filesystem ).
MIT licensed.
2022-07-06 04:56:00 +01:00
## gamemode
A performance optimization daemon.
See [github repo ](https://github.com/FeralInteractive/gamemode ).
2022-08-19 17:42:26 +01:00
BSD-3-Clause licensed
2022-07-06 04:56:00 +01:00
2023-01-06 20:47:14 +00:00
## cmark
2022-08-06 08:23:50 +01:00
2023-01-06 20:47:14 +00:00
The C reference implementation of CommonMark, a standardized Markdown spec.
2016-04-10 14:53:05 +01:00
2023-01-06 20:47:14 +00:00
See [github_repo ](https://github.com/commonmark/cmark ).
BSD2 licensed.
2016-04-10 14:53:05 +01:00
## javacheck
2022-08-06 08:23:50 +01:00
2016-04-10 14:53:05 +01:00
Simple Java tool that prints the JVM details - version and platform bitness.
Do what you want with it. It is so trivial that noone cares.
2021-10-21 22:25:52 +01:00
## Katabasis
2022-08-06 08:23:50 +01:00
2021-10-21 22:25:52 +01:00
Oauth2 library customized for Microsoft authentication.
This is a fork of the [O2 library ](https://github.com/pipacs/o2 ).
MIT licensed.
2016-04-10 14:53:05 +01:00
## launcher
2022-08-06 08:23:50 +01:00
2016-04-10 14:53:05 +01:00
Java launcher part for Minecraft.
2022-11-08 17:51:18 +00:00
It does the following:
2022-07-12 19:44:11 +01:00
2022-11-08 17:51:18 +00:00
- Waits for a launch script on stdin.
- Consumes the launch script you feed it.
- Proceeds with launch when it gets the `launcher` command.
If "abort" is sent, the process will exit.
2016-04-10 14:53:05 +01:00
This means the process is essentially idle until the final command is sent. You can, for example, attach a profiler before you send it.
2022-11-08 17:51:18 +00:00
The `standard` and `legacy` launchers are available.
2016-04-10 14:53:05 +01:00
2022-10-24 18:21:26 +01:00
- `standard` can handle launching any Minecraft version, at the cost of some extra features `legacy` enables (custom window icon and title).
2022-11-08 17:51:18 +00:00
- `legacy` is intended for use with Minecraft versions < 1.6 and is deprecated .
2016-04-10 14:53:05 +01:00
Example (some parts have been censored):
2022-07-12 19:53:51 +01:00
2023-07-26 19:45:30 +01:00
```text
2016-04-10 14:53:05 +01:00
mod legacyjavafixer-1.0
mainClass net.minecraft.launchwrapper.Launch
param --username
param CENSORED
param --version
2022-11-08 17:51:18 +00:00
param Prism Launcher
2016-04-10 14:53:05 +01:00
param --gameDir
param /home/peterix/minecraft/FTB/17ForgeTest/minecraft
param --assetsDir
param /home/peterix/minecraft/mmc5/assets
param --assetIndex
param 1.7.10
param --uuid
param CENSORED
param --accessToken
param CENSORED
param --userProperties
param {}
param --userType
param mojang
param --tweakClass
param cpw.mods.fml.common.launcher.FMLTweaker
2022-11-08 17:51:18 +00:00
windowTitle Prism Launcher: 172ForgeTest
2016-04-10 14:53:05 +01:00
windowParams 854x480
userName CENSORED
sessionId token:CENSORED:CENSORED
2022-10-24 18:21:26 +01:00
launcher standard
2016-04-10 14:53:05 +01:00
```
2022-06-15 09:39:56 +01:00
Available under `GPL-3.0-only` (with classpath exception), sublicensed from its original `Apache-2.0` codebase
2016-04-10 14:53:05 +01:00
## libnbtplusplus
2022-08-06 08:23:50 +01:00
2016-04-10 14:53:05 +01:00
libnbt++ is a free C++ library for Minecraft's file format Named Binary Tag (NBT). It can read and write compressed and uncompressed NBT files and provides a code interface for working with NBT data.
See [github repo ](https://github.com/ljfa-ag/libnbtplusplus ).
Available either under LGPL version 3 or later.
2021-10-21 22:25:52 +01:00
## LocalPeer
2022-08-06 08:23:50 +01:00
2021-10-21 22:25:52 +01:00
Library for making only one instance of the application run at all times.
2016-04-10 14:53:05 +01:00
2021-10-21 22:25:52 +01:00
BSD licensed, derived from [QtSingleApplication ](https://github.com/qtproject/qt-solutions/tree/master/qtsingleapplication ).
2016-04-10 14:53:05 +01:00
2021-10-21 22:25:52 +01:00
Changes are made to make the code more generic and useful in less usual conditions.
2016-04-10 14:53:05 +01:00
2022-06-03 23:02:11 +01:00
## murmur2
Canonical implementation of the murmur2 hash, taken from [SMHasher ](https://github.com/aappleby/smhasher ).
Public domain (the author disclaimed the copyright).
2021-10-21 22:25:52 +01:00
## quazip
2016-10-30 01:37:38 +00:00
2022-08-19 17:42:26 +01:00
A zip manipulation library.
2016-10-30 01:37:38 +00:00
2022-08-19 17:42:26 +01:00
LGPL 2.1 with linking exception.
2016-11-26 22:53:56 +00:00
2021-10-21 22:25:52 +01:00
## rainbow
2022-08-06 08:23:50 +01:00
2021-10-21 22:25:52 +01:00
Color functions extracted from [KGuiAddons ](https://inqlude.org/libraries/kguiaddons.html ). Used for adaptive text coloring.
2016-11-26 22:53:56 +00:00
2021-10-21 22:25:52 +01:00
Available either under LGPL version 2.1 or later.
2016-11-26 22:53:56 +00:00
2021-10-21 22:25:52 +01:00
## systeminfo
2016-11-26 22:53:56 +00:00
2022-10-18 15:37:04 +01:00
A Prism Launcher-specific library for probing system information.
2021-10-21 22:25:52 +01:00
Apache 2.0
2021-04-16 07:19:01 +01:00
2022-09-23 22:06:36 +01:00
## tomlplusplus
2021-10-21 22:25:52 +01:00
2021-04-17 17:46:11 +01:00
A TOML language parser. Used by Forge 1.14+ to store mod metadata.
2021-04-16 07:19:01 +01:00
2022-09-23 22:06:36 +01:00
See [github repo ](https://github.com/marzer/tomlplusplus ).
2021-04-16 07:19:01 +01:00
2022-10-18 15:37:04 +01:00
Licenced under the MIT licence.
2023-02-12 22:23:15 +00:00
## qdcss
A quick and dirty css parser, used by NilLoader to store mod metadata.
Translated (and heavily trimmed down) from [the original Java code ](https://github.com/unascribed/NilLoader/blob/trunk/src/main/java/nilloader/api/lib/qdcss/QDCSS.java ) from NilLoader
Licensed under LGPL version 3.