https://m.dcinside.com/board/factorio/102776


이 소형 다목적 다이소 만들다가 알아낸건데


만능(압축)다이소 만들때, 조립기계가 작동중 -> 투입기 작동 금지

라는 트릭을 쓰면 투입기가 필요한 양의 아이템만 넣도록 할수있음


근데 어이없지만 크리티컬한 포인트가 뭐냐면

"조립기계 작동중" 신호가 투입기에 도달하는 과정에

1틱의 딜레이가 반드시 필요함.


1틱 딜레이가 있을때 (정상작동) :

1. 제작이 끝나서 기계 안에 완성품이 놓이고, 조립기계 작동중 신호가 해제됨.

2. 기계 안의 완성품이 신호네트워크에 잡혀서, 조립기계의 제작법이 완성품의 제작법으로 설정됨 (정확히는, 제작법이 해제되지도 바뀌지도 않음)

3. 근데 1틱의 딜레이 덕분에, 조립기계 작동중 신호는 해제되었지만 아직 투입기에는 조립기계 작동중 신호가 남아있어서 재료를 투입하지는 않음.

4. 1틱 직후에 출력쪽 투입기가 아이템을 꺼냄으로써 완성품이 신호네트워크에서 빠지고, 텅 비어있는 상태로 조립기계의 제작법이 해제됨. (또는 다음으로 필요한 제작법으로 설정됨)


1틱 딜레이가 없을때 (비정상작동):

1, 2는 동일

3. 1틱 딜레이조차 없어서, 투입기가 조립기계 작동중 신호 해제를 즉시 감지하고 완성품의 재료를 다시 넣어버림.

4. 1틱 직후에 출력쪽 투입기가 완성품을 꺼내긴 하는데, 그럼 조립기계에는 그 완성품의 재료가 담긴 상태가 됨. (참고로, 제작법을 신호로 바꾸려면 조립기계 안에 아무것도 없어야됨)


그래서 결론이 뭐냐면

조립기계 작동중 신호를 입력쪽 투입기에 전해서 제어할때는

반드시 1틱의 딜레이를 줘야됨.

방법은 간단함. 산술연산 조합기로 1을 곱해서 출력하면 아무것도 변하는게 없지만 1틱 딜레이가 생기는걸 이용하면 됨.