Nova-Committee / McBot

A mod allowed you to connect minecraft and QQ
Other
115 stars 15 forks source link

[Question / 询问] McBot fabric包含两个分支:fabric, fabric-dev,它们是如何工作的 #135

Closed xia-mc closed 4 months ago

xia-mc commented 4 months ago

Checks / 检查

Description / 描述

现在,fabric和fabric-dev分支包含一些不同的新特性和问题修复,我没有在McBot的文档中看到关于它们的描述。

1.哪个是McBot fabric的主要分支? 作为开发者,应该从哪个分支拉取代码;作为用户,应该使用哪个分支生成的mod。

2.最新的、基于fabric分支编译的Mcbot-fabric-2.1.9.1.jar可以在fabric 1.20.2服务端上工作吗? 遗憾的, @A0000Xz和我都崩溃了。 日志片段:

[15:49:16] [main/ERROR]: Failed to start the minecraft server
java.lang.RuntimeException: Could not execute entrypoint stage 'main' due to errors, provided by 'mcbot-1_20_1'!
        at net.fabricmc.loader.impl.FabricLoaderImpl.lambda$invokeEntrypoints$2(FabricLoaderImpl.java:388) ~[fabric-loader-0.15.6.jar:?]
        at net.fabricmc.loader.impl.util.ExceptionUtil.gatherExceptions(ExceptionUtil.java:33) ~[fabric-loader-0.15.6.jar:?]
        at net.fabricmc.loader.impl.FabricLoaderImpl.invokeEntrypoints(FabricLoaderImpl.java:386) ~[fabric-loader-0.15.6.jar:?]
        at net.fabricmc.loader.impl.game.minecraft.Hooks.startServer(Hooks.java:63) ~[fabric-loader-0.15.6.jar:?]
        at net.minecraft.server.Main.main(Main.java:112) ~[server-intermediary.jar:?]
        at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470) ~[fabric-loader-0.15.6.jar:?]
        at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) ~[fabric-loader-0.15.6.jar:?]
        at net.fabricmc.loader.impl.launch.knot.KnotServer.main(KnotServer.java:23) ~[fabric-loader-0.15.6.jar:?]
        at net.fabricmc.loader.impl.launch.server.FabricServerLauncher.main(FabricServerLauncher.java:69) ~[fabric-loader-0.15.6.jar:?]
Caused by: java.lang.NoClassDefFoundError: org/antlr/v4/runtime/CharStreams
        at org.tomlj.Toml.parse(Toml.java:146) ~[cn_evole_config_atomconfig-toml-0.1.4-48a53211f41548b8.jar:?]
        at org.tomlj.Toml.parse(Toml.java:97) ~[cn_evole_config_atomconfig-toml-0.1.4-48a53211f41548b8.jar:?]
        at org.tomlj.Toml.parse(Toml.java:81) ~[cn_evole_config_atomconfig-toml-0.1.4-48a53211f41548b8.jar:?]
        at cn.evole.config.toml.TomlUtil.readConfig(TomlUtil.java:134) ~[cn_evole_config_atomconfig-toml-0.1.4-48a53211f41548b8.jar:?]
        at cn.evole.mods.mcbot.init.config.ModConfig.<clinit>(ModConfig.java:23) ~[mcbot-1_20_1-2.1.9.1-bf25eee9bcc5f93b.jar:?]
        at cn.evole.mods.mcbot.util.locale.I18n.init(I18n.java:26) ~[mcbot-1_20_1-2.1.9.1-bf25eee9bcc5f93b.jar:?]
        at cn.evole.mods.mcbot.McBot.init(McBot.java:73) ~[mcbot-1_20_1-2.1.9.1-bf25eee9bcc5f93b.jar:?]
        at cn.evole.mods.mcbot.McBot.onInitialize(McBot.java:46) ~[mcbot-1_20_1-2.1.9.1-bf25eee9bcc5f93b.jar:?]
        at net.fabricmc.loader.impl.FabricLoaderImpl.invokeEntrypoints(FabricLoaderImpl.java:384) ~[fabric-loader-0.15.6.jar:?]
        ... 6 more
Caused by: java.lang.ClassNotFoundException: org.antlr.v4.runtime.CharStreams
        at jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) ~[?:?]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[?:?]
        at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:226) ~[fabric-loader-0.15.6.jar:?]
        at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:119) ~[fabric-loader-0.15.6.jar:?]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[?:?]
        at org.tomlj.Toml.parse(Toml.java:146) ~[cn_evole_config_atomconfig-toml-0.1.4-48a53211f41548b8.jar:?]
        at org.tomlj.Toml.parse(Toml.java:97) ~[cn_evole_config_atomconfig-toml-0.1.4-48a53211f41548b8.jar:?]
        at org.tomlj.Toml.parse(Toml.java:81) ~[cn_evole_config_atomconfig-toml-0.1.4-48a53211f41548b8.jar:?]
        at cn.evole.config.toml.TomlUtil.readConfig(TomlUtil.java:134) ~[cn_evole_config_atomconfig-toml-0.1.4-48a53211f41548b8.jar:?]
        at cn.evole.mods.mcbot.init.config.ModConfig.<clinit>(ModConfig.java:23) ~[mcbot-1_20_1-2.1.9.1-bf25eee9bcc5f93b.jar:?]
        at cn.evole.mods.mcbot.util.locale.I18n.init(I18n.java:26) ~[mcbot-1_20_1-2.1.9.1-bf25eee9bcc5f93b.jar:?]
        at cn.evole.mods.mcbot.McBot.init(McBot.java:73) ~[mcbot-1_20_1-2.1.9.1-bf25eee9bcc5f93b.jar:?]
        at cn.evole.mods.mcbot.McBot.onInitialize(McBot.java:46) ~[mcbot-1_20_1-2.1.9.1-bf25eee9bcc5f93b.jar:?]
        at net.fabricmc.loader.impl.FabricLoaderImpl.invokeEntrypoints(FabricLoaderImpl.java:384) ~[fabric-loader-0.15.6.jar:?]
        ... 6 more
A0000Xz commented 4 months ago

我也很迷惑,经过检查,实际上,当时xia-mc提交的PR在action里构建的模组jar文件里所有的模组子jar都其实是dev分支的,但外面的标签是fabric。并且当时xia-mc提交的PR是合并到fabric的,那个action构建版本因为使用的是dev分支,理应不包含修改,但结果是包含的。

A0000Xz commented 4 months ago

我也很迷惑,经过检查,实际上,当时xia-mc提交的PR在action里构建的模组jar文件里所有的模组子jar都其实是dev分支的,但外面的标签是fabric。并且当时xia-mc提交的PR是合并到fabric的,那个action构建版本因为使用的是dev分支,理应不包含修改,但结果是包含的。

b3680f0a643b8a16873dbf2540f9bede ce788a215a58c38841ae4686b1681312

如图所示,xia-mc提交PR后自动构建的那个版本挂着fabric标签,但实际上里面是fabric-dev的。

cnlimiter commented 4 months ago

应当以fabric为主

cnlimiter commented 4 months ago

不过pr可以提交到fabric-dev,可以与fabric进行合并

cnlimiter commented 4 months ago

建议使用fabric分支,fabric-dev是java17编译的备份分支

xia-mc commented 4 months ago

所以fabric分支使用java19语法吗

cnlimiter commented 4 months ago

所以fabric分支使用java19语法吗

Java8