juggl/minecraft

This package is abandoned and no longer maintained. The author suggests using the sven/minecraft-php package instead.

A fluent wrapper around Minecraft's API.

1.0.0 2015-10-03 20:11 UTC

This package is not auto-updated.

Last update: 2022-02-01 12:51:50 UTC


README

THIS VERSION IS DEPRECATED! PLEASE USE sven/minecraft-php INSTEAD.

Minecraft API

Latest Version on Packagist Total Downloads Software License

This is a simple package providing you with all the tools to quickstart development on that Minecraft site you've been craving. Retrieve UUIDs based on usernames or the other way around with a simple and human-readable API.

Install

Via composer:

$ composer require juggl/minecraft

If you're using the Laravel framework, you can add the MinecraftServiceProvider to your providers array:

// config/app.php
'providers' => [
    ...
    Juggl\Minecraft\MinecraftServiceProvider::class,
    ...
];

You may also add the Minecraft facade to the aliases array to use the facade:

// config/app.php
'aliases' => [
    ...
    'Minecraft' => Juggl\Minecraft\Facades\Minecraft::class,
    ...
];

Usage

$minecraft = new Juggl\Minecraft\Minecraft;

// Retrieve UUID (without dashes) based on the username provided.
$minecraft->getUuidFromName($username);

// Supply an optional UNIX timestamp to get the UUID of the user who owned that
// username at the time.
$minecraft->getUuidFromName($username, time() - (365 * 24 * 60 * 60));

// Get array of names the user has played as.
$minecraft->getNameHistory($uuid);

// Extract current username from UUID provided.
$minecraft->getNameFromUuid($uuid);

// Get array of objects with info about each user (username & UUID).
$minecraft->getUuidsFromNames(['Notch', 'jeb_', 'Dinnerbone']);

If you specified the alias in config/app.php, you can use the facade:

Minecraft::getUuidFromName($username);

Of course, all other methods can also be accessed this way.

Rate limiting

Mojang has some rate limiting in place so you are expected to cache the results. For everything in this package, the limit is 600 requests every 10 minutes. Keep in mind Mojang might change this at any time.

Credits

This is simply a wrapper around Mojang's API, beautifully (yet unofficially) documented at http://wiki.vg/Mojang_API.

License

Juggl\Minecraft is licenced under the MIT License (MIT). Please see the license file for more information.