← Назад к ресурсам

inject

A library for making injecting into Netty easier!

Modrinth library technology

Описание

# inject Inject is a simple server-side library to allow developers to inject into Netty easier. ## Example This uses the `HttpInjector` class to respond to HTTP requests to the Minecraft server. ```java 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("Hello, from Minecraft!"); return buf; } } ``` ## Registration For Fabric, use the `InjectFabric` class: ```java public class MyMod implements ModInitializer { @Override public void onInitialize() { InjectFabric.INSTANCE.registerInjector(new MyEpicHttpInjector()); } } ``` For Spigot, Paper and derivatives, use the `InjectSpigot` class: ```java public class MyPlugin extends JavaPlugin { @Override public void onEnable() { InjectSpigot.INSTANCE.registerInjector(new MyEpicHttpInjector()); } } ``` This will register an HTTP injector which will respond with `Hello, from Minecraft!` to any HTTP request to the Minecraft port. ```bash $ curl http://localhost:25565 Hello, from Minecraft! ``` ## Supported web servers - Spring Boot: `spring` module - Javalin: `javalin` module - Ktor: `ktor` module - Jetty: `jetty` module - manual request handling: `http` module Examples can be found in the `examples` module. ## Usage Add the andante repo to gradle: ```kt repositories { maven("https://maven.mcbrawls.net/releases/") } ``` Add the dependency: ```kt dependencies { implementation("net.mcbrawls.inject:api:VERSION") // For HTTP-related things: implementation("net.mcbrawls.inject:http:VERSION") // Fabric: include(modImplementation("net.mcbrawls.inject:fabric:VERSION")!!) // Spigot/Paper: implementation("net.mcbrawls.inject:spigot:VERSION") // You can find the other modules for Spring, Ktor, etc. on the Github repo. } ``` Replace `VERSION` with the latest version from the releases tab.