我使用异步来连接服务器数据库来进行验证该玩家是否存在数据库里
但是disallow和command不能在异步线程里执行
不用异步又会掉TPS
不知道各位编程大佬有什么解决方法
对各位大佬的回答感激不尽♪(・ω・)ノ
现在的代码:
使用AsyncPlayerPreLoginEvent
该事件在网络线程触发
该事件在网络线程触发
本帖最后由 南柯郡守 于 2020-8-24 17:24 编辑
不能异步执行的方法可以用runTask()排到主线程下一tick执行
就是跟启动异步任务一样的那个格式 不过不是runTaskAsync()
还有一件事
不建议在需要的时候才调用mysql 很影响性能
最好是插件在加载的时候就把数据库里的东西取出来 用集合或者类存着
不能异步执行的方法可以用runTask()排到主线程下一tick执行
就是跟启动异步任务一样的那个格式 不过不是runTaskAsync()
还有一件事
不建议在需要的时候才调用mysql 很影响性能
最好是插件在加载的时候就把数据库里的东西取出来 用集合或者类存着
Bukkit.getScheduler().runTask即可