InputEngine
ModInputEngine is a cross-platform project designed to capture custom keystrokes from the Minecraft client and transmit them seamlessly to the server.
Type
Mod
Modrinth Downloads
353
Modrinth ID
cd7YQRjU
Last Updated
Aug 29, 2026
Description
📖 Overview
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).
✨ Features
- 🎮 Client-Side Keybinding: Registers custom keybinds on the client. Fully supports both Fabric and NeoForge.
- ⚡ Network Bridge: Sends efficient, lightweight payloads to the server whenever a bound key is pressed or released.
- 🌍 Vanilla Server Compatible: The networking channel is optional on the client. You can safely keep the mod installed while joining vanilla servers without being disconnected!
- 🛠️ Server-Side API: Exposes a custom Spigot Event (PlayerKeyPressEvent) for developers so your server-side plugins can easily listen and react to player inputs.
📥 Installation
InputEngine requires both a server-side plugin and a client-side mod to function correctly.
For Players (Client)
- Download the correct version for your mod loader (Fabric or NeoForge).
- Place the downloaded .jar file into your Minecraft client's mods/ folder.
- Fabric Users: Ensure you have the Fabric API installed.
For Server Owners (Plugin)
- Download the Spigot release file.
- Place it in your Spigot/Paper server's plugins/ folder.
- Restart your server.
💻 For Developers (API Usage)
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
📜 License
This project is open-source and available under the MIT License.
Compatibility
Mod Loaders
Game Versions
Recommended Gear
AffiliateHardware and extras that pair well with this mod.
As an Amazon Associate I earn from qualifying purchases.
Similar Mods
Glow Trims - Dynamic Lights
Adds real dynamic lighting to glowing armor trims from the Glow Trims mod.
Hemalurgy
Bringing Hemalurgy to Minecraft!
Flowstone
A configurable mod that changes what happens when lava meets water or ice, allowing for the (re)generation of ores and o...
[SBW] No Pocket Vehicles!
It is not really possible to hide your vehicle into a pocket.
Armagedon - Structures
Apocalyptic structures for my modpack
Kaffee's Dual Ride (Updated)
A tiny mod that allows two players to sit on one horse, donkey, mule etc.