FPSCompress

FPSCompress

通过缓存生产效率并进行数学模拟,在不产生区块加载开销的情况下运行你的工厂。

管理

_此模组需要紧凑机械(Compact Machines)模组,但该模组尚未在 Modrinth 上发布,因此我无法将其注册为依赖项。 _

FPSCompress

一个适用于 NeoForge 1.21.1 的 Minecraft 模组,通过智能速率缓存实现工厂压缩。无需加载区块即可运行工厂,通过缓存生产效率并利用数学模拟来运行。

功能概述

FPSCompress 允许您在紧凑机械的房间内建造工厂,并在不加载这些区块的情况下以“虚拟”方式运行。该模组会在校准期间测量您工厂的实际生产效率,然后在工厂维度保持卸载的状态下,使用分数数学模拟生产过程。

成果:为依赖工厂的建筑带来显著的服务器性能提升。

核心概念:预置工厂(PreFabs)

预置工厂(PreFabs) 是跨维度的通道,可实现工厂输入/输出缓存。该模组的主要目的是缓存生产效率,使工厂无需加载区块即可“虚拟”运行。

三方块系统

  1. 预置方块(PreFab Block)(主世界) — 路由资源,控制状态机
  2. 导入器方块(Importer Block)(紧凑机械维度) — 资源进入工厂的输入门
  3. 导出器方块(Exporter Block)(紧凑机械维度) — 资源离开工厂的输出门

工作原理

  • 玩家在紧凑机械工厂房间内放置导入器/导出器
  • 预置方块的朝向面链接到特定的导入器/导出器(基于UUID)
  • 拉取面:主世界箱子 → 预置方块 → 导入器 → 工厂机器
  • 推送面:工厂机器 → 导出器 → 预置方块 → 主世界箱子
  • 模拟(SIMULATING)期间:在紧凑机械区块加载时测量实际生产效率
  • 缓存(CACHED)期间:使用分数数学模拟生产,紧凑机械区块卸载

玩家体验

  1. 在紧凑机械房间内建造工厂
  2. 在紧凑机械房间内放置导入器/导出器方块(输入/输出门)
  3. 使用“预置工厂升级模板”物品右键点击紧凑机械方块 → 变为预置方块
  4. 潜行+右键点击带有模拟扳手的预置方块 → 打开朝向配置界面
  5. 配置每个朝向:
    • 设置模式(拉取/推送/禁用)
    • 设置过滤器(物品/流体/能量)
    • 链接到特定的导入器/导出器(从下拉菜单中选择)
  6. 在主世界将箱子/漏斗连接到预置方块的各个朝向
  7. 空手右键点击预置方块 → 打开控制菜单 → 开始模拟
  8. 预置方块观察实际生产效率(紧凑机械区块加载)
  9. 空手右键点击预置方块 → 停止模拟 → 进入缓存模式(紧凑机械区块卸载
  10. 缓存模式:预置方块根据缓存的生产效率使用数学模拟生产

状态机

构建(BUILDING)    → 玩家配置朝向,放置导入器/导出器
模拟(SIMULATING)  → 预置方块测量实际生产效率(紧凑机械区块已加载)
缓存(CACHED)      → 预置方块通过数学方式模拟生产(紧凑机械区块已卸载 ← 性能提升!)
暂停(HALTED)      → 输入不足或输出阻塞(紧凑机械保持卸载,玩家修复主世界侧问题)

示例设置

主世界:
  [煤炭箱子] → [预置方块北面:拉取物品 → 导入器 #1]

紧凑机械维度(模拟期间):
  [导入器 #1] → [熔炉] → [导出器 #1]
  (预置方块测量:0.213 铁锭/游戏刻)

主世界:
  [预置方块南面:推送物品 ← 导出器 #1] → [铁箱子]

缓存模式期间:
  - 紧凑机械维度区块卸载
  - 预置方块累积分数生产效率(0.213/游戏刻)
  - 大约每 5 游戏刻,预置方块向输出箱子推送 1 个铁锭
  - 无需加载区块 = 更好的服务器 TPS!

当前状态

⚠️ 此模组正在积极开发中。

核心系统已实现:

  • ✅ 带界面的朝向配置系统
  • ✅ 带UUID链接的导入器/导出器方块
  • ✅ 资源传输(拉取/推送模式)
  • ✅ 带增量核算的速率测量
  • ✅ 使用分数数学的缓存生产
  • ✅ 预置方块作为物品的便携性系统
  • ✅ 增强型界面,带有实时状态和资源显示
  • ✅ 暂停状态恢复,保留速率
  • ✅ 原版方块支持(箱子、熔炉、漏斗)

进行中:

  • 🔨 AE2/精致存储集成
  • 🔨 工厂控制器方块
  • 🔨 多预置方块管理
  • 🔨 反作弊验证
  • 🔨 完善和错误修复
  • 🔨 性能优化