物品

pV=nRT 全部内容中只有 2 个物品,都是纯调试工具,都放在原版 Tools 创造标签页。

内部名 显示名 类 栈上限
atmoscanner Atmo-Scanner pvnrt/item/ItemAtmoScanner.java 1
gasdebugger Gas Debugger pvnrt/item/ItemGasDebugger.java 1

本地化仅有 src/main/resources/assets/pvnrt/lang/en_US.lang 的两行:

item.atmoscanner.name=Atmo-Scanner
item.gasdebugger.name=Gas Debugger

Atmo-Scanner

右键(onItemRightClick)在服务端执行,向聊天框依次输出 4 行:

  1. 体素状态 —— manager.getVoxelStatus(x,y,z),即原生层 format!("Voxel @ {x},{y},{z}: {voxel}") 拼出的调试串。GasManager 会先在 Java 侧做三重前置检查,分别可能返回 missing chunk / missing ebs / missing tracker。
  2. 气体列表 —— manager.getVoxelGas(x,y,z).toString()。区块未加载时回退为该世界的大气。
  3. 压强 —— "Pressure: " + formatNumber(压力 / 1000f) + " kPa",即 Pa 转 kPa;体积取 manager.getVoxelVolume(x,y,z)。
  4. 温度 —— "Temperature: " + formatNumber(温度 - 273) + " C",即 K 转 °C(用 273 而非 273.15)。

潜行右键改为调用 manager.populate(x,y,z),强制为该坐标生成/更新模拟数据并返回其字符串描述。

Gas Debugger

右键在服务端向玩家所在体素注入 1000 mol 氧气 @ 293 K:

GasList gas = new GasList();
gas.addAt(PVNRT.OXYGEN, 1000, 293);
manager.addGas(x, y, z, gas);
  • 潜行右键同样走 manager.populate(x,y,z)。
  • 若 manager == null(GasManager 未创建)则输出字面量 missing。

与 Atmo-Scanner 不同,Gas Debugger 多一层 manager != null 判空保护。

说明

  • 两个物品都没有贴图:src/main/resources/assets/pvnrt/ 下只有 lang/ 一个目录,没有 textures/。在 1.7.10 下会显示为紫黑缺失模型。
  • 都只读服务端侧状态(if (!worldIn.isRemote)),客户端不发包,因此不依赖 网络层。
  • 物品不受配置影响——Config.java 里只有一个遗留的 greeting 字段,见 源码缺陷。

相关条目

  • 方块 - 风扇,气体的唯一被动/主动搬运者
  • 体素气体模拟 - populate / addGas / getVoxelGas 的实现