Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sbplat/minecraft-client-base
External client base for Minecraft using JNI
https://github.com/sbplat/minecraft-client-base
client injector jni minecraft minecraft-java
Last synced: about 1 month ago
JSON representation
External client base for Minecraft using JNI
- Host: GitHub
- URL: https://github.com/sbplat/minecraft-client-base
- Owner: sbplat
- License: bsd-3-clause
- Created: 2022-10-07T18:26:38.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2023-04-07T18:57:28.000Z (over 1 year ago)
- Last Synced: 2023-05-04T05:44:33.355Z (over 1 year ago)
- Topics: client, injector, jni, minecraft, minecraft-java
- Language: C++
- Homepage:
- Size: 648 KB
- Stars: 15
- Watchers: 1
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
Minecraft Client Base
External client base for Minecraft using JNI.
Features •
Building/Usage •
Crashes •
License## Features
* External injector and loader
* Currently supports vanilla and forge
* Open source## Building/Usage
1. Clone this project.
2. Build the loader and injector using CMake.
```
mkdir build && cd build
cmake ..
cmake --build .
```
3. Build the client using the batch file.
```
cd ../client
build.bat
```
4. Download the mappings for your desired version.
```
cd ../mappings
py download.py
```
5. Start Minecraft and run `build/inject.exe` to inject the loader. The loader will automatically load the client into the game.## Crashes
If Minecraft crashes when the loader is injected, try the following:
* Injecting **two or more times** will cause the game to crash. This is not a bug, and is caused by the "client" not being detached properly, which redefines the classes.
* Run Minecraft with **logging enabled**. If it crashes without any logging, then there is most likely a problem with your JNI version. Set the full JNI header and library paths in the `CMakelists.txt` file.
* Make sure you are using the **correct mappings** for your version. For example, if you are using the latest version of 1.8.9, choose "1.8.9 stable 22" in the download script.
* The "client" must be built using the **same version of java** as the version running the game. You can check your javac version by running `javac -version`. If the version is different, you can change the version by specifying the full path to the javac executable in the `client/build.bat` file.## License
This project is licensed under the [BSD 3 license](LICENSE).