版本1.12.2forge,如题,但是一旦开游戏立马报空(构建没有问题)
我怀疑是我本人问题,现求各位大佬,帮忙。
我怀疑是我本人问题,现求各位大佬,帮忙。
根据报错信息,问题出现在Tickrate Changer mod加载的过程中,发生了空指针异常(NullPointerException)。具体原因是在TickrateAPI类的第59行出现了空指针异常。怎么解决我也不太清楚,你检查下mod的加载顺序吧
斩首的白夜 发表于 2023-7-11 21:11
根据报错信息,问题出现在Tickrate Changer mod加载的过程中,发生了空指针异常(NullPointerException)。 ...
开发环境怎么搞加载顺序...
麻烦提供下 build.gradle(.kts)
以及你说的开发环境,是不是指的是 runDevServer(Client) ?
以及你说的开发环境,是不是指的是 runDevServer(Client) ?
您这里是因为那个错误注释的吗?如果是的话麻烦取消注释这一行
复制代码
您可以先尝试添加 vm options
复制代码
如仍不能运行请将刚刚注释的那一行换为
复制代码
- // compile 'curse.maven:TickrateChanger-230233:2482684'
您可以先尝试添加 vm options
- -Dfml.coreMods.load=me.guichaguri.tickratechanger.TickrateChanger
如仍不能运行请将刚刚注释的那一行换为
- compile fg.deobf("curse.maven:TickrateChanger-230233:2482684")
红云cloud 发表于 2023-7-11 23:37
编辑:chatgpt的好像没什么问题,麻烦版主解除一下屏蔽
你那个mod是core mod吗?如果是的话按照沙发的回答 ...
是core mod


@mod 也改了,但是依然崩溃
wdcftgg 发表于 2023-7-12 01:59
是core mod
把你的初始化阶段改成FMLServerStartedEvent事件时处理,这是前置模组监听所有事件以后才会执行的事件。
还有:
- /**
- * Let you change the server tickrate
- * Can only be called from server-side. Can also be called from client-side if is singleplayer.
- * @param ticksPerSecond Tickrate to be set
- * @param log If should send console logs
- */
请问你是从服务端呼叫的吗?
模组唐三 发表于 2023-7-12 09:16
把你的初始化阶段改成FMLServerStartedEvent事件时处理,这是前置模组监听所有事件以后才会执行的事件。
...
我没有调用任何东西,但是一旦开游戏测试就报空
wdcftgg 发表于 2023-7-12 13:49
我没有调用任何东西,但是一旦开游戏测试就报空
跑服务器行不行?我看是serveratechange报错。
模组唐三 发表于 2023-7-12 14:06
跑服务器行不行?我看是serveratechange报错。
咱客户端都跑不起来怎么跑服务器
wdcftgg 发表于 2023-7-12 16:52
咱客户端都跑不起来怎么跑服务器
试试,报错显示是改服务端tick的时候出错的
楼主你好,很抱歉回复的这么迟
以下是测试正常的 build.gradle
由于未知原因,在低版本 ForgeGradle fg.deobf 失效,所以将 forge gradle 升级至最新版,以及在 gradle/wrapper/gradle-wrapper.properties 中升级 gradle 版本
复制代码复制代码由于升级了 gradle 版本,compile configuration 不再可用,可以替换为 implementation
随后添加参数使 coremd 加载,在 dependencies 中添加依赖
复制代码复制代码最后由于未知原因无法应用 access transformer,所以手动启用 accessTransformer 并配置为 TickRateChanger 的内容
复制代码复制代码
随后重新运行即可在开发环境使用 TickRateChanger
复制代码
以下是测试正常的 build.gradle
由于未知原因,在低版本 ForgeGradle fg.deobf 失效,所以将 forge gradle 升级至最新版,以及在 gradle/wrapper/gradle-wrapper.properties 中升级 gradle 版本
- classpath 'net.minecraftforge.gradle:ForgeGradle:6.+'
- distributionUrl=https\://services.gradle.org/distributions/gradle-8.1-bin.zip
随后添加参数使 coremd 加载,在 dependencies 中添加依赖
- property 'fml.coreMods.load', 'me.guichaguri.tickratechanger.TickrateChanger'
- implementation fg.deobf('curse.maven:TickrateChanger-230233:2482684')
- accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg')
- public net.minecraft.client.Minecraft field_71428_T # timer field
- public net.minecraft.util.Timer * # All Fields
随后重新运行即可在开发环境使用 TickRateChanger
- gradle genIntellijRuns
[网络问题发重了,请忽略]