ITEM COLLECTOR — MINECRAFT JAVA 26.2 — FIXED v18

จุดประสงค์
- Collector ใช้ Chest, Trapped Chest หรือ Barrel ตามระบบเดิม
- ใส่ Eye of Ender ใน Item Frame หรือ Glow Item Frame ที่ติดตรงเหนือกล่อง
- เก็บ Item Entity ภายในพื้นที่แนวนอนตามค่า horizontal และแนวตั้ง ±vertical
- ค่าเริ่มต้น horizontal=16, vertical=8
- ไม่มี Hopper

สิ่งที่แก้ใน v18
1) แก้จุดผิดของ v16 ที่ /loot insert ถูกสั่งด้วย `at @s` ทำให้จุดหมายย้ายไปตำแหน่ง Item Entity แทนกล่อง
2) เปลี่ยนจากการคัดลอกทั้งกองเป็นการโอนทีละ 1 ชิ้น
3) ใช้ `/loot insert` เพื่อให้เกมจัดการการรวม Stack แบบ Container insertion
4) ลดจำนวนใน Item Entity เฉพาะเมื่อการใส่ 1 ชิ้นสำเร็จ
5) หากกล่องเต็มหรือรับของไม่ได้ จะคืนจำนวนเดิมและหยุด โดยไม่ลบ/สร้างของซ้ำ
6) รองรับขนาด Stack จริงของเกม/ม็อดได้ดีกว่าการสมมติว่าเป็น 64 เพราะโอนทีละชิ้น

วิธีติดตั้ง
ใส่ ZIP นี้ใน:
.minecraft/saves/<ชื่อโลก>/datapacks/
จากนั้นเข้าโลกและใช้ /reload

วิธีสร้าง Collector
Chest (หรือ Trapped Chest/Barrel)
Item Frame / Glow Item Frame ติดด้านบนโดยตรง
ใส่ Eye of Ender ในกรอบ

คำสั่งช่วยเหลือ
/function item_collector:status
/function item_collector:help
/function item_collector:config/horizontal {value:24}
/function item_collector:config/vertical {value:12}
/function item_collector:config/particles_on
/function item_collector:config/particles_off
/function item_collector:config/reset

หมายเหตุการทดสอบ
ระบบนี้โฟกัสความถูกต้องของการรวม Stack และป้องกันการหาย/การเกิดของซ้ำ การโอนทีละชิ้นใช้คำสั่งมากกว่าวิธีคัดลอกทั้งกอง แต่ทำให้จำนวนที่โอนและจำนวนที่เหลือใน Item Entity ไม่ต้องเดาจาก NBT ของช่องเก็บของทั้งหมด
