红石比较器
发表时间: 2025-11-06 15:01:14
最后更新: 2025-11-10 13:33:39(2天前)
本文标签: 传输元件
属性
| 红石比较器 | |
|---|---|
| 比较模式 |
未激活
激活,基岩版
激活,Java版 |
| 作差模式 |
未激活
激活,基岩版
激活,Java版 |
| 合适挖掘工具 | 无 |
| 硬度 | 0 |
| 爆炸抗性 | 0 |
| 窒息生物 | 否 |
| 红石导体 | 否 |
| 固体方块 (JE) | 否 |
| 固体方块 (BE) | ? |
| 材料固体方块 (BE) | ? |
| 活塞推动行为 | 被推动破坏,不可拉动 |
| 乐器 | 竖琴/钢琴 |
| 地图基色 | 无 |
| 方块ID | Java版:comparator;基岩版:见§ 数据值 |
介绍
-
红石比较器是一种红石元件方块,具备维持、比较、相减或检测特定数据值(主要针对容器的装载量)的功能。
-
红石比较器会在以下情况下被破坏并掉落:附着的方块被移动、去除或损坏;在Java版中,有水流经过;活塞推动它或将方块推到它的位置。
-
当熔岩经过红石比较器时,它会被破坏但不会掉落。
-
红石比较器设有三个输入输出端口:输出端、主输入端,以及分为左、右两侧的侧输入端,计算时将取这两个侧输入端的最大值。
-
安放比较器时,主输入端应朝向玩家,上表面的三角指向输出端,两侧则为侧输入端。
-
比较器的上表面后部有两根小红石火把,而前部只装有一根。
-
当比较器输出信号时,后侧的红石火把会亮起,并且三角形的颜色也会变为红色。
-
前端的火把状态可通过使用键进行切换:关闭或熄灭使比较器处于“比较模式”;打开或亮起则使其处于“作差模式”。
生成
一、 自然生成
- 红石比较器会自然生成于远古城市中心的地下室中。
获取
一、 合成
破坏
- 红石比较器被挖掘时会立刻被破坏。
- 红石比较器被破坏后会掉落自身。
| 方块 | |
|---|---|
| 硬度 | 0 |
| 工具 | 无 |
| 挖掘时间 | |
| 徒手 | 0.05 |
用途
- 红石比较器在游戏中主要负责接收主输入端和侧输入端的信号。
- 侧输入端能够接受的信号来源包括红石粉、红石中继器、红石块、侦测器、避雷针(仅限于Java版)以及其他的比较器。
- 在Java版中,红石比较器的输入端发生变化时,会在2游戏刻(相当于0.1秒)后生成一个计划刻,届时会进行输出的计算和变更。
- 由于红石比较器的计划刻具有优先级,因此任何持续时间小于等于2游戏刻的信号通常无法影响红石比较器的输出,这一特性可以用于过滤掉短脉冲信号。
- 在基岩版中,红石比较器被视为“电容器元件”,并在电容器信号计算阶段,依据上游元件的列表来获取输入,计算得到的输出结果在阶段结束时进行同步。
- 因此,红石比较器无法接收发生在前一个红石刻中存在但在当前红石刻的图形更新阶段被阻挡的信号变化。
- 信号消费者元件可以在同一红石刻内接收到红石比较器的新输出值。
- 当红石比较器输出信号时,其后侧的两个小红石火把将会被点亮,若没有信号输出则熄灭。
- 红石比较器的功能主要包括四个方面:维持信号强度、比较信号强度、进行信号强度的差值计算,以及监测方块状态,特别是容器的装载量。
一、 保持信号强度
- 红石比较器的侧输入端没有输入时,输出的信号强度与主输入端的信号强度相同(与红石中继器增强信号强度的功能不同)。
二、 比较信号强度
- 比较模式的红石比较器(前侧火把熄灭)会比较主输入端与侧输入端。
- 其输出逻辑性质可用于规整信号强度(反相)。
- 若任意侧输入端大于主输入,红石比较器不输出信号;
- 否则输出与主输入相同的信号强度。表达式:输出 = 主输入 * (max(左侧输入, 右侧输入) <= 主输入)。
三、 信号强度作差
-
红石比较器在作差模式下能够处理主输入端与侧输入端之间的信号差异。
-
其输出结果为主输入信号与两侧输入信号中较强者的强度之差,但若该差值为负,则输出将被限制为零。
-
该运算可以用以下公式表示:输出 = max(主输入 - max(左侧输入, 右侧输入), 0)。
-
举个例子,如果主输入端接收到了强度为4的信号,而左侧输入为6,右侧输入为7,则最终的输出信号强度计算为 max(4 - max(6, 7), 0) = max(4 - 7, 0) = max(-3, 0) = 0。
-
另一个例子中,若主输入端的信号强度为9,而左侧和右侧输入强度分别为5和2,则输出信号强度计算为 max(9 - max(2, 5), 0) = max(9 - 5, 0) = 4。
-
在Minecraft的Java版中,特定种类的方块或物品展示框可以作为红石比较器的测试对象。
-
红石比较器会通过获取这些对象的方块状态或方块实体,经过转换后,将信息作为自身的输入。
-
为了使目标方块能够充当红石比较器的输入,它必须位于比较器的主输入端方向上,并与之相邻,或允许有一个非测试方块的间隔。
-
在Java版中,所允许的非测试方块必须是红石导体,而在基岩版中,非测试方块则可以是除了标靶以外的红石导体、活塞、铁链或铜链。
-
红石比较器会优先将受测目标作为其输入信号。
-
在Java版中,若受测目标与红石比较器之间有一个红石导体,相隔的红石导体如果已被充能并且信号强度不少于15,红石比较器将将该信号强度作为输入,而不会检测受测目标的状态。
-
实际上,红石比较器可以最大存储2,147,483,647的信号强度,并能够通过检测命令方块或被命令修改的容器来接收高于15的信号。
检测容器
| 信号强度 | 容器与槽位数 | |||||
|---|---|---|---|---|---|---|
|
BlockSprite copper-chest-left.png:Minecraft中copper-chest-left的精灵图BlockSprite copper-chest-right.png:Minecraft中copper-chest-right的精灵图 |
||||||
| 1 | 3 | 5 | 9 | 27 | 54 | |
| 0 | 0个 | |||||
| 1 | 1个 | |||||
| 2 | 5个 | 14个 | 23个 | 42个 | 1组 60个 |
3组 55个 |
| 3 | 10个 | 28个 | 46个 | 1组 19个 |
3组 55个 |
7组 46个 |
| 4 | 14个 | 42个 | 1组 5个 |
1组 60个 |
5组 51个 |
11组 37个 |
| 5 | 19个 | 55个 | 1组 28个 |
2组 37个 |
7组 46个 |
15组 28个 |
| 6 | 23个 | 1组 5个 |
1组 51个 |
3组 14个 |
9组 42个 |
19组 19个 |
| 7 | 28个 | 1组 19个 |
2组 10个 |
3组 55个 |
11组 37个 |
23组 10个 |
| 8 | 32个 | 1组 32个 |
2组 32个 |
4组 32个 |
13组 32个 |
27组 |
| 9 | 37个 | 1组 46个 |
2组 55个 |
5组 10个 |
15组 28个 |
30组 55个 |
| 10 | 42个 | 1组 60个 |
3组 14个 |
5组 51个 |
17组 23个 |
34组 46个 |
| 11 | 46个 | 2组 10个 |
3组 37个 |
6组 28个 |
19组 19个 |
38组 37个 |
| 12 | 51个 | 2组 23个 |
3组 60个 |
7组 5个 |
21组 14个 |
42组 28个 |
| 13 | 55个 | 2组 37个 |
4组 19个 |
7组 46个 |
23组 10个 |
46组 19个 |
| 14 | 60个 | 2组 51个 |
4组 42个 |
8组 23个 |
25组 5个 |
50组 10个 |
| 15 | 1组 | 3组 | 5组 | 9组 | 27组 | 54组 |
-
红石比较器是一种用于检测容器当前状态的机制,它可以根据容器中物品的装满程度输出相应的红石信号。
-
可以被红石比较器检测的容器包括:熔炉、高炉、烟熏炉、酿造台、漏斗、在铁轨上的漏斗矿车、发射器、投掷器、箱子、陷阱箱、铜箱子、在铁轨上的运输矿车、木桶、大型箱子、大型陷阱箱、潜影盒,以及饰纹陶罐。
-
在检测大型箱子或大型陷阱箱时,红石比较器会对整个箱子的所有槽位(总共54个)进行检测,而不仅仅是后半部分。
-
在Java版中,如果一个箱子无法打开(可能因为上方有红石导体或有猫坐在其上),则红石比较器会始终认为其信号强度为0,而与箱子中物品的数量无关。
-
相对而言,潜影盒则是可以总是被检测的,即使在某种情况下不能被打开。
-
关于“容器信号强度所需最少物品数”的表格,它描述了各种容器中需要多少组物品才能输出特定的信号强度值,其中64个为1组。
-
表格中的数字“组”表示满叠物品所需的组数(不足1组则不列出),而“个”表示整叠物品以外所需的额外物品数量。
-
对于不可堆叠的物品,1个即算作1组。
-
举例来说,若仅依靠堆叠数为64的物品,需利用漏斗产生10强度的信号,则至少需要3组物品和14个,合计206个物品。
-
在容器为空的情况下,输入信号强度值为0;若不为空,则按照以下计算方法输入信号强度:
信号强度 = 向下取整[1 + (所有槽位的满度之和 / 槽位总数) × 14]。
-
其中,每个槽位的满度可以通过物品数与最大堆叠数之比来计算。
-
例如,若发射器中有300个可以堆叠到64的物品,其信号强度计算方式为:1 + ((300 / 64) / 9) × 14,这样得到的信号强度为8。
-
需要注意的是,不可堆叠的物品均被视为填满一个槽位,而最多堆叠16个的物品也会被认为填满该槽位。
-
如需根据信号强度值计算物品数量,可使用以下公式:
所需物品数 = max{目标信号强度 , 向上取整[ ( 容器总槽位数 × 64 / 14) × ( 目标信号强度 - 1 ) ] }。
-
例如,若希望通过熔炉(3个槽位)获得强度为9的信号,则需要110个物品进行计算:max( 9 , ( 3 × 64 / 14 ) × ( 9 - 1 ) ) = 109.714,向上取整得110。
- 蛋糕输出的信号强度取决于其剩余量。每片输出2强度,共7片,即完整蛋糕输出14强度。
命令方块
物品展示框-
-
红石比较器能够监测物品展示框内物品的旋转状态。
-
要正确检测物品展示框的状态,红石比较器需放置在其后方,并且主输入端必须朝向并紧贴物品展示框的附加方块。
-
若物品展示框内没有任何物品,红石比较器将输出0;当展示框内有物品时,输出值将根据物品的旋转角度变化,输出强度在1到8之间(1为默认方向,旋转后可达到8,再回到1)。
-
| 音乐唱片 | 信号强度 |
|---|---|
| (无音乐唱片) | 0 |
| 1 | |
| 2 | |
| 3 | |
| 4 | |
| 5 | |
| 6 | |
| 7 | |
| 8 | |
| 9 | |
| 9 | |
| 10 | |
| 10 | |
| 11 | |
| 11 | |
| 12 | |
| 12 | |
| 13 | |
| 13 | |
| 14 | |
| 14 | |
| 15 |
数据值
一、 ID
Java版:
| 名称 | 命名空间ID | 本地化键名 |
|---|---|---|
| comparator |
block.minecraft.comparator
|
| 名称 | 命名空间ID |
|---|---|
| comparator |
基岩版:
| 红石比较器 | 命名空间ID | 本地化键名 |
|---|---|---|
| unpowered_comparator |
tile.unpowered_comparator.name
|
|
| powered_comparator |
tile.powered_comparator.name
|
|
| comparator |
item.comparator.name
|
| 名称 | 命名空间ID |
|---|---|
| Comparator |
二、 方块数据
| 位 | 描述 |
|---|---|
| 0x1 0x2 |
一个值范围0到3的2位二进制值,储存红石比较器的朝向:
|
| 0x4 | 是否处于减法模式(前面的“红石火把”亮起)。 |
| 0x8 | 是否激活(任何信号强度)。 |
三、 方块状态
Java版:
| 方块 | 方块属性 | 默认值 | 接受值 | 描述 |
|---|---|---|---|---|
| facing | north | north | 方块朝向北方 | |
| south | 方块朝向南方 | |||
| west | 方块朝向西方 | |||
| east | 方块朝向东方 | |||
| mode | compare | compare | 红石比较器处于比较模式 | |
| subtract | 红石比较器处于减法模式 | |||
| powered | false | true | 方块接收到了红石信号 | |
| false | 方块未接收到红石信号 |
基岩版:

红石块
木按钮
石头按钮
磨制黑石按钮
木压力板
石头压力板
磨制黑石压力板
轻质测重压力板
重质测重压力板
幽匿感测体
红石火把
讲台
唱片机
避雷针
标靶
拉杆
校频幽匿感测体
绊线钩
阳光探测器
陷阱箱
侦测器
探测铁轨
红石粉
红石中继器
红石比较器
TNT矿车
铜灯
栅栏门
木门
铁门
铜门
木活板门
铁活板门
铜活板门
大型垂滴叶
红石灯
展示架
音符盒
钟
活塞
发射器
投掷器
合成器
漏斗
铁轨
动力铁轨
激活铁轨
TNT
羊毛
线
紫水晶块
红石矿石
黏液块
蜂蜜块
熔炉
堆肥桶
炼药锅
箱子
木桶
饰纹陶罐
雕纹书架
评论( {{ count }})条
{{ item.user_detail["nick_name"] }}
{{ item.user_detail["title"] }}
暂无内容