ITEM COLLECTOR v18 — AUDIT / TEST BASIS

ตรวจสอบจากไฟล์ล่าสุดของผู้ใช้ latest(5).log:
- Minecraft 26.2 + Fabric Loader 0.19.5 โหลดสำเร็จ
- เวลา 13:52:41 พบ Item_Collector_26_2_FIXED_v16.zip และเริ่มโหลด
- เวลา 13:52:42 โหลด recipes/advancements ต่อและไม่พบ Failed to load function ของ item_collector หลัง v16 ถูกโหลด
- แต่ log ที่ส่งมาจบที่การ reload/save/disconnect และไม่มีหลักฐานว่าได้เห็นผลการเก็บของของ v16 ในคำสั่ง runtime

วิเคราะห์ v16 จากไฟล์ ZIP:
- collect.mcfunction ย้าย execution origin ไปยังมุมล่างของพื้นที่เก็บ
- collect_one.mcfunction ของ v16 ใช้ `execute ... at @s ... loot insert ~h ~v ~h ...`
- การใช้ `at @s` ภายในคำสั่งที่กำลังเปลี่ยน executor ไปเป็น Item Entity ทำให้ตำแหน่ง `~h ~v ~h` อ้างอิงจาก Item Entity ไม่ใช่จากมุมพื้นที่ของ Collector
- v16 ยังใช้ `execute store result ... run execute if items ... container.* *` ซึ่งได้ผลเป็นการตรวจสอบเงื่อนไข ไม่ใช่ยอดรวมจำนวน Item จึงไม่ใช่วิธีที่ปลอดภัยสำหรับคำนวณจำนวนที่โอน

แนวทาง v18:
- ใช้ตำแหน่งของ Collector เป็น insertion target เสมอ
- จำกัด source ให้เหลือ 1 ชิ้นก่อน /loot insert
- เก็บผลลัพธ์ของ /loot insert ด้วย `store result`
- ลบ/ลด source หลังสำเร็จเท่านั้น
- เมื่อ insert ไม่สำเร็จให้คืน source count เดิมและหยุด

สิ่งที่ตรวจแบบสแตติกในไฟล์ที่สร้าง:
- JSON parse ได้
- data pack format = 107.1
- macro command lines ที่ขึ้นต้นด้วย `$` มี `$(...)`
- ไม่มีไฟล์ fallback เก่าที่เสี่ยงคัดลอกกองเต็มซ้ำใน v18

ข้อจำกัด:
- ไม่ได้เปิด Minecraft Java 26.2 จริงในเครื่องสร้างไฟล์ จึงยังต้องยืนยันพฤติกรรมในเกมจริง


V18 PATCH NOTES
- Fixed missing `run` before nested `execute` on source-count update lines in merge_step.mcfunction.
- Uses integer Item.count values (1) matching the modern item-stack count representation.
- Preserves the v17 slot-source loot table design for item-entity contents.
