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.
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:
public class MyMod implements ModInitializer {
@Override
public void onInitialize() {
InjectFabric.INSTANCE.registerInjector(new MyEpicHttpInjector());
}
}
For Spigot, Paper and derivatives, use the InjectSpigot class:
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.
$ curl http://localhost:25565
Hello, from Minecraft!
Supported web servers
- Spring Boot:
springmodule - Javalin:
javalinmodule - Ktor:
ktormodule - Jetty:
jettymodule - manual request handling:
httpmodule
Examples can be found in the examples module.
Usage
Add the Brawls repo to gradle:
repositories {
maven("https://maven.mcbrawls.net/releases/")
}
Add the dependency:
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.
Similar projects
Plugin →Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
25MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
WorldEdit
A Minecraft Map Editor... that runs in-game! With selections, schematics, copy and paste, brushes, and scripting. Use it in creative, or use it temporarily in survival.
11.6MSueta
Emotecraft
Create your own emotes in Minecraft.
7.5MSueta
Simple Tpa
A simple tpa plugin which sends requests
5.4MSueta
Common Network
Forge and Fabric Unified Networking Solution
3.9MSueta