sven/minecraft-php

此包已被废弃且不再维护。没有建议的替代包。

围绕 Mojang 的 Minecraft API 的一层流畅的包装。

v0.0.4 2017-05-25 19:22 UTC

This package is not auto-updated.

Last update: 2022-02-01 12:54:38 UTC


README

Latest Version on Packagist Total Downloads Software License

这是一个简单的包,为您提供快速开始 Minecraft 网站开发所需的所有工具。通过简单易读的 API,根据用户名检索 UUID,或反之亦然。

安装

通过 composer

$ composer require sven/minecraft-php

如果您使用的是 Laravel 框架,您可以将 MinecraftServiceProvider 添加到您的 providers 数组中

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

您还可以将 Minecraft 门面添加到 aliases 数组中以使用门面

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

使用

$minecraft = new Sven\Minecraft\Minecraft;

// Build up the user object from a given username.
$minecraft->fromName($username);

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

// Build up the user object from a given UUID.
$minecraft->fromUuid($uuid);

如果您已在 config/app.php 中指定了别名,您可以使用门面

Minecraft::fromName($username);

Minecraft::fromUuid($uuid);

这始终返回相同的对象(Sven\Minecraft\Minecraft)。您可以使用 get()only($property) 方法来检索数据

$minecraft = new Minecraft;
$user = $minecraft->fromName('jeb_');

$user->get()->name;  // jeb_
$user->get()->uuid;  // 853c80ef3c3749fdaa49938b674adae6

$user->only('name'); // jeb_
$user->only('uuid'); // 853c80ef3c3749fdaa49938b674adae6

如果您需要更多灵活性,则 ->get() 方法返回包含用户数据的 JSON 对象

$user->get(); // {"name": "jeb_", "uuid": "853c80ef3c3749fdaa49938b674adae6"}

速率限制

Mojang 实施了一些速率限制,因此您需要缓存结果。您可以向同一资源发送 每分钟 1 个请求,并且您可以请求尽可能多的唯一资源。请注意,Mojang 可能随时更改此限制。

致谢

这是一个简单的包装,围绕 Mojang 的 API,在 http://wiki.vg/Mojang_API 中美丽(但非官方)地记录。

许可证

sven/minecraft-php 受 MIT 许可证(MIT)的许可。有关更多信息,请参阅 许可证文件