COWMODSКаталог модов

InputEngine

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

Автор: DarkBladeDev7043обновлён 29 июн. 2026 г.
Механики игрыБиблиотекиУтилиты

Описание

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.

Последние версии

Все версии →
release

InputEngine-neoforge 1.2.0

1.2.0-neoforge
29 июн. 2026 г.154Minecraft: 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.11neoforge
Скачать
Что нового
## [1.2.0] - Dynamic Language Translations This update brings fully integrated server-side translations, dynamically injected into the client language system without requiring local resource packs. ### ✨ Features * **Dynamic Translations**: Key names and category titles defined in the server's YAML are now dynamically injected into the client's current language map. ### 🐛 Bug Fixes * **Language System Stability**: Ensured backward compatibility with servers passing missing translation properties.
release

InputEngine-fabric 1.2.0

1.2.0-fabric
29 июн. 2026 г.196Minecraft: 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.11fabric
Скачать
Что нового
## [1.2.0] - Dynamic Language Translations This update brings fully integrated server-side translations, dynamically injected into the client language system without requiring local resource packs. ### ✨ Features * **Dynamic Translations**: Key names and category titles defined in the server's YAML are now dynamically injected into the client's current language map. ### 🐛 Bug Fixes * **Language System Stability**: Ensured backward compatibility with servers passing missing translation properties.
release

InputEngine-spigot 1.4.0

1.4.0-spigot
29 июн. 2026 г.54Minecraft: 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.11paper, purpur, spigot
Скачать
Что нового
## [1.4.0] - Translation Engine ### ✨ Features * **YAML Native Translations**: You can now define translations for multiple languages natively within the `.yml` configurations. You can now define keys like `en_us: "Dash"` nested under a specific `translation_key` or `category` allowing the clients to natively read the translation depending on their current language. ### 🐛 Bug Fixes * **YAML Path Resolution**: Fixed a major bug where Bukkit's path separation using `.` corrupted translation keys (such as `key.inputengine.test`). * **API Backward Compatibility**: The plugin API now automatically detects and casts legacy `Map<String, String>` usages from previous versions to safely map them without breaking.
release

InputEngine-fabric 1.1.2

1.1.2-fabric
24 июн. 2026 г.22Minecraft: 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.11fabric
Скачать
Что нового
## [1.1.2] - Network Protocol Fix A critical hotfix for connection stability with vanilla servers. ### 🐛 Bug Fixes * **Server Communication Crash**: Fixed a crash when sending keystrokes to servers without the InputEngine plugin. The mod now verifies if the server supports the custom payload channel before dispatching it.
release

InputEngine-neoforge 1.1.3

1.1.3-neoforge
24 июн. 2026 г.17Minecraft: 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.11neoforge
Скачать
Что нового
## [1.1.3] - Network Protocol Fix Another critical hotfix for connection stability with servers without the InputEngine plugin installed. ### 🐛 Bug Fixes * **Server Communication Crash**: Fixed an `UnsupportedOperationException` crash when sending keystrokes to Spigot servers without the InputEngine plugin. The mod now verifies if the server supports the custom payload channel before dispatching it.
release

InputEngine-spigot 1.3.1

1.3.1-spigot
22 июн. 2026 г.19Minecraft: 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.11paper, purpur, spigot
Скачать
Что нового
## [1.3.1] - YAML Expansion & Hot-Reloads This update expands the YAML configuration system with new visual actions, advanced conditions, and real-time reloading capabilities. ### ✨ Features * **Real-time Reloads**: Added the `/inputengine reload` command. Server administrators can now hot-reload their YAML configurations, and optionally sync them immediately to all online players without requiring a server restart or player reconnection (configurable via `config.yml`). * **More Actions**: Configured keys can now also play sounds (`sound`), display action bars (`actionbar`), show titles (`title`), and teleport players (`teleport`). * **More Conditions**: Added new conditions to restrict keybinds based on the player's `world` or `gamemode`. * **Advanced Cooldowns**: Added a new `cooldown` condition. Cooldowns can share IDs across multiple keys and automatically sync their remaining duration to the client's visual HUD.
release

InputEngine-spigot 1.3.0

1.3.0-spigot
22 июн. 2026 г.11Minecraft: 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.11paper, purpur, spigot
Скачать
Что нового
## [1.3.0] - YAML Configuration Update This update transforms InputEngine from a developer API into a standalone utility for server administrators, allowing custom keybinds to be created directly via YAML files. ### ✨ Features * **YAML Keybinds**: Server admins can now create `.yml` files in the `plugins/InputEngine/keys/` directory to define custom keybinds. * **Universal Actions**: Configured keys can execute server commands (`console_command`), player commands (`player_command`), or send formatted messages (`message`). * **Conditional Logic**: Added a condition system (`permission`, `papi`) to restrict when keybinds can be executed. * **PlaceholderAPI Support**: Fully integrated with PlaceholderAPI to resolve variables like `%player_name%` and `%vault_eco_balance%` inside actions and conditions. ### 🛠️ Developer Notes * Added the `ActionRegistry` and `ConditionRegistry` APIs. Third-party plugins can now register their own custom action and condition types for server admins to use in their YAML files.
release

InputEngine-neoforge 1.1.2

1.1.2-neoforge
22 июн. 2026 г.16Minecraft: 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.11neoforge
Скачать
Что нового
## [1.1.2] - Network Protocol Fix A critical hotfix for connection stability with non-Forge servers. ### 🐛 Bug Fixes * **Server Communication Crash**: Fixed an `UnsupportedOperationException` crash when sending keystrokes to Spigot servers. The mod now properly bypasses NeoForge's strict network registry checks by wrapping the payload in a vanilla packet.
release

InputEngine-spigot 1.2.0

1.2.0-spigot
21 июн. 2026 г.20Minecraft: 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.11paper, purpur, spigot
Скачать
Что нового
## [1.2.0] - bStats Metrics Update This update introduces comprehensive bStats integration to track API adoption and feature usage, helping to provide better insights into how InputEngine is used by servers. ### ✨ Features * **bStats Integration**: Added bStats metrics to the plugin to track total usage across servers. * **Custom Charts**: Implemented custom charts to visualize Advanced Features Usage, Most Popular Default Keys, Registered Keybinds Volume, and Combo Manager Usage. ### 🛠️ Developer Notes * Added `dev.darkblade.mod.input_engine.server.utils.KeyMapper` utility class to easily translate raw GLFW key codes into readable string names (e.g., `65` -> `A`, `340` -> `Left Shift`).
release

InputEngine-fabric 1.1.1

1.1.1-fabric
21 июн. 2026 г.32Minecraft: 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.11fabric
Скачать
Что нового
## [1.1.1] - Polish Update ### 🐛 Bug Fixes * **Keybind Conflicts**: The mod now silently ignores custom server keybinds if they physically collide with a mapped vanilla action, ensuring the player's primary gameplay is not interrupted.