物品
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 行:
- 体素状态 ——
manager.getVoxelStatus(x,y,z),即原生层format!("Voxel @ {x},{y},{z}: {voxel}")拼出的调试串。GasManager会先在 Java 侧做三重前置检查,分别可能返回missing chunk/missing ebs/missing tracker。 - 气体列表 ——
manager.getVoxelGas(x,y,z).toString()。区块未加载时回退为该世界的大气。 - 压强 ——
"Pressure: " + formatNumber(压力 / 1000f) + " kPa",即 Pa 转 kPa;体积取manager.getVoxelVolume(x,y,z)。 - 温度 ——
"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字段,见 源码缺陷。