Força de sinal de comparadores em contêineres: a fórmula e a armadilha do tamanho de pilha
Um baú com um item emite sinal 1, mas um baú com sessenta e três também. A fórmula explica o porquê — e por que caixas de Shulker e baldes quebram qualquer cálculo que você tinha.
Ler um contêiner com um comparador é a base da maioria dos sistemas de redstone de separação de itens e fabricação automática. A fórmula é curta, e todas as peculiaridades vêm dela.
A fórmula
signal = floor(1 + (sum of fullness across slots ÷ number of slots) × 14)
em que o preenchimento de cada slot é items in slot ÷ max stack size for that item.
O 1 + é a parte importante: qualquer conteúdo diferente de zero produz pelo menos sinal 1, e um contêiner vazio é 0. É por isso que detectar "tem alguma coisa aqui dentro" é trivial, e detectar "exatamente quanto" não é.
Por que um item e sessenta e três dão 1
Um baú duplo tem 54 slots. Uma pilha de 64 pedregulhos preenche um slot por completo:
1 + (1 ÷ 54) × 14 = 1 + 0.259 = 1.259 → floor = 1
Você precisa de quatro pilhas cheias antes que a saída chegue a 2. O clássico detector de item único funciona porque 1 é o piso para qualquer conteúdo, não porque ele mede um item.
O tamanho da pilha muda tudo
max stack size é por item, e é aqui que os cálculos quebram:
| Item | Pilha | Um item dá |
|---|---|---|
| Pedregulho | 64 | 1/64 de um slot |
| Pérola de Ender | 16 | 1/16 |
| Balde cheio, carrinho de mina, barco | 1 | um slot inteiro |
Nos cinco slots de um funil, um item não empilhável — um balde de água, um carrinho de mina — conta como um quinto cheio: sinal 3, enquanto um pedregulho dá 1. Quatro deles dão 12. É por isso que itens não empilháveis são a forma padrão de avançar um contador em incrementos grandes e previsíveis. (Um balde vazio empilha até 16, então não funciona da mesma forma.)
Caixas de Shulker não são transparentes
Um comparador que lê um baú contendo uma caixa de Shulker enxerga a caixa como um item ocupando um slot. Ele não vê o que há dentro. Sistemas de separação que assumem o contrário contam errado silenciosamente.
Leituras de comparador que não envolvem contêineres
O mesmo comparador também lê:
| Bloco | Sinal |
|---|---|
| Caldeirão | 0–3 conforme o nível de água |
| Composteira | 0–8 conforme o estágio de preenchimento |
| Bolo | 14 até 0 por fatia consumida |
| Moldura de item | 1–8 conforme a rotação |
| Toca-Discos | 1–15 conforme o disco |
| Atril | 1–15 conforme o quão avançada está a página aberta no livro |
| Colmeia artificial | 0–5 conforme o nível de mel |
| Moldura do Portal do End | 15 com olho, 0 sem |
Molduras de item e atris são os mais úteis para interruptores escondidos, porque eles leem através de uma parede.
Modo subtração
A tocha da frente acesa significa modo subtração: a saída é o sinal traseiro menos o lateral, com piso em 0. O modo comparação (tocha apagada) deixa passar o sinal traseiro apenas se ele for pelo menos tão forte quanto o lateral mais forte.
Insira o conteúdo de um contêiner e obtenha o sinal exato, incluindo tamanhos de pilha mistos, em Referência e Calculadoras — Conjunto 2.