Open XXY233 opened 4 weeks ago
fe47722031d032b5c090c1de7b922958b54ee39b
如果检查 Bukkit.getOnlineMode(),在一些包含Bungeecord的服务器,或者是在线离线账号混合服务器上可能会出现问题。这些服务器一般都是将 Spigot 服务器的 online-mode 设置为 false,在 Bungeecord 或者通过 ProtocolLib 处理正版玩家。
如果检查 Bukkit.getOnlineMode(),在一些包含Bungeecord的服务器,或者是在线离线账号混合服务器上可能会出现问题。这些服务器一般都是将 Spigot 服务器的 online-mode 设置为 false,在 Bungeecord 或者通过 ProtocolLib 处理正版玩家。
很有道理,但我觉得一开始我们就不应该硬匹配用户名的,应该 getPlayer -> UUID,算是坑了😿
🥲发现一个不太好的事情,如果数据库里有 2 个玩家重名,那么可能会查找到错误的玩家。
一般玩家重名的情况包括这 3 种:
可能的解决方案:
这是一个设计问题,估计换成用 Bukkit.getPlayer 了,然后这个字段弃用。
👍️这样确实可以减少很多麻烦,但还是希望能够在未来加入 /sf backpack uuid
命令,这样玩家离线也可以获取到背包,在某些时刻也能提供有力的帮助😉
问题描述
正版玩家更改游戏名后,profile.db 中的 p_name 不会同步更新。 这导致 /sf backpack 游戏名 这个命令会找不到对应的玩家。 我建议 p_name 可以在玩家更换游戏名后,及时更新,并且支持这个命令: /sf backpack uuid,这样玩家改名了但还没进过服务器,也可以顺利取到他的背包。
问题复现率
必现
复现步骤
略
服务端类型
Paper
Minecraft 版本
1.20.x
Slimefun 版本
其他插件信息
No response
补充信息
No response