请问大佬们,如何异步创建世界,使用bukkitrunnable的异步不行,因为创建世界是bukkit里面的方法,会报错
目测是WorldBorderCenterChangeEvent异步触发导致的报错
可将Event.isAsynchronous()重写为{return !Bukkit.getServer().isPrimaryThread();}来永久解决此类问题
可将Event.isAsynchronous()重写为{return !Bukkit.getServer().isPrimaryThread();}来永久解决此类问题
mzmzmz 发表于 2022-2-5 22:54
目测是WorldBorderCenterChangeEvent异步触发导致的报错
可将Event.isAsynchronous()重写为{return !Bukkit ...
大佬,1.12.2没有这个事件
本帖最后由 mzmzmz 于 2022-2-6 18:27 编辑
看出来了
关掉AsyncCatcher即可
AsyncCatcher.enabled=false;
“就是坏档了自己负责”
zr0428 发表于 2022-2-6 09:20
大佬,1.12.2没有这个事件
看出来了
关掉AsyncCatcher即可
AsyncCatcher.enabled=false;
“就是坏档了自己负责”
mzmzmz 发表于 2022-2-6 11:39
看出来了
关掉AsyncCatcher即可
AsyncCatcher.enabled=false;
new BukkitRunnable() {
@Override
public void run() {
try {
FileUtil.copyDir(".//plugins//EP-DungeonSystem//Map//gw" , ".//gw");
WorldCreator worldCreator = WorldCreator.name("gw");
World world = worldCreator.createWorld();
} catch (IOException e) {
e.printStackTrace();
}
}
}.runTaskAsynchronously(Main.getInstance());