InputEngine
作者:rebot | 分类:模组
Minecraft 版本: 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
平台: neoforge
标签: game-mechanics library utility
InputEngine
A seamless cross-platform bridge capturing custom keystrokes from the Minecraft client to the server!? 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
.jarfile into your Minecraft client'smods/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.
请登录后举报
暂无评论,抢个沙发吧~