Biscuit!
Активный0.0
Установок
Последнее обновление
Версии
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);
});