1.5 KiB
1.5 KiB
채굴 실패 시 제외 좌표 반복 버그 수정 계획
문제 재현/관찰
mine_resource에서 실패한 타일을failed_positions에 추가한 뒤 Lua에exclude테이블로 전달하지만, 다음 시도에서도 동일 좌표(예:388,2)로 다시 이동하는 로그가 발생합니다.
원인 후보
- Lua에서 제외 판정에 쓰는 좌표 키가
string.format("%.0f,%.0f", ...)기반인 반면, Python에서exclude["{fx:.0f},{fy:.0f}"]를 만들 때 반올림/절삭 방식이 Lua와 1:1로 일치하지 않는 케이스가 있을 수 있습니다. - 이 경우
exclude[key]가 항상 false가 되어, Lua가 “가장 가까운 광석”을 계속 같은 엔티티로 반환할 수 있습니다.
변경 목표
failed_positions를 “Lua 키 생성과 동일한 정수 타일 좌표(tx, ty)”로만 저장합니다.- Lua에서 후보 광석 엔티티를 검사할 때도 정수 타일 좌표를 계산해 키/반환/마이닝 좌표에 일관되게 사용합니다.
- 그 결과, 제외한 좌표는 다음 루프에서 절대로 다시 선택되지 않도록 보장합니다.
구현 범위
action_executor.pymine_resource내부에서 좌표 처리 로직을 정수 타일 기반으로 통일- Lua 반환값을
tx,ty정수 문자열로 변경하고 Python 파싱을 이에 맞춤
README 업데이트 계획
- 채굴 제외(exclude) 로직이 “정수 타일 키 기반으로 통일”되도록 README의 기술/동작 설명(또는 체크리스트)을 업데이트합니다.