戒灵领域
请问大佬们,如何异步创建世界,使用bukkitrunnable的异步不行,因为创建世界是bukkit里面的方法,会报错

mzmzmz
目测是WorldBorderCenterChangeEvent异步触发导致的报错
可将Event.isAsynchronous()重写为{return !Bukkit.getServer().isPrimaryThread();}来永久解决此类问题

戒灵领域
mzmzmz 发表于 2022-2-5 22:54
目测是WorldBorderCenterChangeEvent异步触发导致的报错
可将Event.isAsynchronous()重写为{return !Bukkit ...

大佬,1.12.2没有这个事件

mzmzmz
本帖最后由 mzmzmz 于 2022-2-6 18:27 编辑
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());

戒灵领域
mzmzmz 发表于 2022-2-6 11:39
看出来了
关掉AsyncCatcher即可
AsyncCatcher.enabled=false;

这是报错,大佬

第一页 上一页 下一页 最后一页