我尝试查看谷歌,但找不到这个问题的明确答案。 “如何将fps限制为1?”。当默认情况下只能执行 10 次时。
他们基本上在游戏启动时使用 Fabric mixin 修改 Minecraft 的代码到
getFramerateLimit()
的 net.minecraft.client.MinecraftClient
函数中,告诉 Minecraft 转到他们设置的任何值。
这是控制此逻辑的代码片段:
@Inject(method = "getFramerateLimit", at = @At("HEAD"), cancellable = true)
private void onGetFramerateLimit(CallbackInfoReturnable<Integer> info) {
if (Modules.get().isActive(UnfocusedCPU.class) && !isWindowFocused()) info.setReturnValue(Math.min(Modules.get().get(UnfocusedCPU.class).fps.get(), this.options.getMaxFps().getValue()));
}
它所做的只是注入到类中,检查模块是否处于活动状态并将值设置为
Modules.get().get(UnfocusedCPU.class).fps.get()
,这是您在客户端菜单中设置的任何内容(例如1、10、14等...)