Скачать Biscuit! — Minecraft Моды — MetaMods

Biscuit!

Активный

Установок

0

Последнее обновление

10 месяцев назад

Версии

1.20 — 1.21.9
Сервер
Fabric
Quilt
Библиотеки
Технологические
Утилиты

Biscuit!

Мод предоставляет удобный программный интерфейс для работы с системой куки и механизмом перемещения игроков в Minecraft версии 1.20.5. Решение разработано с акцентом на простоту использования и безопасность данных.

Основные возможности

Работа с cookie как объектами — куки представляются в виде простых java-объектов (POJO), что значительно упрощает их обработку и манипуляцию в коде.

Интеграция в сетевые классы — мод добавляет специальные интерфейсы в большинство классов, связанных с сетевым взаимодействием, обеспечивая естественную интеграцию функциональности куки.

Защита от подделки — реализована система подписи куки, которая позволяет обнаруживать несанкционированные изменения передаваемых данных.

Система событий — гибкая событийная модель позволяет разработчикам реагировать на различные этапы работы с куки и переключениями между серверами.

В планах развития модуля:

  • Автоматическая генерация идентификаторов (возможно, потребует дополнительной реализации)
  • Встроенное шифрование данных
  • Распределение больших объемов информации по нескольким куки

Настройка проекта

Для подключения библиотеки в свой проект добавьте в файл build.gradle следующие строки:

repositories {
    maven { url "https://api.modrinth.com/maven" }
}

dependencies {
  modImplementation("maven.modrinth:biscuit!:1.1.0")
}

Примеры использования

// Создаем класс для представления куки
public static class TestCookie {

    private final String data;

    public TestCookie(String data) {
        this.data = data;
    }

    @Override
    public String toString() {
        return data;
    }
}

// Регистрируем куки в системе
Biscuit.register(new Identifier("test", "cookie"), TestCookie.class);

// Регистрируем с защитой от подделки
// Секретная фраза должна быть одинаковой на всех связанных серверах
Biscuit.register(new Identifier("test", "cookie"), TestCookie.class)
    .setSecret("мой_секрет");

// Установка и получение куки возможно у:
// - объектов ServerPlayerEntity
// - ClientConnection
// - различных обработчиков сети (кроме handshake)
TestCookie cookie = new TestCookie("отличная работа!");
player.setCookie(cookie);

player.getCookie(TestCookie.class).whenComplete((result, error) -> {
    System.out.println(result);
});

Установка куки перед передачей игрока между серверами:

BiscuitEvents.PRE_TRANSFER.register((пакет, профиль, контейнер, выход) -> {
    контейнер.setCookie(cookie);
});
Участники проекта
mrnavastar

mrnavastar

Разработчик

Создан: 25 апр 2024

ID: 23178