血月传感器
基本信息
| 属性 | 值 |
|---|---|
| 注册名 | RandomThings:bloodMoonSensor |
| 类 | lumien.randomthings.Blocks.BlockBloodmoonSensor(继承原版 BlockDaylightDetector) |
| TileEntity | 无 |
| 材质 | 原版 BlockDaylightDetector 默认 |
| 硬度 | 0.7F(BlockBloodmoonSensor.java:21) |
| 贴图 | RandomThings:bloodMoonSensor(:18) |
| 开关 | Blocks.BloodmoonSensor(RTConfiguration.java:204) |
| 中文名 | 未翻译 —— zh_CN.lang:173 仍是英文 Bloodmoon Sensor |
功能
血月传感器把血月事件转成红石信号。它同样继承 net.minecraft.block.BlockDaylightDetector(BlockBloodmoonSensor.java:8),因此沿用原版阳光探测器的接线与信号输出,只是信号源换成 ServerBloodmoonHandler.INSTANCE.isBloodmoonActive(worldObj.provider.dimensionId)。
它的 func_149957_e 只做两态切换(BlockBloodmoonSensor.java:24-33):
if (ServerBloodmoonHandler.INSTANCE.isBloodmoonActive(worldObj.provider.dimensionId) && metadata == 0) {
worldObj.setBlockMetadataWithNotify(posX, posY, posZ, 15, 3);
} else if (!ServerBloodmoonHandler.INSTANCE.isBloodmoonActive(...) && metadata == 15) {
worldObj.setBlockMetadataWithNotify(posX, posY, posZ, 0, 3);
}
即:血月活跃 → 15(满信号);血月结束 → 0。没有中间值,这是它与月相传感器(连续 0–15 映射)的本质差别。
判定带维度参数:血月是否在玩家当前所在维度生效,取决于 BloodMoonDimensionWhitelist 白名单(默认 {0},见 血月设置)。在白名单外的维度中本方块永远输出 0。
数值
| 数值名 | 值 |
|---|---|
| 输出等级 | 仅 0 或 15(无中间值) |
| 判定维度 | 当前方块所在 provider.dimensionId |
| 白名单外行为 | 恒为 0 |
| TileEntity | 无 |
交互
| 触发 | 行为 |
|---|---|
| 血月开始 | 跳至 metadata 15,输出满红石 |
| 血月结束 | 回落至 metadata 0 |
/rt bloodmoon [dimID] |
可强制触发,便于测试(见 指令) |
合成配方
ggg
rqr
sss
| 字符 | 物品 |
|---|---|
g |
玻璃(blockGlass) |
r |
红石粉(dustRedstone) |
s |
木质台阶(slabWood) |
q |
下界石英(gemQuartz) |
来源:Library/Recipes.java:302-315。与月相传感器 的配方仅中间行中心格不同(红石粉 vs 青金石)。