Skip to content

Minecraft library for contacting the Mojang API. Experimenting with Unit-Tests

License

Notifications You must be signed in to change notification settings

avani07joshi/CraftAPI

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CraftAPIClient

Description

hiiii!!!!! 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

  • Minimal requirements to integrate it into Sponge, BungeeCord and Spigot
  • Compatibility with Minecraft 1.7.10+
  • Thread-Safe
  • Usage of modern Java 8 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
  • 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:

Requirements

  • Java 8+
  • Gson (2.2.4+)
  • Guava (10.0.1+)

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

	<repositories>
        <!-- CodeMc -->
        <repository>
            <id>codemc-repo</id>
            <url>https://repo.codemc.org/repository/maven-public/</url>
        </repository>
    </repositories>

    <dependencies>
        <!--Common component for contacting the Mojang API-->
        <dependency>
            <groupId>com.github.games647</groupId>
            <artifactId>craftapi</artifactId>
            <version>VERSION</version>
        </dependency>
    </dependencies>

Credits

  • Fast-UUID - MIT license
    • Remember to include its license file

Inspired by

About

Minecraft library for contacting the Mojang API. Experimenting with Unit-Tests

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%