Artificial Gravity Generator
基本信息
| 属性 | 值 |
|---|---|
| 注册名 | GalacticraftAmunRa:gravity |
| TileEntity | TileEntityGravitation |
| 分类 | metaBlockMachine2 (metadata 1) |
| 硬度 | 默认 (Material.iron) |
| 爆炸抗性 | 默认 (Material.iron) |
功能
Artificial Gravity Generator(人工重力发电机)用于在飞船内部创建可配置的人造重力场。它在以自身为中心、沿 Y 轴固定 5 格、X/Z 轴各 ±5 格的 AABB 范围内对实体施加重力效果。
主要特性:
- 重力场范围:
AxisAlignedBB.getBoundingBox(-5.0, 0, -5.0, +5.0, +5.0, +5.0)→ X 跨度 10、Y 跨度 5、Z 跨度 10(不是 5×5×5) - 默认重力:-0.05(可配置)
- 实体加速:对范围内所有实体施加垂直方向的速度
- 视觉效果:客户端有随机粒子显示效果(模拟重力场)
可配置重力强度和方向,通过 GUI 界面(GuiIds.GUI_GRAVITY)进行调整。
摆放要求
- 放置在飞船内部
- 支持 4 个水平旋转朝向
- 前方/后方/侧面有不同的纹理
数值
| 数值名 | 值 |
|---|---|
| 重力场范围 | 10(X) × 5(Y) × 10(Z),AABB (-5,0,-5)→(5,5,5) |
| 默认重力强度 | -0.05 |
| 可配置 | 是 |
交互
| 触发 | 行为 |
|---|---|
| 右键 | 打开重力场配置 GUI(GuiIds.GUI_GRAVITY) |
相关条目
- Mass Sensor - 质量传感器(同类机器方块)
源码核对(2026-10-01 审计)
已订正:重力场范围原写「5x5x5 AABB」,三轴都错。
- 正确值:
this.gravityBox = AxisAlignedBB.getBoundingBox(-5.0, 0, -5.0, +5.0, +5.0, +5.0)(tile/TileEntityGravitation.java:47)→ X 跨 10、Y 跨 5、Z 跨 10, 且 Y 轴起点是 0 而非对称。原条目把 5 误读成边长。 - 默认重力
this.gravity = -0.05D(TileEntityGravitation.java:42)——原条目正确。 注意第 41 行的gravityVector = new Vector3(0.0, -0.05D, 0.0)是注释掉的, 生效的是第 42 行的this.gravity字段赋值。 - 分类字段
metaBlockMachine2是 Java 字段名,实际注册名是machines3(ARBlocks.java:591new BlockMachineMeta("machines3", Material.iron)),gravity为其 metadata 1(ARBlocks.java:602-604)——metadata 值原条目正确。
已核对正确:TileEntity TileEntityGravitation、GUI GuiIds.GUI_GRAVITY、支持 4 朝向。
硬度/抗性:BlockMachineMeta 构造器未调用 setHardness/setResistance
(BlockMachineMeta.java:40-44),确为 Material.iron 默认值,原条目未编造数值,正确。