Я установил плагин Minecraft Bukkit, который сохраняет списки игроков, использующих MySQL.
Таблица выглядит так:
Моя проблема в том, что я хочу отображать элементы на веб-сайте, но есть эти форматы «BLOB».
Я думаю, они должны быть идентификаторами блоков (я нашел только методы для преобразования «BLOB» в img).
«Blob’s» имеют следующий формат:
РЕДАКТИРОВАТЬ
Когда я пытаюсь отобразить его на сайте с этим кодом:
$conn = new mysqli("$host", "$user", "$pass", "auction");
$sql = "SELECT content FROM inventory";
$result = $conn->query($sql);
while($row = $result->fetch_assoc()) {
echo base64_encode($row["content"]);
}
Решение выглядит как следующая строка:
H4sIAAAAAAAAAIuuViqpLEhVslJy9vcNcAwOVqrVgQs5egaNckc2NxYAYPN3OyECAAA=
Я помню, что у блоков были идентификаторы с номерами от 0 до 255. Если они не расширили его, это означало бы, что каждый байт представляет блок.
Вам нужно будет прочитать данные, побайтно и преобразовать каждый байт в число, представляющее идентификатор блока. Как только вы это сделаете, вам нужно будет только отобразить соответствующую картинку на основе этого идентификатора.
В случае, когда они фактически расширили систему идентификаторов до двух байтов, вам придется конвертировать каждые два байта в число от 0 до 65535.
Обновить:
Этот вопрос описывает, как читать двоичные данные с помощью PHP. После того, как вы преобразовали его в байтовый массив, вам нужно будет только привести каждый байт к типу int.
Теперь я знаю, что происходит с этой странной строкой.
Minecraft использует «NBT Decoding».
Кто-нибудь здесь знает, как я могу декодировать / кодировать с помощью nbt?
поздравил