本站文本内容除另有声明外,转载时均必须注明出处,并遵守CC BY-NC-SA 3.0协议。(转载须知
本站是中文Minecraft Wiki的镜像站,与Mojang AB、Gamepedia没有从属关系。(免责声明

红石比较器

来自Minecraft WIKI
跳到导航 跳到搜索
页面贡献者 :
中文mcwiki机器人
红石比较器
Redstone Comparator (Inactive).gif
Redstone Comparator (Active).gif
透明

亮度

0

爆炸抗性

0

硬度

0

工具

任何工具

可再生

是‌‌[新增:JE 1.16BE 1.16.0]

可堆叠

是(64)

可燃尽

可被熔岩点燃

掉落物
方块实体ID

数据值

数据值

数据值

命名空间ID

数据值

红石比较器(Redstone Comparator)是能使红石信号保持、比较、作差或检测特定方块状态(主要是容器装载量)的红石元件方块

获取

挖掘键破坏比较器。红石比较器可以用任何工具破坏,并掉落自身物品。

红石比较器在下列情况也会掉落为物品:

  • 附着方块移动、移除或被破坏;
  • 流过‌‌[仅Java版]
  • 活塞试图推动它或将方块推入其位置。

熔岩流过其位置,红石比较器会被破坏但不会掉落物品。

合成

材料 合成配方
红石火把 +
下界石英 +
石头

用途

红石比较器可以放置在任何不透明全体积固体方块(包括倒台阶楼梯)以及漏斗上。在基岩版,还可以放置在玻璃、石墙、栅栏和炼药锅上。按放置方块放下红石比较器。

红石比较器有前后之分——上部的三角指向的是前方。放下比较器时,比较器的后方(即输入侧)朝向玩家。比较器上后侧有两根小红石火把,靠前端则有一根。当输入比较器的信号大于零时,后侧的火把会变亮,三角也会变红。前端火把的状态可以由使用物品键切换:

  • 关闭、熄灭(指示比较器处于“比较模式”),
  • 打开、亮起(指示比较器处于“作差模式”)。

红石比较器可以从后侧及边侧(左右侧)接受信号。边侧输入只能从红石块红石粉红石中继器和其他比较器接收。红石比较器的前侧是输出端。

红石比较器输出信号时,后侧的两个小火把会亮起,否则熄灭。

信号经过红石比较器需要1红石刻(2游戏刻或不考虑游戏卡顿为0.1秒),不论输入端是前侧还是边侧。输入信号强度发生改变或输入信号有无的转变也是这样。仅1刻的输入信号变化红石比较器通常不会有反应——例如单刻脉冲的发生器在边侧输入时会被认为总是无信号,在后侧输入则认为是保持开启。

红石比较器有四大用途:保持信号强度、比较信号强度、信号强度作差以及检测方块的状态(主要为容器的装载量)。

保持信号强度

红石比较器边侧没有输入时,输出的信号强度与后侧输入的强度相同。

比较信号强度

比较模式的比较器。

红石比较器处于比较模式时(前侧火把关闭)会将后侧输入与边侧的输入比较。若有任意边侧输入大于后侧输入,比较器输出关闭。若两边侧都不大于后侧输入,则比较器仅会输出与后侧相同的信号强度。

公式输出 = 后侧 × (左侧 <= 后侧 AND 右侧 <= 后侧)

信号强度作差

红石比较器处于作差模式(前侧火把打开)时,输出信号强度等于后侧输入信号与两边侧中较强的信号强度之差(最小为0)。

公式输出 = max(后侧 - max(左侧, 右侧), 0)

例如,如果信号强度在左侧输入处为6,在右侧输入处为7,在后侧为4,则输出信号的强度为 max(4 - max(6, 7), 0) = max(4-7, 0) = max(-3, 0) = 0。

如果信号强度在后侧为9,在右侧输入为2,在左侧输入为5,则输出信号的强度为 max(9 - max(2, 5), 0) = max(9-5, 0) = 4。

检测方块状态

红石比较器可以检测箱子的装载量,以及其他方块的状态,甚至能透过方块检测。

红石比较器会将后方特定的方块看做电源并将对应的强度作为输入信号。比较器与受测方块之间可以被一个实体方块隔离。

实际上,比较器后方毗邻方块的装载量优先级最高。后方实体方块后的方块装载量又优先于其他红石信号。但在Java版中由于MC-64394,若其他红石信号为15等级,比较器的输出会为15等级而不检测方块的状态。

另外,比较器实际上最大可以寄存2,147,483,647的信号强度,可以通过检测命令方块或检测使用命令修改过的容器来获得大于15的信号。

容器

容器信号强度所需最少物品
信号
强度
容器与物品栏数








3 5 9 27 54
0 0个 0个 0个 0个 0个
1 1个 1个 1个 1个 1个 "13"
2 14个 23个 42个 1组
60个
3组
55个
"cat"
3 28个 46个 1组
19个
3组
55个
7组
46个
"blocks"
4 42个 1组
5个
1组
60个
5组
51个
11组
37个
"chirp"
5 55个 1组
28个
2组
37个
7组
46个
15组
28个
"far"
6 1组
5个
1组
51个
3组
14个
9组
42个
19组
19个
"mall"
7 1组
19个
2组
10个
3组
55个
11组
37个
23组
10个
"mellohi"
8 1组
32个
2组
32个
4组
32个
13组
32个
27组 "stal"
9 1组
46个
2组
55个
5组
10个
15组
28个
30组
55个
"strad"
10 1组
60个
3组
14个
5组
51个
17组
23个
34组
46个
"ward"
11 2组
10个
3组
37个
6组
28个
19组
19个
38组
37个
"11"
12 2组
23个
3组
60个
7组
5个
21组
14个
42组
28个
"wait"
13 2组
37个
4组
19个
7组
46个
23组
10个
46组
19个
"pigstep"
14 2组
51个
4组
42个
8组
23个
25组
5个
50组
10个
15 3组 5组 9组 27组 54组
用于检测容器的比较器。

用于检测容器状态的红石比较器会根据物品装满的程度输出对应信号(空为0,满为15,以此类推)。

下列容器可以被比较器检测:

当比较器检测大箱子或大陷阱箱时,比较器会检测整个大箱子(54个槽位),而不只是比较器后方的那半个。不能打开的箱子(无论是因为上方有实体方块还是有豹猫在上方)总会使比较器被认为信号为0,不受其中物品数量的影响。而潜影箱总是可以被检测的,即使无法打开。

右边的容器信号强度所需最少物品表格展示了各容器中,64为1组的物品需要多少组才能输出指定的信号强度值。“组”前的数字表示满叠的物品需要组数(不需要1组则不显示),“个”前的数字表示整叠物品以外需要的物品数量(没有零头时不显示)。对于只能堆叠到16个的物品(雪球告示牌末影珍珠等),“个”前的数字除以4向上取整就可以适用。对于不可堆叠的物品,一个就相当于一组。

例如,假设全部使用堆叠数为64的物品,需要依靠漏斗产生10强度的信号需要至少3组又14个物品,一共206个。

已知物品数量,求输入信号强度值
容器空时,输入0。
容器不为空时,输入按下列计算:
信号强度 = 向下取整[1 + (所有槽位的满度之和 / 槽位总数) * 14]
一个槽位的满度 = 该槽位的物品数 / 此类物品最大堆叠数
示例:发射器(共9个槽位)中有300方块,这种方块最大堆叠至64,产生信号强度为8:

1 + ((300物品 / 64最大堆叠数) / 9个槽位) * 14 = 8.292,下取整得8。

注意不可堆叠的物品总被认为充满一个槽位(1物品,1最大堆叠数:1 / 1 = 1.0),最多堆叠到16的物品(例如末影珍珠、雪球或鸡蛋)也类似地看作16即为充满。
已知信号强度值,求物品数量
这对于利用比较器与容器配合来输出特定强度来说是有用的。输出特定信号强度所需物品数量用如下算法计算:
所需物品数 = max{目标信号强度 , 向上取整[ ( 容器总槽位数 * 64 / 14) * ( 目标信号强度 - 1 ) ] }
示例:利用熔炉(3物品栏)来创造强度为9的信号,你需要110物品:

max( 9 , ( 3 * 64 / 14 ) * ( 9 - 1 ) ) = 109.714,上取整为110。

其他

一些非容器的方块也可以被比较器检测:

蛋糕
蛋糕输出的信号强度取决于蛋糕剩余量。每片输出2强度,总共有7片,也就是说完整蛋糕输出14强度。
炼药锅的信号强度。
炼药锅
炼药锅输出的信号强度取决于水量。从完全无水到完全充满,输出分别为0、1、2与3。
堆肥桶的信号强度。
堆肥桶
堆肥桶输出的信号强度依赖于堆肥桶的堆肥层数,每有一层增加一格信号。从完全没有到完全充满,输出分别为0到8。
命令方块
命令方块存储最后执行的命令的“成功次数”,表示此命令方块最近执行成功命令的次数。“成功”的定义由命令的成功条件决定:如果聊天界面显示红色错误信息,那么命令执行不成功。
大多数命令每次执行只能成功一次,但特定命令(例如将玩家作为参数的命令)可以成功多次,比较器会输出全部的成功数(可以超过15)。
命令方块持续存储最后执行的命令的成功数,直到再次执行命令。因此比较器会持续输出同一信号强度,即使命令方块已经不在激活状态(命令方块关闭不影响比较器开关)。
末地传送门框架
末地传送门框架有末影之眼的时候输出满强度15,若非则0。
比较器可以检测物品展示框的物品是否存在及其方向。
物品展示框
比较器可以检测物品展示框的内含物状态。若要检测展示框的状态,比较器必须连接在展示框附着方块的后方,并背侧朝方块。若展示框内无物品,则输出0,此外则根据物品旋转角度为1至8强度(1为默认方向,右击旋转直到8,然后再返回1)。
唱片机
唱片机输出的信号取决于正在播放的唱片。对应关系请见上方的容器信号强度所需最少物品表格。
讲台
讲台输出的信号强度取决于当前玩家打开书的页码(例如一本有15页的书每翻一页提升1信号强度,或5页的书每翻一页提升3强度)。
蜂巢蜂箱
蜂巢和蜂箱会输出与其honey_level值相同强度的红石信号。
重生锚
取决于重生锚的能量:1级能量对应3级信号,2级能量对应7级信号,3级能量对应11级信号,4级能量对应15级信号。

数据值

ID

Java版

名称命名空间ID翻译关键字
红石比较器comparator block.minecraft.comparator
名称命名空间ID
方块实体comparator

基岩版

红石比较器命名空间ID数字ID翻译关键字
不输出信号unpowered_comparator 149tile.unpowered_comparator.name
输出信号powered_comparator 150tile.powered_comparator.name
物品comparator 404item.comparator.name
名称命名空间ID
方块实体Comparator

方块数据

参见:基岩版数据值

在基岩版中,红石比较器的方块数据指定其朝向、模式和激活状态。

位元
0x1
0x2
一个两位字段存储从0到3的值,指定红石比例器的朝向:
  • 0:朝北。
  • 1:朝东。
  • 2:朝南。
  • 3:朝西。
0x4 在减法模式(前面的“红石火把”发亮)设置此位元。
0x8 处于激活状态(任何信号强度)时设置此位元。

方块状态

参见:方块状态
名称 默认值 接受值 描述
facingnorthnorth
south
east
west
从比较器的“输出”侧到“输入”侧的方向,
即放置比较器时玩家背对的方向。
modecomparecompare
subtract
指定红石比较器的当前模式。
poweredfalsetrue
false
如果红石比较器被激活,则为true。

方块实体

参见:方块实体格式

红石比较器具有与其相关联的方块实体,它保存关于此方块的附加数据。红石比较器的方块实体ID为comparator

视频

历史

Java版
2012年11月24日Jeb表示可能会在Minecraft中加入一个“电容器”。
2012年12月27日Dinnerbone发布了的原始版本的“比较器”的图片,并表明它将替代“电容器”,其中有可变化、交替的输入。
2013年1月2日Dinnerbone又发布了一张关于比较器的图片。图片中显示了一个数模转换器,其中使用比较器作为主要的方块。
1.513w01a
生成缩略图出错:无法找到文件
生成缩略图出错:无法找到文件
生成缩略图出错:无法找到文件
生成缩略图出错:无法找到文件
加入了红石比较器,延迟为0。
13w01b在比较器中加入了1个游戏刻(12)的延迟以修复漏洞。
加强了红石比较器检测容器的能力。
13w02aRedstone Comparator JE2 BE1.png
生成缩略图出错:无法找到文件
生成缩略图出错:无法找到文件
生成缩略图出错:无法找到文件
更新了红石比较器的材质,将石英显示在其中间。
更改了红石比较器检测容器的算法,容器中有一个物品时比较器就会输出的信号。
13w02b比较器现在将大箱子判定为一个容器。
13w03a现在当命令方块执行命令成功后,比较器会发出信号。
比较器现在在探测铁轨上检测容器矿车
13w04a比较器现在可以检测唱片机
13w05a比较器现在不再不断地使方块更新,延迟保持一致,从侧面的输入不再导致脉冲输出。
现在不再使用方块150(powered_comparator);方块149(unpowered_comparator)的激活状态现在是8秒。
13w05b比较器延迟从1个游戏刻(1/2红石刻)更改为2个游戏刻(1个红石刻)。
红石比较器的延迟更改为1红石刻。
13w09c现在装有3个水瓶的酿造台旁边的红石比较器的信号强度与装有3个水瓶1种成分的酿造台相同。
1.613w18a红石比较器现在能检测末地传送门框架炼药锅了。
1.7.213w37a方块 149 (unpowered_comparator) 和 150 (powered_comparator)的物品形式被移除了。
1.814w04a红石比较器现在能检测物品展示框了。
14w28a红石比较器现在能检测蛋糕了。
1.915w42a为酿造台添加了烈焰粉燃料槽后,有5个储存槽位而不是4个。与原来的输出信号值对比如下所示:
15w47a现在红石比较器可以输入红石块的红石信号。
1.1317w47a红石比较器的3个ID被合并成一个ID:comparator
比较器现在渲染底面。
扁平化之前,这些方块的数字ID是149和150,物品的是404。
1.1418w43aRedstone Comparator JE3 BE2.pngActive Redstone Comparator.pngSubtracting Redstone Comparator JE3 BE2.pngActive Subtracting Redstone Comparator JE3 BE2.png 更改了比较器的材质。
19w02a比较器现在可以检测讲台
19w03a比较器现在可以检测堆肥桶
1.1519w34a比较器现在可以检测蜂巢蜂箱中的蜂蜜储存量。
Java版(即将到来)
1.1620w06a现在更改了计算红石比较器输入信号的方式。
20w07a由于下界石英可以通过与猪灵以物易物来获得,红石比较器成为可再生资源。
20w11a现在还原了20w06a中对红石比较器输入信号的计算方式的更改。
20w12a比较器现在可以检测重生锚的能量。
携带版(Alpha)
0.14.0build 1Redstone Comparator JE2 BE1.png
生成缩略图出错:无法找到文件
生成缩略图出错:无法找到文件
生成缩略图出错:无法找到文件
加入了红石比较器。
携带版
1.0.0alpha 0.17.0.1比较器现在可以检测末地传送门框架
1.0.5alpha 1.0.5.0现在当命令方块执行命令成功后,比较器会发出信号。
1.1.0alpha 1.1.0.0比较器现在可以检测潜影贝
基岩版
1.2.0beta 1.2.0.2比较器现在可以检测唱片机
1.10.0beta 1.10.0.3Redstone Comparator JE3 BE2.pngActive Redstone Comparator.pngSubtracting Redstone Comparator JE3 BE2.pngActive Subtracting Redstone Comparator JE3 BE2.png 更改了比较器的材质。
1.11.0beta 1.11.0.1比较器现在可以检测烟熏炉高炉讲台堆肥桶
原主机版
TU19CU71.12Patch 1Redstone Comparator JE2 BE1.png
生成缩略图出错:无法找到文件
生成缩略图出错:无法找到文件
生成缩略图出错:无法找到文件
加入了红石比较器。
TU31CU191.22Patch 3红石比较器现在能检测物品展示框了。
1.90Redstone Comparator JE3 BE2.pngActive Redstone Comparator.pngSubtracting Redstone Comparator JE3 BE2.pngActive Subtracting Redstone Comparator JE3 BE2.png 更改了比较器的材质。
New Nintendo 3DS版
0.1.0Redstone Comparator JE2 BE1.png
生成缩略图出错:无法找到文件
生成缩略图出错:无法找到文件
生成缩略图出错:无法找到文件
加入了红石比较器。

漏洞

关于“红石比较器”的漏洞由漏洞追踪器维护,请在此汇报漏洞。