Bedrock Edition 1.17.40

**1.17.40** เป็นเวอร์ชันการอัปเดตเล็ก ๆ ของรุ่นเบดร็อกถูกปล่อยออกมาในวันที่ 19 ตุลาคม 2021 ในเวอร์ชันนี้ มีการเปลี่ยนแปลงเกี่ยวกับตัวทดลองถ้ำและหินผา และ GameTest Framework รวมถึงมีการแก้ไขบั๊กต่าง ๆ ที่เกิดขึ้นในเวอร์ชันก่อนหน้า

## การเปลี่ยนแปลง

### ทั่วไป

**ความสำเร็จ (Achievement)**

* หน้าแสดงความสำเร็จ (Achievement) ใหม่ สามารถใช้งานได้บนพีซี Windows 10 บน ARM (Windows 10 ARM-based PCs)

### ทางเทคนิค

**การอัปเดตแม่แบบของส่วนเสริม (Add-on)**

* อัปเดตแม่แบบของส่วนเสริม (Add-on) สำหรับ 1.17.40 ตอนนี้สามารถดาวน์โหลดชุดทรัพยากร (Resource Pack), ชุดพฤติกรรม (Behavior Pack), และเอกสารประกอบ
	+ แม่แบบของชุดทรัพยากร (Resource Pack): aka.ms/ResourcePackTemplate
	+ แม่แบบของชุดพฤติกรรม (Behavior Pack): aka.ms/BehaviorPackTemplate

**บล็อกที่ขับเคลื่อนด้วยข้อมูล (Data-Driven Blocks)**

* อัปเดตเอกสารประกอบสำหรับส่วนประกอบการหมุนของบล็อก (Block Rotation)
* อัปเดตเอกสารประกอบสำหรับ `BlockExplosionResistance`
* เพื่อนการสลับที่จำเป็นในเอกสารประกอบและเนื้อหาผิดพลาดสำหรับส่วนประกอบของบล็อก (Block Component)

**กราฟฟิก**

* เพิ่มเนื้อหาผิดพลาดสำหรับการใช้วัสดุแต่ไม่ได้ระบุจำนวนเท็กเจอร์ที่ต้องการให้กับตัวควบคุมการแสดงผล (Render Controller)

## คุณสมบัติตัวทดลอง

### การสร้างโลก

**ภูเขา**

* เพิ่มชีวนิเวศใหม่: ยอดเขาหิน (Stony Peaks)
	+ เป็นอีกชนิดของยอดเขาที่ถูกสร้างขึ้นจากหิน
	+ จะถูกสร้างขึ้น หากชีวนิเวศรอบข้างมีอุณหภูมิที่ไม่เพียงพอกับการสร้างยอดเขาที่มีหิมะขึ้นได้

* แก้ไขต้นพืชที่สามารถพบได้บนทุ่งหญ้า (Meadow)
* ชีวนิเวศภูเขาตอนนี้ถูกจัดวางอย่างถูกต้อง เพื่อให้ตรงกับสแนปชอต (Snapshot) ของรุ่นจาวา
* หินติดเชื้อ (Infested Stone) สามารถพบได้บริเวณใต้ภูเขาใหม่ (Mountain)
* เปลี่ยนแปลงการเกิดของสิ่งมีชีวิตในชีวนิเวศภูเขา และถ้ำเพื่อให้ตรงกับสแนปชอต (Snapshot) ของรุ่นจาวา

ถ้ำ

* กลุ่มของหินหยด (Dripstone Clusters) สามารถพบได้ที่ถ้ำหินหยด (Dripstone Cave) เท่านั้น
* ฟีเจอร์ของหินหยด (Dripstone) สามารถพบได้ที่ถ้ำหินหยด (Dripstone Cave) เท่านั้น
* MCPE-125117 - หินชนวนลึก (Deepslate) จะสามารถสร้างใน Y ที่ต่ำกว่า 0
* ฟีเจอร์ที่เกี่ยวกับหินชนวนลึก (Deepslate) สามารถถูกสร้างในชั้นความลึกของหินชนวนลึก (Deepslate)
* ตรรกะการจัดวางกลุ่มของหินชนวนลึก (Deepslate) ขนาดเล็ก ถูกปรับแต่งใหม่ ให้มีความถี่ที่ใกล้เคียงกันมากขึ้น แต่มีตำแหน่งในการจัดวางที่ไม่แน่นอน

**การกระจายแร่**

* เปลี่ยนแปลงการกระจายของแร่ให้ตรงกับสแนปชอต (Snapshot) ของรุ่นจาวา
* MCPE-125233 - สินแร่ทองแดง (Copper Ore) สามารถสร้างได้ถึง Y= 96 จากเดิม Y= 64
* MCPE-125800 - เถาวัลย์ (Vine) สามารถถูกสร้างในถ้ำชอุ่ม (Lush Cave) แทนที่จะสร้างบนพื้นผิวของโลก

**โลกแบนราบ (Flat world)**

* โลกแบนราบ (Flat world) ที่เปลี่ยนมาใช้คุณสมบัติทดลองถ้ำและหินผา (Caves & Cliffs experimental) จะได้รับการเอัปเกรดไปเป็นความสูงใหม่ของมิติอย่างเหมาะสม
* อัปเกรดโลกแบนราบเก่า (Older Flat world) ให้เป็นของสูงใหม่ของมิติ หากใช้คุณสมบัติทดลองถ้ำและหินผา (Caves & Cliffs experimental)
* โลกแบนราบใหม่ (Flat world) ที่ใช้คุณสมบัติทดลองถ้ำและหินผา (Caves & Cliffs experimental) จะถูกเริ่มสร้างใน Y= -64

**ชีวนิเวศ (Biome)**

* เปลี่ยนแปลงการจัดวางของชีวนิเวศ (Biome), ขนาดของแม่น้ำ, และลักษณะของภูมิประเทศสำหรับประสบการณ์ที่ดีขึ้นในโลกปกติ (Overworld)
* ต้นไม้ในที่ลุ่มน้ำขัง (Swamp) สามารถเกิดได้ในบริเวณน้ำที่ลึกขึ้นกว่าเดิม

**หมู่บ้าน**

* MCPE-136939 - ตอนนี้หมู่บ้าน (Village) จะสร้างรูปแบบที่ถูกต้องตามชีวนิเวศที่พวกเขาอาศัยอยู่

**ทั่วไป**

* เพิ่มการอัปเกรดโลกแบบปัจจุบันให้เป็นโลกแบบ 1.18.0 โดยมีการสร้างถ้ำใหม่ขึ้นมาในระหว่าง Y=0 ถึง Y=-64 และการผสมผสานโลกแบบใหม่ที่ดูดีมากกว่าเมื่อก่อน
	+ หากมีข้อสงสัยเพิ่มเติมสามารถอ่านได้ที่คำถามที่พบบ่อยเกี่ยวกับการผสมผสานโลกแบบใหม่

* ตอนนี้เมฆจะอยู่ในความสูง Y= 192
* MCPE-136638 - แผนที่ (Map) จะแสดงสีที่ถูกต้องของบล็อกนั้น ๆ หากบล็อกนั้นอยู่ต่ำกว่า Y= 0
* เถาวัลย์ (Vine) สามารถเติบโตใต้ Y= 0

### GameTest Framework

* เปลี่ยนชื่อเมธอด `succeedWhenBlockTypePresent` เป็น `succeedWhenBlockPresent`
* MCPE-137786 - แก้ไขข้อผิดพลาดที่ Property id  จะส่งคืน "ไม่ทราบ" สำหรับเอนทิตีกำหนดเอง
* ตัวระบุสตริง (Identifier string) ย้อนกลับจาก Property id ตอนนี้รวมอยู่ใน Namespace ของไอเทม
* อัปเดตอินเทอร์เฟซ GameTest Framework และเพิ่มความสามารถใหม่เกี่ยวกับ `SimulatedPlayer`:
	+ เพิ่มคลาส `SimulatedPlayer` ใน GameTest คลาสนี้ช่วยให้ GameTest สามารถจำลองพฤติกรรมของผู้เล่นได้อย่างหลากหลาย เช่น การเคลื่อนไหว การใช้ไอเทม และการโต้ตอบกับบล็อกและเอนทิตี ดูเอกสารประกอบ GameTest API สำหรับรายละเอียดเพิ่มเติม
		- เพิ่มฟังชัน `spawnSimulatedPlayer(blockLocation: BlockLocation, name: string): SimulatedPlayer`
		- เพิ่มฟังชั้น `removeSimulatedPlayer(simulatedPlayer: SimulatedPlayer): void`
	+ ประเภท `mojang-gametest.Test`
		- เปลี่ยนแปลง Signature ของฟังชัน `assertEntityInstancePresent(entity: Entity, blockLocation: BlockLocation, isPresent: boolean = true)`
	+ ส่วนประกอบของ `mojang-minecraft`
		- ส่วนประกอบ `inventory` ตอนนี้สามารถใช้งานได้กับช่องเก็บของของผู้เล่น

## การแก้ไข

**ประสิทธิภาพ และควาสเถียร**

* แก้ไขข้อผิดพลาดที่อาจเกิดขึ้นเมื่อใช้งานเครื่องมือปรับแต่งตัวละคร (Character Creator)
* แก้ไขซอฟต์ล็อคที่อาจเกิดขึ้นเมื่อใช้งานหน้าสล็อตโลกของเรียม (Realms world slot) และสัญญาณอินเทอร์เน็ตขาดหาย

**ทั่วไป**

* แก้ไขปัญหาที่ทำให้การดาวน์โหลดหน้าตลาดขายของบนโลกออนไลน์ (Marketplace) บนนินเท็นโด สวิตช์ (Nintendo Switch) ล้มเหลวหลังจากการเข้าและออกโลก
* การตั้งค่าของโลกจะถูกใช้ในเรียม (Realms) หากโลกนั้นถูกนำไปใช้

**เกมเพลย์**

* MCPE-28765 - แก้ไขปัญหาที่ผู้เล่นติดไฟได้ระหว่างเปลี่ยนมิติหากใต้ประตูมิติเนเทอร์นั้นมีลาวาวางไว้
* MCPE-128372 - ปรับปรุงการมองเห็นของโลกสำหรับพื้นที่ใต้ดิน เพื่อไม่ให้การมองเห็นปลายอุโมงค์หรือถ้ำเห็นท้องฟ้า
* MCPE-60807 - ผู้เล่นจะไม่แสดงแอนิเมชันการกินซ้ำอีกหากกินเสร็จ
* MCPE-129861, MCPE-128799 - จีโอดอเมทิสต์ (Amethyst geode) มีแนวโน้มน้อยลงที่จะไปสร้างทับกับป้อมปราการ (Stronghold) ถ้าเป็นแบบนั้น มันก็จะไม่สร้างทำประตูมิติเอ็นต์ (End Portal)
* MCPE-121708 - ดันเจี้ยน (Dungeons) จะถูกจัดวางอย่างถูกต้องอีกครั้งในคุณสมบัติทดลองถ้ำและหินผา (Caves & Cliffs experimental)
* MCPE-59580 - ความเท่าเทียม: ผู้เล่นสามารถใช้ Elytra gliding ขณะกำลังเคลื่อนที่ขึ้นด้านบน

**สิ่งมีชีวิต**

* MCPE-137158 - ปลาเขตร้อน (Tropical Fish) จะไม่สูญเสียสีเดิมของมันอีกต่อไปเมื่อตักใส่ถัง
* MCPE-132195 - ผึ้ง (Bee) สามารถเกิดได้อย่างถูกต้องบนโลกแล้ว
* MCPE-23835 - สิ่งมีชีวิตจะไม่ค้นหาทางเดินที่ผ่านไฟหรือสิ่งที่ทำให้ติดไฟได้อีกต่อไป
* MCPE-28055 - ชาวบ้าน (Villager) ไม่สามารถเปิดหรือปิดประตูรัว (สแปมเปิด-ปิด) ได้อีกต่อไป
* นักทำแผนที่ (Cartographer) จะให้แผนที่ใหม่อย่างสม่ำเสมอมากขึ้น
* MCPE-127381 - ปรับปรุงการเดินคือค้นหาเส้นทางของสิ่งมีชีวิตบนบล็อกที่ไม่เต็มหรือ Partial block ใหม่
* MCPE-74242 - ชุดเกราะ (Armor) จะไม่แสดงผลกับกองโจร (Pillager) และวินดิเคเตอร์ (Vindicator) แต่พวกมันยังคงได้รับสถานะความแข็งแกร่งหรือสถานะเอฟเฟกต์จากเกราะ
* MCPE-123229 - แก้ไขปัญหาที่ทำให้ผู้เล่นมองเห็นขวานของวินดิเคเตอร์ (Vindicator) ถึงแม้มันจะไม่ได้โจมตีอยู่ในรีซอร์ซแพ็ก (Resource Pack) รุ่นเก่า
* สิ่งมีชีวิตจะเกิดในบริเวณใต้ดินมากขึ้น
* MCPE-63931 - แก้ไขการแสดงของเชือกจูง (Lead) ที่ไม่แสดงหากสิ่งมีชีวิตที่จูงอยู่นอกเหนือการมองเห็น
* MCPE-140145 - โกเลมเหล็ก (Iron Golem) จะเกิดแค่บนบล็อกทึบแสงเท่านั้น

**บล็อก**

* MCPE-132772 - หินย้อย (Stalactite) ที่กำลังหล่นจะอยู่ในตำแหน่งที่เหมาะสม เพื่อป้องกันการทำปฏิกิริยากับเอนทิตี้ที่อยู่นอก Hitbox
* ตอนนี้รังผึ้ง (Beehive) จะสร้างในโลกที่หันหน้าไปทางทิศใต้
* MCPE-66933 - ประตูกับดัก (Trapdoor) จะแสดงด้านการเปิดที่ถูกต้องเมื่อโหลดด้วยบล็อกโครงสร้าง (Structure Block)
* MCPE-127565 - หิมะผง (Powder Snow) จะไม่หายไปเมื่อมองจากระยะไกลอีกต่อไป
* หญ้าทะเล (Sea Grass) จะไม่ถูกสร้างใต้ใบบัว (Lily Pad) อีกต่อไป เพื่อป้องกันใบบัว (Lily Pad) ถูกทำลายระหว่างการสร้างโลก
* MCPE-140659, MCPE-140660 - การถือ Top Snow ไว้ขณะวางเป้าไว้เหนือบล็อกหญ้า (Grass Block) จะไม่ทำให้เกิดปฏิกิริยาแปลก ๆ ขึ้น

**หน้าจอผู้ใช้งาน**

* การขี่สัตว์ในอุปกรณ์ที่ไม่ใช่ระบบสัมผัส จะขึ้นแสดงปุ่มที่ต้องกดเพื่อขี่
* การใช้สีย้อม (Dye) บนป้าย (Sign) ที่ตัวอักษรถูกย้อมสีที่จัดแบบไว้อยู่แล้ว มันจะเปลี่ยนสีใหม่เป็นสีที่ใช้ย้อมล่าสุด
* แก้ไขตัวอักษรบนป้าย (Sign) ที่สูญเสียการจัดแบบเมื่อพบบรรทัดใหม่หรือการตัดคำ การจัดแบบจะยังคงอยู่จนกว่าจะพบรหัสรีเซ็ตหรือรหัสแทนที่ สิ่งนี้ไม่มีผลต่อป้ายที่เกิดการเปลี่ยนแปลงมาก่อนหน้าแล้ว
* MCPE-92772 - แก้ไขข้อความที่แสดงขึ้นเมื่อผู้เล่นเปลี่ยนสกินในเกม
* MCPE-132826 - แก้ไขปัญหาที่ไม่สามารถใช้ปุ่ม D-pad และปุ่มทิศทางเพื่อนำทางในบางส่วนของหน้าจอผู้ใช้งาน
* MCPE-132269 - แก้ไขปัญหาที่ข้อความแสดงข้อผิดพลาดอาจแสดงขึ้นหลังจากระงับเกมในหน้าความสำเร็จ (Achievement) เมื่อแอนิเมชันถูกปิดใช้งาน
* MCPE-139025 - แก้ไขที่มีการเพิ่ม `gamerule` ที่คลุมเครือในการตั้งค่า
* คำว่าลงชื่อเข้าใช้ในหน้าเมนูหลักจะไม่ไปทับกับปุ่มตลาดขายของบนโลกออนไลน์ (Marketplace)
* เพิ่มช่องว่างระหว่างชื่อแท็บและคำว่า 'แท็บ' สำหรับ text-to-speech ในหน้าการตั้งค่า
* เพิ่มปุ่ม More Info (ข้อมูลเพิ่มเติม) สำหรับหน้าแสดงข้อผิดพลาด

**เรียม**

* การเปลี่ยนแปลงการตั้งค่าทั้งหมดที่เกิดขึ้นก่อนการสร้างโลกใหม่จะถูกนำไปใช้หลังจากสร้างแล้ว
* เปิดใช้งาน ‘server authoritative block breaking’ บนเรียม
	+ MCPE-48914 - การเปลี่ยนแปลงนี้ควรแก้ไขปัญหาที่บล็อกแสดงขึ้นหลังจากที่ทำลายแล้ว

**เครื่องมือปรับแต่งตัวละคร (Character Creator)**

* MCPE-120818 - ในเครื่องมือปรับแต่งตัวละคร (Character Creator) เปลี่ยนสีผิวของสกินสตีฟปกติให้ตรงกับสตีฟปกติ
* ชิ้นส่วนด้านหลังจะไม่บดบังเครื่องหมายซ้ายอละขวาในหน้าโปรไฟล์อีกต่อไป
* แถบด้านข้างจะไม่แสดงขึ้นเมื่อมีการขยายชุดสกินดั้งเดิมในห้องแต่งตัว (Dressing Room) อีกต่อไป
* MCPE-139022 - ปรับปรุงการนำทางของเครื่องมือปรับแต่งตัวละคร (Character Creator) ดังนั้นตอนนี้มันจะสลับไปยังหน้าโปรไฟล์เครื่องมือปรับแต่งตัวละคร (Character Creator) ที่เลือกเอาไว้เสมอ
* สกินที่นำชุดที่สวมใส่มาจากตลาดขายของบนโลกออนไลน์ (Marketplace) ขณะอยู่ในเกม มันจะเปลี่ยนแปลงสกินของผู้เล่น

**คำสั่ง**

* MCPE-78363 - ไอเทมของเวอร์ชันสำหรับการศึกษา (Education Edition) จะไม่แสดงเป็นตัวเลือกเมื่อใช้ `@e[type=]` อีกต่อไป
* MCPE-74281 - บล็อกคำสั่ง (Command Block) ในโหมดต้องการเรดสโตน (Needs Redstone) และ Delay in Ticks ที่ไม่ใช่ศูนย์ จะทำงานก็ต่อเมื่อพวกมันอยู่ในระยะดีเลย์ที่ตั้งเอาไว้
* แก้ไขการจัดวางตำแหน่งของแถบด้านข้างของคำสั่ง `/scoreboard` เมื่อความยาวของข้อความเปลี่ยนแปลง
* แก้ไขการซัมมอนลูกแก้วประสบการณ์ (Experience Orb) โดยผ่านคำสั่ง /summon

## ทางเทคนิค

**การแก้ไข**

* แก้ไขที่แสดงเฉพาะการทำลายเอนทิตีใน Chunk Discard Scenarios
* แก้ไขข้อผิดพลาดที่ทำให้แอนิเมชันเริ่มใหม่ เมื่อเปลี่ยนตัวควบคุมการแสดงผล (Render Controller)

**โมแลง (Molang)**

* แก้ไข `item_remaining_use_duration` ที่มีผลลัพธ์ที่ขนาดหรือการกลับด้านไม่เหมาะสม (การแก้ไขนี้เป็นการเปลี่ยนแปลงเวอร์ชันของเอ็นจิ้นเวอร์ชัน 1.17.30)
* เพิ่มข้อผิดพลาดการคอมไพล์ใหม่สำหรับ Expression เช่น  `text` + 3 ซึ่งก่อนหน้านี้ถูกละเลยไป (การแก้ไขนี้เป็นการเปลี่ยนแปลงเวอร์ชันของเอ็นจิ้นเวอร์ชัน 1.17.40)
* โมแลง Expression ที่มีตัวพิมพ์ใหญ่จะได้รับการประเมินอย่างถูกต้องแล้ว
* MCPE-67893 - `query.get_equipped_item_name` จะรู้จักโคมไฟทะเล (Sea Lantern)
* เพิ่มข้อผิดพลาดการคอมไพล์ใหม่สำหรับ Expression เช่น 1 + (9 10) ซึ่งก่อนหน้านี้ถูกละเลยไป (การแก้ไขนี้เป็นการเปลี่ยนแปลงเวอร์ชันของเอ็นจิ้นเวอร์ชัน 1.17.40)

**GameTestSequence**

* ลบเมธอด `thenWaitWithDelay`
* เพิ่มเมธอด `thenWaitAfter(delayTicks: number, callback: () => undefined)`
	+ หลังจากการดีเลย์ จะดำเนินการเรียกกลับกับทุก ๆ ติ๊ก (Tick) จนกว่าจะเสร็จสมบูรณ์ ข้อยกเว้นภายในการเรียกกลับจะสิ้นสุดการดำเนินการตามลำดับ

**ผู้เล่น**

* แก้ไขข้อผิดพลาดที่คุณสมบัติตำแหน่งจะส่งคืนผลความสูงที่ไม่ถูกต้องกับผู้เล่น
* เพิ่มคุณสมบัติ (Property) `id`

**บล็อก**

* แทนที่เมธอด  `getLocation` ด้วยคุณสมบัติ (Property) `location`
* แทนที่เมธอด `getPermutation` ด้วยคุณสมบัติ (Property) `permutation`
* แทนที่เมธอด `getType` ด้วยคุณสมบัติ (Property) `type`
* แทนที่เมธอด `isWaterlogged` และ setWaterlogged ด้วยคุณสมบัติ (Property) `isWaterlogged`
* แทนที่เมธอด `getBlockData` ด้วยคุณสมบัติ (Property) `permutation`
* แทนที่เมธอด `isEmpty` ด้วยคุณสมบัติ (Property) `isEmpty`
* ลบคุณสมบัติ (Property) `canBeWaterlogged`

**ประเภทบล็อก (BlockType)**

* แทนที่เมธอด `getName` ด้วยคุณสมบัติ (Property) `id`
* แทนที่เมธอด `canBeWaterlogged` ด้วยคุณสมบัติ (Property) `canBeWaterlogged`

**BlockPermutation**

* แทนที่เมธอด `getType` ด้วยคุณสมบัติ (Property) `type`

## อ้างอิง

1. ↑ https://feedback.minecraft.net/hc/en-us/articles/4411311573133-Minecraft-1-17-40-Bedrock- - Feedback Minecraft.net