pV=nRT

[!INFO] Git Commit: 2e69fd3 | Updated: 2026-05-25

pV=nRT(modid: pvnrt)是一个以理想气体定律 pV=nRT 为主题的气体物理模拟 mod。它让 Minecraft 世界里的空气成为可测量、可注入、可压强可视化的一种真实介质。

mod 名称取自气体定律本身:“pV=nRT”——pVnRT 只是把这个式子写成了类 CamelCase 的形式(gradle.properties 中 modName = pV\=nRT)。目录名 pVnRT 的连写风格与 modid 无关。

它不是渲染/视距类优化 mod,也不与 NEI 集成。

架构分层

pV=nRT 的运算不在 JVM 里,而是分四层:

Java 调度层    pvnrt.core.world.GasManager / EBSGasTracker
      ↓  direct ByteBuffer(JNI,零拷贝)
Rust 模拟层    gas-sim/ crate(cdylib)
      ↓
体素介质        16×16×16 EBS 粒度的气体场
      ↓
客户端呈现      压强梯度彩色体积渲染
属性 值
modid pvnrt
显示名 pV=nRT
@Mod 主类 pvnrt.PVNRT
core mod pvnrt.PVNRTCore(IFMLLoadingPlugin + IEarlyMixinLoader)
版本 pvnrt.Tags.VERSION(generateGradleTokenClass = pvnrt.Tags,构建期生成)
Minecraft 1.7.10(acceptedMinecraftVersions = "[1.7.10]")
Forge 10.13.4.1614
支持语言 仅 en_US
编译目标 Java 8 字节码(经 Jabel 允许 Java 17 语法)
内容总量 1 方块 + 2 物品,无实体/维度/附魔/成就/配方
配置文件 实际不产生有效配置(Config 仅有遗留 greeting)
网络包 1 个具体包 pvnrt:update-gradients

内容体量

这是一个以系统而非以内容见长的 mod:全部游戏内内容只有 1 个方块和 2 个调试物品,代码量的绝大部分在气体数据结构、原生模拟与 3D 梯度渲染上。

  • 内置 4 种气体:O₂、N₂、Ar、CO₂
  • 玩家侧可用手段:风扇(搬运气体)+ Atmo-Scanner(读数)+ Gas Debugger(注入氧气)
  • 唯一可视化输出:压强梯度的半透明体积渲染

依赖

依赖 坐标 性质 收录情况
GTNHLib com.github.GTNewHorizons:GTNHLib:0.9.47 implementation,真实运行期依赖 本 wiki 已收录
ChunkAPI com.falsepattern:chunkapi-mc1.7.10:0.8.0 implementation,用于区块气体数据持久化 纯 API 库,未收录
NotEnoughItems com.github.GTNewHorizons:NotEnoughItems:2.8.82-GTNH runtimeOnlyNonPublishable dev-only,源码零引用 见 网络层 说明
Angelica com.github.GTNewHorizons:Angelica:2.1.13 runtimeOnlyNonPublishable dev-only 本 wiki 已收录
UniMixins 经 usesMixins = true 自动引入 运行期依赖 —

NEI 与 Angelica 都是 runtimeOnlyNonPublishable,不会作为 Maven 依赖发布给下游 mod;NEI 更是全仓零引用。pV=nRT 不提供任何 NEI handler。

已知状态

⚠️ 该 mod 目前处于开发中、未可正常装机的状态:原生库路径硬编码为开发机相对路径且不随 jar 分发,详见 源码缺陷 第 1 条。仓库自带的 CLAUDE.md 与源码存在多处矛盾,不可作为事实来源。

条目

  • 气体物质系统 - 4 种内置气体的参数、GasStack/GasList 容器与数字 ID 分配
  • 大气组成 - 地表维度的默认大气配比(79.42% N₂ / 20.37% O₂ / 0.21% Ar / 0.0009% CO₂)
  • 体素气体模拟 - 16×16×16 EBS 粒度的模拟、遮挡掩码与 24 bit 体素打包
  • 原生模拟核心 - Rust crate gas-sim 与 JNI 零拷贝接口
  • 梯度渲染 - 压强梯度的服务端→客户端体积渲染
  • 网络层 - pvnrt 通道与唯一的梯度数据包
  • Mixin 挂载点 - core mod 加载与 4 个 early mixin
  • 方块 - 风扇(当前玩家无法获得)
  • 物品 - Atmo-Scanner 与 Gas Debugger 两个调试工具
  • 源码缺陷 - 10 项实测问题清单