InputEngine is a cross-platform project designed to capture custom keystrokes from the Minecraft client and transmit them seamlessly to the server.
InputEngine is a powerful utility mod/plugin designed to capture custom keystrokes from the Minecraft client and transmit them instantly to the server. It allows server-side plugins to react seamlessly to custom client-side keybinds (e.g., Skill 1, Dodge, Open Custom Menu).
This project acts as a two-part bridge: a Client Mod (Fabric/NeoForge) and a Server Plugin (Spigot/Paper).
PlayerKeyPressEvent) for developers so your server-side plugins can easily listen and react to player inputs.InputEngine requires both a server-side plugin and a client-side mod to function correctly.
.jar file into your Minecraft client's mods/ folder.plugins/ folder.If you are developing a Bukkit/Spigot plugin and want to react to a player's key press, you can easily use the API!
Listen to the PlayerKeyPressEvent:
import dev.darkblade.mod.input_engine.server.api.PlayerKeyPressEvent;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
public class MyPluginListener implements Listener {
@EventHandler
public void onPlayerKeyPress(PlayerKeyPressEvent event) {
if (event.isPressed()) {
event.getPlayer().sendMessage("You pressed: " + event.getAction().name());
} else {
event.getPlayer().sendMessage("You released: " + event.getAction().name());
}
}
}
Full example are in the Example plugin and API Documentation
This project is open-source and available under the MIT License.