inject
Активный0.0
Установок
Последнее обновление
Версии
inject
inject представляет собой серверную библиотеку, значительно упрощающую процесс внедрения в Netty для разработчиков.
Возможности использования
Благодаря классу HttpInjector разработчики могут обрабатывать HTTP-запросы, поступающие на Minecraft сервер. Рассмотрим практический пример:
class MyEpicHttpInjector extends HttpInjector {
@Override
public HttpByteBuf intercept(ChannelHandlerContext ctx, HttpRequest request) {
HttpByteBuf buf = HttpByteBuf.httpBuf(ctx);
buf.writeStatusLine("1.1", 200, "OK");
buf.writeText("Привет из Minecraft!");
return buf;
}
}
Процесс регистрации
Для Fabric используйте класс InjectFabric:
public class MyMod implements ModInitializer {
@Override
public void onInitialize() {
InjectFabric.INSTANCE.registerInjector(new MyEpicHttpInjector());
}
}
Для Spigot, Paper и совместимых платформ применяйте класс InjectSpigot:
public class MyPlugin extends JavaPlugin {
@Override
public void onEnable() {
InjectSpigot.INSTANCE.registerInjector(new MyEpicHttpInjector());
}
}
После настройки HTTP-инжектор будет отвечать текстом "Привет из Minecraft!" на любой HTTP-запрос, поступающий на порт Minecraft сервера.
$ curl http://localhost:25565
Привет из Minecraft!
Поддерживаемые веб-серверы
Библиотека совместима с различными популярными веб-серверами:
- Spring Boot: модуль
spring - Javalin: модуль
javalin - Ktor: модуль
ktor - Jetty: модуль
jetty - Ручная обработка запросов: модуль
http
Для более детального изучения доступны практические примеры в модуле examples.
Интеграция в проекты
Добавьте репозиторий andante в gradle:
repositories {
maven("https://maven.mcbrawls.net/releases/")
}
Подключите необходимые зависимости:
dependencies {
implementation("net.mcbrawls.inject:api:VERSION")
// Для работы с HTTP
implementation("net.mcbrawls.inject:http:VERSION")
// Fabric:
include(modImplementation("net.mcbrawls.inject:fabric:VERSION")!!)
// Spigot/Paper:
implementation("net.mcbrawls.inject:spigot:VERSION")
// Дополнительные модули для Spring, Ktor и других платформ можно найти: Github repo.
}
Замените VERSION на актуальную версию из раздела релизов.