open-hands-lib
Open Hands Lib 是一个 Minecraft 的库。每只手都有各自的攻击冷却时间,伤害和工具会通过你的模组所选择的手来传递;同样也可用于破坏方块。
Open Hands Lib
为 NeoForge 内容模组提供逐手近战冷却与挖掘功能。
如果你不是模组开发者,这是一个依赖模组。
仅当其他模组将open_hands_lib列为必需依赖时才安装它。它本身不添加物品、方块或游戏玩法。
Open Hands Lib 是什么?
一个 NeoForge 库,将攻击和挖掘逻辑拆分到主手和副手。每只手都有自己的冷却计时器;你的内容模组决定系统何时激活以及使用哪只手。
该库管理计时器、混入和状态。你的模组注册启用条件并处理事件——库不会替你选择决斗者逻辑。
功能
战斗(为玩家启用时)
- 每只手独立的冷却时间
- 攻击仅在完全充能时生效——部分挥击会被有意拒绝
- 通过
ResolveAttackHandEvent选择手部(交替、最佳武器等) - 伤害、附魔和武器效果使用解析出的手部
- 可选规则:副手正在使用物品时,允许使用主手攻击
当任一注册条件为真(OR)时,战斗激活。
挖掘(启用时)
- 工具、采掘检测、速度和耐久跟随解析出的手部
- 通过
ResolveMiningHandEvent选择手部 - 按方块会话缓存,直到挖掘停止
当任一注册条件为真(OR)时,挖掘激活。
要求
| Minecraft | 1.21.1 |
| Java | 21+ |
| 模组 ID | open_hands_lib |
| 版本 | 0.1.1 |
| 作者 | Thow New Error |
| NeoForge | 21.1.219+ · Kotlin for Forge 5.9.0+ |
| Fabric | Loader 0.16.14+ · Fabric API · Fabric Language Kotlin |
安装
- 安装 NeoForge
- 安装 Kotlin for Forge
- 安装 Open Hands Lib 和依赖它的内容模组
在公开整合包中,不要重命名模组或将 jar 替换为非官方构建版本。
面向模组开发者
注册你的游戏玩法何时应激活,然后监听手部事件:
OpenHandsLib.registerEnableCondition(
ResourceLocation.fromNamespaceAndPath("your_mod", "dual_wield"),
) { player -> /* 你的检查 */ true }
NeoForge.EVENT_BUS.register(object {
@SubscribeEvent
fun onResolveAttackHand(event: ResolveAttackHandEvent) {
event.hand = InteractionHand.MAIN_HAND
}
@SubscribeEvent
fun onAttackHandCompleted(event: AttackHandCompletedEvent) {
// 交替逻辑等
}
})
挖掘:registerMiningEnableCondition + ResolveMiningHandEvent。
公共 API
mod.openhandslib.api.OpenHandsLib— 入口点ResolveAttackHandEvent,AttackHandCompletedEvent,OpenHandsCombatStateClearEventResolveMiningHandEvent
还没有人评论,去客户端里说两句吧。
评论在新手盒子客户端中发表,这里同步展示。