Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

使用连点器打开背包将不会被记录到打开列表中 #978

Open
m1919810 opened this issue Dec 6, 2024 · 5 comments
Open

使用连点器打开背包将不会被记录到打开列表中 #978

m1919810 opened this issue Dec 6, 2024 · 5 comments
Labels
🐞 Bug 抓虫子

Comments

@m1919810
Copy link

m1919810 commented Dec 6, 2024

问题描述

image
使用连点器打开背包时,不会在这两个Map中留下记录
进而无法触发下方的保存方法

多亏了#977 才没有造成刷物

不过会导致重启后出现刷物
以及在使用mysql互通的服务器中可能会出现无法预测的后果(暂未测试)

问题复现率

必现

复现步骤

服务端类型

Paper

Minecraft 版本

1.20.x

Slimefun 版本

Slimefun 2022.09

其他插件信息

No response

补充信息

No response

@m1919810 m1919810 added the 🐞 Bug 抓虫子 label Dec 6, 2024
@m1919810
Copy link
Author

m1919810 commented Dec 6, 2024

根据初步分析,由于对backpacks的put操作在getAsync的callback中,故可以调用多个p.open(inv)

当调用p.open(inv)时,若已经打开了背包,则会触发InventoryCloseEvent 从而清除backpacks记录并提前保存

最终玩家打开的界面放入的backpacks记录被前一个界面的closeEvent清除

@m1919810
Copy link
Author

m1919810 commented Dec 6, 2024

经过测试,在数据互通服可以用任意背包形态物品刷物

@CuteLittleSky
Copy link

用mysql互通我都在另一个服ban背包,,有影响吗

@m1919810
Copy link
Author

m1919810 commented Dec 6, 2024

用mysql互通我都在另一个服ban背包,,有影响吗

?吾未能理解你的说法

但是吾建议互通服所有形态的背包都ban掉,包括冰箱,搬运车,物品过滤器

@StarWishsama
Copy link
Member

加个打开 cd 就老实了

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🐞 Bug 抓虫子
Projects
None yet
Development

No branches or pull requests

3 participants