https://github.com/TuxCoding/CraftAPI
Minecraft library for contacting the Mojang API. Experimenting with Unit-Tests
https://github.com/TuxCoding/CraftAPI
authentication cache java minecraft mojang skin unit-tests uuid
Last synced: about 1 month ago
JSON representation
Minecraft library for contacting the Mojang API. Experimenting with Unit-Tests
- Host: GitHub
- URL: https://github.com/TuxCoding/CraftAPI
- Owner: TuxCoding
- License: unlicense
- Created: 2018-03-02T13:30:45.000Z (over 7 years ago)
- Default Branch: main
- Last Pushed: 2024-05-21T12:35:21.000Z (about 1 year ago)
- Last Synced: 2025-05-06T20:12:40.585Z (about 2 months ago)
- Topics: authentication, cache, java, minecraft, mojang, skin, unit-tests, uuid
- Language: Java
- Size: 1.97 MB
- Stars: 7
- Watchers: 4
- Forks: 83
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# CraftAPIClient
## Description
This is Minecraft library for contacting the Mojang API. It features modern features of Java and flexible way of
communicating with Mojang. Furthermore, this project is used for experimenting with Unit-Tests.## Features
* Compatibility with Minecraft 1.8.8+
* Thread-Safe
* Usage of modern Java 11 HTTP Client features
* UUID and skin querying
* Skin changing
* Rotating multiple outgoing source IPs
* Throws exceptions to let the user decide how to handle errors
* Default in-memory cache
* Rotating proxies
* Configurable amount of name -> uuid requests before using proxies## Planned
* Unit testing for HTTP requests like in [google-http-client](https://github.com/google/google-http-java-client)
* Service registration for Bukkit and Sponge
* Cache cracked username requests
* HTTP request interceptor to redirect to this library
* Wait a customizable interval for sending bulk requests (although this increases latency)
* Add multiple remote APIs besides Mojang:
* [MineTools](https://api.minetools.eu/)## Requirements
* Java 11+
* Gson
* Guava## Contribution
This project is open for suggestions (including breaking changes between major version) and contributions. If you have
an idea to make this library, you are welcome to create an issue ticker or pull request. Please provide units for pull
requests if possible.## Maven repository
```xml
codemc-repo
https://repo.codemc.org/repository/maven-public/
com.github.games647
craftapi
VERSION
```## Credits
* [Fast-UUID](https://github.com/jchambers/fast-uuid) - MIT license
* Remember to include its license fileInspired by
* Sponge's
[GameProfileManager](https://jd.spongepowered.org/7.0.0/org/spongepowered/api/profile/GameProfileManager.html)
[GameProfileCache](https://jd.spongepowered.org/7.0.0/org/spongepowered/api/profile/GameProfileCache.html)
* [SquirrelId](https://github.com/EngineHub/SquirrelID)
* [Mojang Authlib](https://github.com/Techcable/Authlib)
* [Mojang AccountsClient](https://github.com/JonMcPherson/AccountsClient/)
* [API proxy Interceptor](https://github.com/Shevchik/MojangAPIProxy)