wdcftgg
版本1.12.2forge,如题,但是一旦开游戏立马报空(构建没有问题)


我怀疑是我本人问题,现求各位大佬,帮忙。



斩首的白夜
根据报错信息,问题出现在Tickrate Changer mod加载的过程中,发生了空指针异常(NullPointerException)。具体原因是在TickrateAPI类的第59行出现了空指针异常。怎么解决我也不太清楚,你检查下mod的加载顺序吧

wdcftgg
斩首的白夜 发表于 2023-7-11 21:11
根据报错信息,问题出现在Tickrate Changer mod加载的过程中,发生了空指针异常(NullPointerException)。 ...

开发环境怎么搞加载顺序...

红云cloud
麻烦提供下 build.gradle(.kts)

以及你说的开发环境,是不是指的是 runDevServer(Client) ?

wdcftgg
红云cloud 发表于 2023-7-11 22:10
麻烦提供下 build.gradle(.kts)

以及你说的开发环境,是不是指的是 runDevServer(Client) ?






红云cloud
您这里是因为那个错误注释的吗?如果是的话麻烦取消注释这一行

  1. //   compile 'curse.maven:TickrateChanger-230233:2482684'
复制代码


您可以先尝试添加 vm options

  1. -Dfml.coreMods.load=me.guichaguri.tickratechanger.TickrateChanger
复制代码


如仍不能运行请将刚刚注释的那一行换为

  1. compile fg.deobf("curse.maven:TickrateChanger-230233:2482684")
复制代码



wdcftgg
红云cloud 发表于 2023-7-11 23:37
编辑:chatgpt的好像没什么问题,麻烦版主解除一下屏蔽
你那个mod是core mod吗?如果是的话按照沙发的回答 ...

是core mod



@mod 也改了,但是依然崩溃




模组唐三

把你的初始化阶段改成FMLServerStartedEvent事件时处理,这是前置模组监听所有事件以后才会执行的事件。
还有:
  1. /**
  2.      * Let you change the server tickrate
  3.      * Can only be called from server-side. Can also be called from client-side if is singleplayer.
  4.      * @param ticksPerSecond Tickrate to be set
  5.      * @param log If should send console logs
  6.      */
复制代码

请问你是从服务端呼叫的吗?

wdcftgg
模组唐三 发表于 2023-7-12 09:16
把你的初始化阶段改成FMLServerStartedEvent事件时处理,这是前置模组监听所有事件以后才会执行的事件。
...

我没有调用任何东西,但是一旦开游戏测试就报空

模组唐三
wdcftgg 发表于 2023-7-12 13:49
我没有调用任何东西,但是一旦开游戏测试就报空

跑服务器行不行?我看是serveratechange报错。

wdcftgg
模组唐三 发表于 2023-7-12 14:06
跑服务器行不行?我看是serveratechange报错。

咱客户端都跑不起来怎么跑服务器

模组唐三
wdcftgg 发表于 2023-7-12 16:52
咱客户端都跑不起来怎么跑服务器

试试,报错显示是改服务端tick的时候出错的

红云cloud
楼主你好,很抱歉回复的这么迟
以下是测试正常的 build.gradle


由于未知原因,在低版本 ForgeGradle fg.deobf 失效,所以将 forge gradle 升级至最新版,以及在 gradle/wrapper/gradle-wrapper.properties 中升级 gradle 版本
  1. classpath 'net.minecraftforge.gradle:ForgeGradle:6.+'
复制代码
  1. distributionUrl=https\://services.gradle.org/distributions/gradle-8.1-bin.zip
复制代码
由于升级了 gradle 版本,compile configuration 不再可用,可以替换为 implementation

随后添加参数使 coremd 加载,在 dependencies 中添加依赖
  1. property 'fml.coreMods.load', 'me.guichaguri.tickratechanger.TickrateChanger'
复制代码
  1. implementation fg.deobf('curse.maven:TickrateChanger-230233:2482684')
复制代码
最后由于未知原因无法应用 access transformer,所以手动启用 accessTransformer 并配置为 TickRateChanger 的内容
  1. accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg')
复制代码
  1. public net.minecraft.client.Minecraft field_71428_T # timer field
  2. public net.minecraft.util.Timer * # All Fields
复制代码


随后重新运行即可在开发环境使用 TickRateChanger
  1. gradle genIntellijRuns
复制代码



红云cloud
[网络问题发重了,请忽略]

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