Skip to content

fix(FishingHook): 修复鱼竿碰撞和拉回逻辑以支持Java原版行为#191

Open
jju666 wants to merge 2 commits intomasterfrom
update-fishing_rod
Open

fix(FishingHook): 修复鱼竿碰撞和拉回逻辑以支持Java原版行为#191
jju666 wants to merge 2 commits intomasterfrom
update-fishing_rod

Conversation

@jju666
Copy link

@jju666 jju666 commented Jan 7, 2026

Summary

  • 新增 collideKnockbackEnabled 配置项,控制碰撞时是否应用击退
  • 修复拉回公式:Java原版使用 (owner - hook) × 0.1 并累加到现有速度
  • collideKnockbackEnabled=false 时,碰撞只钩住不击退(Java原版行为)
  • reelLineTargetMotionEC=false 时,使用正确的Java原版拉回公式

背景

根据MCP-Reborn源码验证,Java原版鱼竿行为:

  • 碰撞时:只设置钩住状态,无击退
  • 收钩时:使用 (owner - hook) × 0.1 累加到现有速度

Test plan

  • 测试疯狂模式鱼竿碰撞无击退
  • 测试疯狂模式鱼竿收钩拉回效果
  • 测试其他模式鱼竿行为不变

🤖 Generated with Claude Code

jju666 and others added 2 commits January 7, 2026 10:46
- 新增 collideKnockbackEnabled 配置项,控制碰撞时是否应用击退
- 修复拉回公式:Java原版使用 (owner - hook) × 0.1 并累加到现有速度
- 当 collideKnockbackEnabled=false 时,碰撞只钩住不击退(Java原版行为)
- 当 reelLineTargetMotionEC=false 时,使用正确的Java原版拉回公式

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
问题:连续使用鱼竿拉同一玩家时,动量会错误累积
原因:getMotion()返回的是服务端记录的旧motion值,不是玩家真实速度
修复:对于玩家实体,使用player.speed(取反)获取真实速度后再累加

参考 Java 1.21 FishingHook.java:515-521

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant