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
介绍
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 lists
open_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
| | |
|—|—|
| Minecraft | 1.21.1 |
| Java | 21+ |
| Mod ID | open_hands_lib |
| Version | 0.1.1 |
| Author | Thow New Error |
| NeoForge | 21.1.219+ · Kotlin for Forge 5.9.0+ |
| Fabric | Loader 0.16.14+ · Fabric API · Fabric Language Kotlin |
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
常见问题
open-hands-lib 支持哪些 Minecraft 版本?
open-hands-lib 支持 Minecraft Java 版 1.21.1,可用的加载器:Fabric / NeoForge。下载时注意选择和你游戏版本一致的文件。
open-hands-lib 怎么安装?
先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric / NeoForge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:客户端和服务端都要装。
ThrowNewError 的其他作品
查看全部 →
Zarya
Fork of minecraft-miniature-shader by Mateus A. Kreuch, with a large visual extension layer.
Iris Player Depth Fix
Fixes Iris opaque-depth for players: no sun/moon through the body, no DH water over you.
Duelist’s Glove
A Curios glove for dual-wield sword combat on NeoForge. Alternate attacks between your main and off hand with vanilla swing animations — each hit plays from the hand you strike with.
Squint
Client-side mod for Minecraft 1.21.1 (NeoForge & Fabric). Replace vanilla render cutoffs with per-category distances, optional ultra-far draw, and limits you control.
评论
登录后评论和评分