셜커 상자에는 정확히 한 묶음의 묶음이 들어간다
셜커 상자 하나에 64묶음이 들어가니, 꽉 찬 큰 상자 하나는 그 일부에 불과하다 — 그리고 레드스톤 타이밍에도 똑같은 함정이 있다.
셜커 상자는 27칸을 가지고, 한 칸에는 한 묶음이 들어가므로 꽉 찬 상자 하나는 27묶음이다 — 대부분의 플레이어가 제대로 아는 사실이지만, 조약돌로 가득 찬 상자를 상자에 옮겨 담으려는 순간 곧바로 잘못 사용하게 되는 사실이기도 하다.
묶음, 상자, 상자
변환 사슬은 순수한 곱셈이다. 그래서 머릿속으로 계산하기 쉽고, 동시에 틀리기도 쉽다:
| 컨테이너 | 칸 | 들어가는 묶음 |
|---|---|---|
| 셜커 상자 | 27 | 27 |
| 상자 | 27 | 27 |
| 큰 상자 | 54 | 54 |
따라서 큰 상자 하나는 정확히 셜커 상자 두 개와 같다. "대략 두 개"가 아니다. 돌로 가득 찬 큰 상자를 운반한다면 상자 두 개가 필요하고 남는 것이 없어야 한다 — 단, 모든 칸이 겹칠 수 있는 아이템의 꽉 찬 묶음일 때만 그렇다.
계산이 깨지는 지점
묶음 크기는 아이템마다 다르고, 계산기의 존재 이유는 64라고 가정하지 않는 것이다. 엔더 진주 한 칸에는 16개가, 양동이 한 칸에는 하나가 들어간다. 겹칠 수 없는 아이템으로 셜커 상자를 채우면 27묶음이 아니라 27개가 들어간다. 상자는 상관하지 않는다. 네 산수가 상관할 뿐이다.
이것은 비교기 정렬을 낚아채는 것과 같은 함정이다: 양동이로 가득 찬 컨테이너는 거의 아무것도 담지 않았으면서도 가득 찬 것으로 읽힌다.
레드스톤 틱은 게임 틱이 아니다
타이밍은 이 도구의 나머지 절반이다. 레드스톤은 자체 시계로 움직인다:
1 redstone tick = 2 game ticks
1 game tick = 1/20 second
따라서 1틱으로 설정한 리피터는 신호를 2게임 틱, 즉 0.1초 지연시킨다. 4틱 리피터는 8게임 틱이다. 충분히 많이 연결하면 그 지연은 보이기 전에 들린다.
피스톤, 관측기, 비교기는 각자 자신의 일정에 따라 반응하며, 이들을 섞으면 문이 두 번 작동하게 만드는 오프바이원 오류가 생긴다.
Java와 Bedrock은 갈라진다
위의 틱 비율은 두 에디션 모두 동일하지만, 레드스톤 동작은 그렇지 않다. 피스톤이 두 칸 떨어진 블록에 의해 작동되게 하는 준연결성(quasi-connectivity)은 Java에는 있고 Bedrock에는 없다. 제로틱 펄스와 인접 컴포넌트의 정확한 업데이트 순서도 다르다. Java에서 1틱 너무 빠른 회로가 Bedrock에서는 아예 작동하지 않을 수 있다.
반대 방향으로 작업하기
아이템에서 상자로 가는 것은 나머지가 있는 나눗셈이며, 그 나머지가 인벤토리를 낭비하게 만든다. 상자당 27묶음이라는 것은 부분적으로 채워진 상자가 보통 올림한 값이 아니라 진짜 답이라는 뜻이다.
아이템 개수를 묶음, 상자, 셜커 상자로 바꾸고 — 회로의 지연을 게임 틱, 레드스톤 틱, 초 사이로 변환하려면 — 묶음 & 레드스톤 계산기를 사용하라.