跳到正文

InputEngine

作者:DarkBladeDev

InputEngine is a cross-platform project designed to capture custom keystrokes from the Minecraft client and transmit them seamlessly to the server.

收藏

介绍

中文介绍正在准备中,下面暂时显示原文。

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)

  1. Download the correct version for your mod loader (Fabric or NeoForge).
  2. Place the downloaded .jar file into your Minecraft client’s mods/ folder.
  3. Fabric Users: Ensure you have the Fabric API installed.

For Server Owners (Plugin)

  1. Download the Spigot release file.
  2. Place it in your Spigot/Paper server’s plugins/ folder.
  3. 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.

常见问题

InputEngine 支持哪些 Minecraft 版本?

InputEngine 支持 Minecraft Java 版 1.21–1.21.11,共 12 个版本,可用的加载器:Fabric / NeoForge / Paper / Purpur / Spigot。下载时注意选择和你游戏版本一致的文件。

InputEngine 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric / NeoForge / Paper / Purpur / Spigot,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:仅客户端。

评论

登录后评论和评分