• 游客, 欢迎您来到九域资源社区,如果您是新人,请前往 论坛公告 板块查看新人引导教程 或者 点我打开
    如果您发现没有下载许可, 请先验证邮箱再进行下载;金锭可通过每日登陆或资源出售获取,目前没有其他渠道可获取。

不用计时器,同步的判断神兽刷空

FullIdle

Lv.1 泥土
高级创作者
2023-04-08
181
35
0
钻石
0.00 钻石
金锭
19,211 金锭
1706349288372.png
直接给代码.
这上边判断的是生成器内的概率宝可梦是否存在
possibleSpawns是一个list类型
代码位于LegendraySpawnEvent.ChoosePlayer -> (这里) -> LegendraySpawnEvent.DoSpawn
不过如果没有可以生成的动作的时候是不会触发后面的DoSpawn的

逻辑:
触发了选择玩家事件后将代码跳到主线程中执行(bukkit会安排执行位置)
至于为什么要用SpawnerCoordinator.PROCESSOR来执行之后的代码
看看这里把(Pixelmonmod,中的com.pixelmonmod.pixelmon.spawning.LegendraySpawner)
1706349575913.png
这段内容也是在这个处理器执行的,如果你不在这里面执行那么你的代码会快于这段代码执行
不过不要判断isBusy没什么用(很奇管空还是不空都是一样的)

这样做就不需要定时器或者一些非同步的操作了
别问我为什么整出来,我喜欢同步你不给是不是????!
 
大佬你好,我是之前拜托你实现该功能的小萌新,之前你给我的那段脚本在1.16.5版本似乎实现不了,我看了下1.16.5宝可梦的源码,似乎跟1.20版本的是不一样的。
 
大佬你好,我是之前拜托你实现该功能的小萌新,之前你给我的那段脚本在1.16.5版本似乎实现不了,我看了下1.16.5宝可梦的源码,似乎跟1.20版本的是不一样的。
本来就是没用1.16.5的宝可梦api来写的呀
 
大佬 如果刷空 还是不会触发事件
 
最后编辑: