Template:BlockTileEntity
红石比较器(Redstone Comparator)是能使红石信号保持、比较、作差或检测特定方块状态(主要是容器满度)的红石元件方块。
获取
按挖掘键破坏比较器。红石比较器可以用任何工具破坏,并掉落自身物品。
红石比较器在下列情况也会掉落为物品:
若熔岩流过其位置,红石比较器会被破坏但不会掉落物品。
合成
| 名称 | 材料 | 合成配方 | 描述 |
|---|---|---|---|
| 红石比较器 | 红石火把 + 下界石英 + 石头 |
只能用石头,变种不可接受。 | |
| 红石比较器 | 红石火把 + 下界石英 + 任意石头 |
石头变种可任意调换。 |
用途
红石比较器可以放置在任何不透明全体积固体方块(包括倒台阶与楼梯)以及漏斗上。在基岩版,还可以放置在玻璃、石墙、栅栏和炼药锅上。按放置方块键放下红石比较器。
红石比较器有前后之分——上部的三角指向的是前方。放下比较器时,比较器的后方(即输入侧)朝向玩家。比较器上后侧有两根小红石火把,靠前端则有一根。当输入比较器的信号大于零时,后侧的火把会变亮,三角也会变红。前端火把的状态可以由使用物品键切换:
- 关闭、冻结(指示比较器处于“比较模式”),
- 打开、激活(指示比较器处于“作差模式”)。
红石比较器可以从后侧及边侧(左右侧)接受信号。边侧输入只能从红石块、红石粉、红石中继器和其他比较器接收。红石比较器的前侧是输出端。
信号经过红石比较器需要1红石刻(2游戏刻或不考虑游戏卡顿为0.1秒),不论输入端是前侧还是边侧。输入信号强度发生改变或输入信号有无的转变也是这样。仅1刻的输入信号变化红石比较器通常不会有反应——例如单刻脉冲的发生器在边侧输入时会被认为总是无信号,在后侧输入则认为是保持开启。
红石比较器有四大用途:保持信号强度、比较信号强度、信号强度作差以及检测方块状态(主要为容器的满度)。
保持信号强度
红石比较器边侧没有输入时,输出的信号强度与后侧输入的强度相同。
比较信号强度
比较模式的比较器。
红石比较器处于比较模式时(前侧火把关闭)会将后侧输入与边侧的输入比较。若有任意边侧输入大于后侧输入,比较器输出关闭。若两边侧都不大于后侧输入,则比较器仅会输出与后侧相同的信号强度。
信号强度作差
红石比较器处于作差模式(前侧火把打开)时,输出信号强度等于后侧输入信号与两边侧中较强的信号强度之差(最小为0)。
例如,若后侧输入信号强度7,左侧输入2,右侧为4,那么输出则为3信号强度,即7 - max(2,4) = 3。
检测方块状态
红石比较器会将后方特定的方块看做电源并根据方块的状态输出对应信号。比较器与受测方块之间可以被一个固体方块隔离。但在Java版中由于MC-64394,若这个固体方块被充能到15等级,比较器的输出会为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个 |
“melohi” | |
| 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个 |
— | |
| 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即为充满。
- 已知信号强度值,求物品数量
- 这对于利用比较器与容器配合来输出特定强度来说是有用的。输出特定信号强度所需物品数量用如下算法计算:
所需物品数 = 取较大{目标信号强度,向上取整[(容器总格数 * 64 / 14) * (目标信号强度 - 1)]}
- 示例:利用熔炉(3物品栏)来创造强度为9的信号,你需要110物品:
取较大(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)。
- 唱片机输出的信号取决于正在播放的唱片。对应关系请见上方的容器信号强度所需最少物品表格。
数据值
ID
红石比较器/ID
方块数据
在基岩版中,红石比较器的方块数据指定其朝向、模式和激活状态。
| 位元 | 值 |
|---|---|
| 0x1 0x2 |
一个两位字段存储从0到3的值,指定红石比例器的朝向:
|
| 0x4 | 在减法模式(前面的“红石火把”发亮)设置此位元。 |
| 0x8 | 处于激活状态(任何信号强度)时设置此位元。 |
方块实体
红石比较器具有与其相关联的方块实体值,它保存关于此方块的附加数据。红石比较器的方块实体ID为comparator。
- 方块实体数据
- 方块实体共通标签
- OutputSignal:表示此红石比较器的模拟信号输出强度。
基岩版:
- 方块实体数据
- 方块实体共通标签
- OutputSignal:表示此红石比较器的模拟信号输出强度。
方块状态
| 名称 | 默认值 | 接受值 | 描述 |
|---|---|---|---|
| facing | north | northsoutheastwest | 从比较器的“输出”侧到“输入”侧的方向, 即放置比较器时玩家背对的方向。 |
| mode | compare | comparesubtract | 指定红石比较器的当前模式。 |
| powered | false | truefalse | 如果红石比较器被激活,则为true。 |
基岩版:
红石比较器和激活的红石比较器:
| 名称 | 默认值 | 接受值 | 描述 |
|---|---|---|---|
| direction | 0 | 0—3 | 从比较器的“输出”侧到“输入”侧的方向, 即放置比较器时玩家背对的方向。
|
| output_subtract_bit | false | truefalse | 指定红石比较器的当前模式。 |
| output_lit_bit | false | truefalse | 在不使用命令放置这两个方块的情况下,如果不是激活的红石比较器,则为false,如果是激活的红石比较器,则为true。 |
历史
| Java版 | |||||||
|---|---|---|---|---|---|---|---|
| 2012年11月24日 | Jeb表示可能会在Minecraft中加入一个“电容器”。 | ||||||
| 2012年12月27日 | Dinnerbone发布了的原始版本的“比较器”的图片,并表明它将替代“电容器”,其中有可变化、交替的输入。 | ||||||
| 2013年1月2日 | Dinnerbone又发布了一张关于比较器的图片。图片中显示了一个数模转换器,其中使用比较器作为主要的方块。 | ||||||
| 1.5 | 13w01a | File:Redstone Comparator Revision 1.png | |||||
| 13w01b | 在比较器中加入了1个游戏刻(1⁄2)的延迟以修复漏洞。 | ||||||
| 加强了红石比较器检测容器的能力。 | |||||||
| 13w02a | |||||||
| 更改了红石比较器检测容器的算法,容器中有一个物品时比较器就会输出的信号。 | |||||||
| 13w02b | 比较器现在将大箱子判定为一个容器。 | ||||||
| 13w03a | 现在当命令方块执行命令成功后,比较器会发出信号。 | ||||||
| 比较器现在在探测铁轨上检测容器矿车。 | |||||||
| 13w04a | 比较器现在可以检测唱片机。 | ||||||
| 13w05a | 比较器现在不再不断地使方块更新,延迟保持一致,从侧面的输入不再导致脉冲输出。 | ||||||
现在不再使用方块150(powered_comparator);方块149(unpowered_comparator)的激活状态现在是8秒。 | |||||||
| 13w05b | 比较器延迟从1个游戏刻(1/2红石刻)更改为2个游戏刻(1个红石刻)。 | ||||||
| 红石比较器的延迟更改为1红石刻。 | |||||||
| 13w09c | 现在装有3个水瓶的酿造台旁边的红石比较器的信号强度与装有3个水瓶1种成分的酿造台相同。 | ||||||
| 1.6 | 13w18a | 红石比较器现在能检测末地传送门框架和炼药锅了。 | |||||
| 1.7.2 | 13w37a | 方块 149 (unpowered_comparator) and 150 (powered_comparator)的物品形式被移除了。 | |||||
| 1.8 | 14w04a | 红石比较器现在能检测物品展示框了。 | |||||
| 14w28a | 红石比较器现在能检测蛋糕了。 | ||||||
| 1.9 | 15w42a | 为酿造台添加了烈焰粉燃料槽后,有5个储存方格而不是4个。与原来的输出信号值对比如下所示:
| |||||
| 15w47a | 现在红石比较器可以输入红石块的红石信号。 | ||||||
| 1.13 | 17w47a | 红石比较器的3个ID被合并成一个ID:comparator。 | |||||
| 比较器现在渲染底面。 | |||||||
| 在扁平化这些方块的数字ID是149和150,物品的是404。 | |||||||
| 1.14 | 18w43a | File:Texture Update Comparator Off.pngFile:Texture Update Comparator On.png 更改了比较器的材质。 | |||||
| 19w02a | 比较器现在可以检测讲台。 | ||||||
| 19w03a | 比较器现在可以检测堆肥桶。 | ||||||
| 携带版Alpha | |||||||
| 0.14.0 | build 1 | 加入了红石比较器。 | |||||
| 携带版 | |||||||
| 1.0.0 | alpha 0.17.0.1 | 比较器现在可以检测末地传送门框架。 | |||||
| 1.0.5 | alpha 1.0.5.0 | 现在当命令方块执行命令成功后,比较器会发出信号。 | |||||
| 1.1.0 | alpha 1.1.0.0 | 比较器现在可以检测潜影贝。 | |||||
| 基岩版 | |||||||
| 1.2.0 | beta 1.2.0.2 | 比较器现在可以检测唱片机。 | |||||
| 1.11.0 | beta 1.11.0.1 | 比较器现在可以检测烟熏炉、高炉、讲台和堆肥桶。 | |||||
| 原主机版 | |||||||
| TU19 | CU7 | 1.12 | Patch 1 | 加入了红石比较器。 | |||
| TU31 | CU19 | 1.22 | Patch 3 | 红石比较器现在能检测物品展示框了。 | |||
| New Nintendo 3DS版 | |||||||
| 0.1.0 | 加入了红石比较器。 | ||||||
漏洞
Template:Issue list