/execute ทำอะไรได้บ้าง?
คำสั่ง /execute จะรันคำสั่งอื่น พร้อมทั้งเปลี่ยนผู้รัน, ตำแหน่งและวิธีการรัน, และสามารถเพิ่มเงื่อนไขได้ ตัวสร้างนี้จะเรียงลำดับคำสั่งย่อยอย่างถูกต้อง เพื่อให้คุณไม่สับสนไวยากรณ์อีกต่อไป
วิธีสร้างชุดคำสั่ง execute
- เพิ่มคำสั่งย่อยตามลำดับที่คุณต้องการ แต่ละคำสั่งจะปรับเปลี่ยนบริบทการรันสำหรับทุกสิ่งที่ตามมา
- กำหนดค่าคำสั่งย่อยแต่ละรายการ: ตัวเลือกเอนทิตี, พิกัด, เงื่อนไข และการเปรียบเทียบคะแนน
- ตั้งค่าคำสั่ง run: คำสั่งสุดท้ายที่จะรันด้วยบริบทที่ถูกปรับเปลี่ยน ณ ท้ายสุดของชุดคำสั่ง
- คัดลอกชุดคำสั่งที่ประกอบขึ้น และวางลงในแชทหรือบล็อกคำสั่ง
ส่วนที่ยากคือไวยากรณ์ ชุดคำสั่งหนึ่งชุดสามารถเกิน 200 ตัวอักษรได้อย่างง่ายดาย และคำหลักที่วางผิดที่เพียงคำเดียวก็ทำให้คำสั่งทั้งหมดเสีย ตัวสร้างนี้ช่วยลดความเสี่ยงนั้นด้วยเมนูแบบเลื่อนลง, ช่องกรอกข้อมูล และการแสดงตัวอย่างแบบเรียลไทม์
คำอธิบายคำสั่งย่อย Execute
| Subcommand | What it changes |
|---|---|
| as | เอนทิตีผู้รัน (ใคร) |
| at | ตำแหน่ง, การหมุน และมิติ |
| positioned | เฉพาะตำแหน่ง |
| rotated | เฉพาะการหมุน |
| facing | การหมุนเพื่อหันหน้าไปยังจุดหรือเอนทิตี |
| align | จัดตำแหน่งให้ตรงกับตารางบล็อก |
| anchored | จุดยึด (ตาหรือเท้า) |
| in | มิติ |
| on | เลือกความสัมพันธ์ของเอนทิตี |
| if / unless | การรันตามเงื่อนไข |
| store | บันทึกผลลัพธ์หรือความสำเร็จลงในข้อมูล |
| run | คำสั่งสุดท้ายที่จะรัน |
คำสั่งย่อยตัวปรับแต่ง
as เปลี่ยนผู้รันเป็นเอนทิตีที่เลือก, at ย้ายตำแหน่งการรันไปยังเอนทิตีเหล่านั้น, positioned และ rotated กำหนดตำแหน่งและการหมุนโดยตรง, facing เล็งไปยังจุดหรือเอนทิตี, align จัดตำแหน่งให้ตรงกับตารางบล็อก, anchored เลือกตาหรือเท้า, in เปลี่ยนมิติ, และ on เลือกความสัมพันธ์ของเอนทิตี
คำสั่งย่อยเงื่อนไข
if และ unless ทดสอบเงื่อนไข และจะดำเนินการต่อเมื่อเงื่อนไขผ่านเท่านั้น การทดสอบที่มีให้สำหรับ Java ได้แก่ entity, block, blocks, data, score, loaded, predicate, biome และ function และสำหรับ Bedrock ได้แก่ entity, block, blocks และ score
Store (สำหรับ Java Edition เท่านั้น)
store result และ store success จะบันทึกผลลัพธ์ของคำสั่งสุดท้าย ลงในคะแนน, เอนทิตีบล็อก, NBT ของเอนทิตี, ที่เก็บคำสั่ง หรือ bossbar Bedrock ไม่มีคำสั่งย่อย store
ลำดับมีความสำคัญ
คำสั่งย่อยจะรันจากซ้ายไปขวา เมื่อ as หรือ at เลือกเอนทิตีหลายตัว ส่วนที่เหลือของชุดคำสั่งจะแยกออกไปหนึ่งครั้งต่อเอนทิตี เช่น execute as @a run say Hi ที่รันสำหรับผู้เล่นทุกคนพร้อมกัน
ตัวอย่างทั่วไป
ให้ผู้เล่นทุกคนพูดว่าสวัสดี: execute as @a run say Hello
ผ่าสายฟ้าใส่ซอมบี้บนหญ้า: execute as @e[type=zombie] at @s if block ~ ~-1 ~ minecraft:grass_block run summon lightning_bolt
บันทึกพลังชีวิตผู้เล่นเป็นคะแนน: execute store result score @s health run data get entity @s Health
คำถามที่พบบ่อย
ทำไมคำสั่ง /execute ของฉันถึงไม่ทำงาน?
ชุดคำสั่งต้องจบด้วยคำสั่งย่อย run หรือเงื่อนไข run สามารถปรากฏได้เพียงครั้งเดียวที่ส่วนท้ายสุด และไวยากรณ์มีการเปลี่ยนแปลงระหว่างเวอร์ชัน หากบล็อกคำสั่งแจ้งว่าไม่สามารถแยกวิเคราะห์ได้ ให้เปรียบเทียบชุดคำสั่งของคุณกับตัวอย่างในวิกิสำหรับเวอร์ชันของคุณ
Bedrock ใช้ store ได้หรือไม่?
ไม่ได้ store, on, summon, data, biome, predicate, function และ loaded เป็นของ Java เท่านั้น ตัวสร้างนี้จะซ่อนคำสั่งเหล่านั้นเมื่อเลือก Bedrock
ฉันจะรันคำสั่งสำหรับผู้เล่นทุกคนได้อย่างไร?
ใช้ execute as @a run <command> คำสั่งย่อย as จะเลือกผู้เล่นทุกคน และชุดคำสั่งจะรันหนึ่งครั้งต่อเอนทิตีที่เลือก
as กับ at ต่างกันอย่างไร?
as เปลี่ยนผู้รัน (executor), at เปลี่ยนตำแหน่งที่รัน (position) ใช้ as เพื่อกระทำกับเอนทิตี และ at เพื่อกระทำ ณ ตำแหน่งของเอนทิตี หรือรวมทั้งสอง: execute as @e at @s run summon lightning_bolt
ฉันต้องมีสิทธิ์โอเปอเรเตอร์หรือไม่?
Java ต้องมีระดับสิทธิ์ 2 (บล็อกคำสั่งหรือโอเปอเรเตอร์) Bedrock ต้องเปิดใช้งานสูตรโกงในการตั้งค่าโลก
จำนวนการแยกคำสั่งสูงสุดใน Minecraft คือเท่าใด?
gamerule max_command_forks มีค่าเริ่มต้นที่ 65,536 และจำกัดจำนวนบริบทการรันที่คำสั่ง /execute เดียวสามารถสร้างได้ หาก as @e เลือกเอนทิตีเกินขีดจำกัด คำสั่งจะล้มเหลว max_command_sequence_length (maxcommandchainlength ใน Bedrock) ซึ่งมีค่าเริ่มต้นที่ 65,536 เช่นกัน จะจำกัดจำนวนคำสั่งทั้งหมดในชุดคำสั่งหรือฟังก์ชัน