Skip to content

fix: 修复异步线程中,MagicBlock被放置的同时切换手持物品,触发事件的方块被防刷机制删除的问题 - #1

Open
IllTamer wants to merge 1 commit into
MoonWeSif:mainfrom
mc-iplugins:pr-branch
Open

fix: 修复异步线程中,MagicBlock被放置的同时切换手持物品,触发事件的方块被防刷机制删除的问题#1
IllTamer wants to merge 1 commit into
MoonWeSif:mainfrom
mc-iplugins:pr-branch

Conversation

@IllTamer

Copy link
Copy Markdown

问题描述

在异步线程中,当 MagicBlock 被放置的同时切换手持物品,此时触发 removeDuplicatesFromCurrentPlayerInventory 方法检测时,玩家 主手/副手 物品不等于触发事件的 MagicBlock ,且由于方块被放置,原 MagicBlock meta 更新,导致 equals 比较失效,从而产生触发事件的 MagicBlock 本身被防刷机制错误删除的问题

解决措施

在检测触发玩家自身背包时,传入触发物品对应的 slot,判定时跳过该 slot(Player#getInventory#getContents 无法获取到副手槽位,所以传参为 -1)

@IllTamer

Copy link
Copy Markdown
Author

如果需要,我可以提供稳定复现的视频

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