open-hands-lib
Open Hands Lib is a library for Minecraft. Each hand has its own hit cooldown, and the damage and tool are passed through the hand that your mod chooses; the same can be enabled for breaking blocks
About this Mod
Open Hands Lib
Per-hand melee cooldowns and mining for NeoForge content mods.
If you are not a mod developer, this is a dependency mod.
Install it only when another mod listsopen_hands_libas a required dependency. On its own it does not add items, blocks, or gameplay.
What is Open Hands Lib?
A NeoForge library that splits attack and mining logic across main hand and off hand. Each hand gets its own cooldown timer; your content mod decides when the system is active and which hand to use.
The library owns timers, mixins, and state. Your mod registers enable conditions and handles events — the library does not pick duelist logic for you.
Features
Combat (when enabled for a player)
- Independent cooldown per hand
- Attacks only land at full charge — partial swings are rejected on purpose
- Hand selection via
ResolveAttackHandEvent(alternation, best weapon, etc.) - Damage, enchantments, and weapon effects use the resolved hand
- Optional rules to attack with the main hand while the off hand is using an item
Combat activates when any registered condition is true (OR).
Mining (when enabled)
- Tool, harvest check, speed, and durability follow the resolved hand
- Hand selection via
ResolveMiningHandEvent - Per-block session cache until mining stops
Mining activates when any registered condition is true (OR).
Requirements
| NeoForge | 21.1.219+ |
| Kotlin for Forge | 5.9.0+ (required) |
| Mod ID | open_hands_lib |
| Author | Thow New Error |
Installation
- Install NeoForge
- Install Kotlin for Forge
- Install Open Hands Lib and the content mod that depends on it
Do not rename the mod or swap the jar for an unofficial build in public modpacks.
For mod developers
Register when your gameplay should turn on, then listen for hand events:
OpenHandsLib.registerEnableCondition(
ResourceLocation.fromNamespaceAndPath("your_mod", "dual_wield"),
) { player -> /* your check */ true }
NeoForge.EVENT_BUS.register(object {
@SubscribeEvent
fun onResolveAttackHand(event: ResolveAttackHandEvent) {
event.hand = InteractionHand.MAIN_HAND
}
@SubscribeEvent
fun onAttackHandCompleted(event: AttackHandCompletedEvent) {
// alternation, etc.
}
})
Mining: registerMiningEnableCondition + ResolveMiningHandEvent.
Public API
mod.openhandslib.api.OpenHandsLib— entry pointResolveAttackHandEvent,AttackHandCompletedEvent,OpenHandsCombatStateClearEventResolveMiningHandEvent
Available Versions
How to Install open-hands-lib on Your Server
Order Server
Order a Minecraft Java server with at least 3 GB RAM (4 GB recommended).
Set neoforge Loader
In the panel under "Egg", select the neoforge loader and matching Minecraft version (1.21.1).
Install Mod
Open the mod browser in the dashboard and search for "open-hands-lib". Click "Install" – done! Alternatively, upload the .jar via SFTP to the /mods folder.
Compatibility
Mod Loaders
Minecraft Versions
1.21.1
Server-side
✓ RequiredRecommended RAM
4 GB(min. 3 GB)Frequently Asked Questions
open-hands-lib server crashes on startup – what to do?
Most common cause: wrong neoforge version or insufficient RAM. Check the server log (latest.log) for "OutOfMemoryError" or "Mixin" errors. With Mado Hosting: ensure at least 3 GB RAM is allocated and the loader matches the mod version (1.21.1). You can switch loaders with one click in the panel.
Is open-hands-lib compatible with neoforge?
open-hands-lib officially supports neoforge for Minecraft 1.21.1. The Mado dashboard automatically detects incompatible loader combinations.
Server lagging with open-hands-lib – how to optimize performance?
Recommended RAM: 4 GB (per 8 players). Use /spark profiler to check if open-hands-lib consumes the most tick time. Common fixes: reduce server view-distance to 8-10, install "performant" or "starlight" as supplementary mods on Forge. With Mado Hosting, your server runs on NVMe SSDs with dedicated CPU cores for minimal latency.
Similar Mods
Rent Modded Server
Install open-hands-lib with just one click on your server.