血月传感器

基本信息

属性 值
注册名 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 青金石)。

相关条目