Skip to content

MagicTheGathering/mtg-sdk-java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Magic: The Gathering Java SDK

Build Status Maven Central Codacy Badge license mtg-developers on discord

Java SDK for using the magicthegathering.io APIs.

Note that API use is free and does not require authentication or registration, but some rate limits apply. Read the official API website for more information.

Add the dependency to your project and you're good to go! If you are on Android make sure you call on a seperate thread than the main.

Prerequisites

  • Java JDK 7 or higher

Integration

Maven

<dependency>
    <groupId>io.magicthegathering</groupId>
    <artifactId>javasdk</artifactId>
    <version>0.0.18</version>
</dependency>

Gradle

implementation 'io.magicthegathering:javasdk:0.0.18'

Ivy

<dependency org="io.magicthegathering" name="javasdk" rev="0.0.18"/>

Usage examples

Get a Card

int multiverseId = 1;
Card card = CardAPI.getCard(multiverseId);

Get all Cards

List<Card> cards = CardAPI.getAllCards();

Get a Set

String setCode = "KLD";
MtgSet set = SetAPI.getSet(setCode);

Get all Sets

This does not populate the card lists by default. This is to improve perfomance if all you need is a set list. Filter also does not currently load set lists. Will be adding in a future release.

List<MtgSet> sets = SetAPI.getAllSets();

Get all Sets with card lists loaded.

List<MtgSet> sets = SetAPI.getAllSetsWithCards();

Generate a Booster

String setCode = "KLD";
List<Card> booster = SetAPI.getBooster(setCode);

Change the connection timeout values that are used by the OkHttpClient

MTGAPI.setConnectTimeout(60);
MTGAPI.setReadTimeout(60);
MTGAPI.setWriteTimeout(60);

License

This project is licensed under MIT license.