inject

inject

A library for making injecting into Netty easier!

1 837 downloads 3 followers

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: 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 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.

No gallery available for this project.

Version Minecraft Loader Download

Inject 3.2.0

3.2.0

1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2
folia, paper, purpur, spigot
Download

Inject 3.2.0

3.2.0

1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2
fabric
Download

Inject 3.1.4

3.1.4

1.21.1, 1.21.2, 1.21.3, 1.21.4
folia, paper, purpur, spigot
Download

Inject 3.1.4

3.1.4

1.21.1, 1.21.2, 1.21.3, 1.21.4
fabric
Download

Inject 3.1.3

3.1.3

1.21.1, 1.21.2, 1.21.3, 1.21.4
fabric
Download

Inject 3.1.1

3.1.1

1.21.1, 1.21.2, 1.21.3, 1.21.4
fabric
Download

Inject 3.0.0

3.0.0

1.21.1, 1.21.2, 1.21.3, 1.21.4
spigot
Download

Inject 3.0.0

3.0.0

1.21.1, 1.21.2, 1.21.3, 1.21.4
fabric
Download

Inject 2.2.2

2.2.2

1.21.1, 1.21.2, 1.21.3
paper
Download

Inject 2.2.2

2.2.2

1.21.1, 1.21.2, 1.21.3
spigot
Download

Inject 2.2.2

2.2.2

1.21.1, 1.21.2, 1.21.3
fabric
Download

Inject 2.2.1

2.2.1

1.21, 1.21.1, 1.21.2, 1.21.3
paper
Download

Inject 2.2.1

2.2.1

1.21, 1.21.1, 1.21.2, 1.21.3
spigot
Download

Inject 2.2.1

2.2.1

1.21.1, 1.21.2, 1.21.3
fabric
Download