มีใครพอจะอธิบาย Command Block ทำเป็นเหมือน โพเทค บ้างไหมครับ

SongSaLueng

มือใหม่หัดคราฟต์
พยายามหาที่เป็นภาษาไทยและยังไม่มีใครอธิบายแบบให้กระจ่างซักที
ส่วนใหญ่จะเป็นภาษาอังกฤษ แต่ก็ไม่ค่อยจะเข้าใจ เท่าไหร่
 
มีแหล่งอ้างอิงมั้ยงับ ได้ช่วยอธิบายจากแหล่งนั้นด้วยงับ
 
ถ้าเอาแบบ Protect จริงจังโดยใช้ Command Block นะงับ

หมายเหตุ: distance=..5 (หลักการทำงานในรัศมี 5 บล็อก ตัวจุด 2 ตัวไว้กำหนดว่า ภายในระยะที่กำหนด n — ..n | ระหว่างระยะที่กำหนด n กับ n2 — n..n2 | มากกว่าระยะที่กำหนด n — n..)

ป้องกัน Creeper​

/kill @e[type=minecraft:creeper,distance=..5] [Repeat Command | Unconditional | Always Active] จากนั้นเคลียร์ Gun power ที่ดรอป โดยใช้คำสั่ง /kill @e[type=item,name="Gunpowder"] [Chain Command | Conditional | Always Active] โดยวางบน Command Block อันแรกและชี้ขึ้นนะงับ — ฆ่า Creeper และลบ Gunpowder ในรัศมี 5 บล็อกจาก Command Block

ป้องกัน TNT & Minecart with TNT​

/kill @e[type=tnt,distance=..5] [Repeat Command | Unconditional | Always Active] — ลบ TNT ที่ถูกจุดในรัศมี 5 บล็อกจาก Command Block
/kill @e[type=minecraft:tnt_minecart,distance=..5] [Repeat Command | Unconditional | Always Active] — ลบ Minecart With TNT ในรัศมี 5 บล็อกจาก Command Block

ป้องกันการตักน้ำ วางลาวา วางน้ำ (ลบไอเทม)​

/clear @a[distance=..5] minecraft:lava_bucket [Repeat Command | Unconditional | Always Active] — ลบถังลาวาในตัวผู้เล่นรัศมี 5 บล็อกจาก Command Block
/clear @a[distance=..5] minecraft:bucket [Repeat Command | Unconditional | Always Active] — ลบถังในตัวในตัวผู้เล่นรัศมี 5 บล็อกจาก Command Block
/clear @a[distance=..5] minecraft:water_bucket [Repeat Command | Unconditional | Always Active] — ลบถังน้ำในตัวในตัวผู้เล่นรัศมี 5 บล็อกจาก Command Block

ป้องกันการวาง End Crystal​

/kill @e[type=minecraft:end_crystal,distance=..5] [Repeat Command | Unconditional | Always Active] — ลบ End Crystal ในรัศมี 5 บล็อกจาก Command Block

ป้องกัน Wither​

/kill @e[type=minecraft:wither,distance=..5] [Repeat Command | Unconditional | Always Active] จากนั้นเคลียร์ Gun power ที่ดรอป โดยใช้คำสั่ง /kill @e[type=item,name="Nether Star"] [Chain Command | Conditional | Always Active] โดยวางบน Command Block อันแรกและชี้ขึ้นนะงับ — ฆ่า Wither และลบ Nether Star ในรัศมี 5 บล็อกจาก Command Block

ปรับ Game mode เมื่อผู้เล่นเข้าในพื้นที่ที่กำหนด (Survival >> Adventure)​

/tag <ชื่อผู้เล่น> <ชื่อแท็ก> เช่น /tag steve admin — ใช้ช่วยในการกำหนดค่าใน Command Block
โค้ด:
/gamemode adventure @a[x = <ตำแหน่งตั้งต้นแกน x> , y = <ตำแหน่งตั้งต้นแกน y> , z = <ตำแหน่งตั้งต้นแกน z>, dx = <ตำแหน่งจากตำแหน่งตั้งต้นแกน x> , dy = <ตำแหน่งจากตำแหน่งตั้งต้นแกน y>, dz = <ตำแหน่งจากตำแหน่งตั้งต้นแกน z>, gamemode = <gamemode  ที่ผู้เล่นอยู่ในขณะนั้น>,tag = !<แท็กที่ตั้งไว้ตอนแรก>]
เช่น /gamemode adventure @a[x=99,y=70,z=188,dx=-4,dy=6,dz=6,gamemode=survival,tag=!admin] โดย x y z เป็นจุดตั้งต้นแรก (มุมที่หนึ่ง) และ dx dy dz คือตำแหน่งจากจุดตั้งต้นแรก (มุมที่สอง) ในตัวอย่างจะเป็น gamemode = survival คือให้คำสั่งทำงานเมื่อผู้เล่นนี้อยู่ใน Survival เท่านั้น และ tag =! admin คือ ให้คำสั่งทำงานเมื่อผู้เล่นนี้ไม่ได้อยู่ในแท็ก admin


**แนะนำไปใช้ Plugin ดีกว่างับ ถ้าจะทำแบบนี้
 
ถ้าเอาแบบ Protect จริงจังโดยใช้ Command Block นะงับ

หมายเหตุ: distance=..5 (หลักการทำงานในรัศมี 5 บล็อก ตัวจุด 2 ตัวไว้กำหนดว่า ภายในระยะที่กำหนด n — ..n | ระหว่างระยะที่กำหนด n กับ n2 — n..n2 | มากกว่าระยะที่กำหนด n — n..)

ป้องกัน Creeper​

/kill @e[type=minecraft:creeper,distance=..5] [Repeat Command | Unconditional | Always Active] จากนั้นเคลียร์ Gun power ที่ดรอป โดยใช้คำสั่ง /kill @e[type=item,name="Gunpowder"] [Chain Command | Conditional | Always Active] โดยวางบน Command Block อันแรกและชี้ขึ้นนะงับ — ฆ่า Creeper และลบ Gunpowder ในรัศมี 5 บล็อกจาก Command Block

ป้องกัน TNT & Minecart with TNT​

/kill @e[type=tnt,distance=..5] [Repeat Command | Unconditional | Always Active] — ลบ TNT ที่ถูกจุดในรัศมี 5 บล็อกจาก Command Block
/kill @e[type=minecraft:tnt_minecart,distance=..5] [Repeat Command | Unconditional | Always Active] — ลบ Minecart With TNT ในรัศมี 5 บล็อกจาก Command Block

ป้องกันการตักน้ำ วางลาวา วางน้ำ (ลบไอเทม)​

/clear @a[distance=..5] minecraft:lava_bucket [Repeat Command | Unconditional | Always Active] — ลบถังลาวาในตัวผู้เล่นรัศมี 5 บล็อกจาก Command Block
/clear @a[distance=..5] minecraft:bucket [Repeat Command | Unconditional | Always Active] — ลบถังในตัวในตัวผู้เล่นรัศมี 5 บล็อกจาก Command Block
/clear @a[distance=..5] minecraft:water_bucket [Repeat Command | Unconditional | Always Active] — ลบถังน้ำในตัวในตัวผู้เล่นรัศมี 5 บล็อกจาก Command Block

ป้องกันการวาง End Crystal​

/kill @e[type=minecraft:end_crystal,distance=..5] [Repeat Command | Unconditional | Always Active] — ลบ End Crystal ในรัศมี 5 บล็อกจาก Command Block

ป้องกัน Wither​

/kill @e[type=minecraft:wither,distance=..5] [Repeat Command | Unconditional | Always Active] จากนั้นเคลียร์ Gun power ที่ดรอป โดยใช้คำสั่ง /kill @e[type=item,name="Nether Star"] [Chain Command | Conditional | Always Active] โดยวางบน Command Block อันแรกและชี้ขึ้นนะงับ — ฆ่า Wither และลบ Nether Star ในรัศมี 5 บล็อกจาก Command Block

ปรับ Game mode เมื่อผู้เล่นเข้าในพื้นที่ที่กำหนด (Survival >> Adventure)​

/tag <ชื่อผู้เล่น> <ชื่อแท็ก> เช่น /tag steve admin — ใช้ช่วยในการกำหนดค่าใน Command Block
โค้ด:
/gamemode adventure @a[x = <ตำแหน่งตั้งต้นแกน x> , y = <ตำแหน่งตั้งต้นแกน y> , z = <ตำแหน่งตั้งต้นแกน z>, dx = <ตำแหน่งจากตำแหน่งตั้งต้นแกน x> , dy = <ตำแหน่งจากตำแหน่งตั้งต้นแกน y>, dz = <ตำแหน่งจากตำแหน่งตั้งต้นแกน z>, gamemode = <gamemode  ที่ผู้เล่นอยู่ในขณะนั้น>,tag = !<แท็กที่ตั้งไว้ตอนแรก>]
เช่น /gamemode adventure @a[x=99,y=70,z=188,dx=-4,dy=6,dz=6,gamemode=survival,tag=!admin] โดย x y z เป็นจุดตั้งต้นแรก (มุมที่หนึ่ง) และ dx dy dz คือตำแหน่งจากจุดตั้งต้นแรก (มุมที่สอง) ในตัวอย่างจะเป็น gamemode = survival คือให้คำสั่งทำงานเมื่อผู้เล่นนี้อยู่ใน Survival เท่านั้น และ tag =! admin คือ ให้คำสั่งทำงานเมื่อผู้เล่นนี้ไม่ได้อยู่ในแท็ก admin


**แนะนำไปใช้ Plugin ดีกว่างับ ถ้าจะทำแบบนี้
อยากเขียนเองเป็นครับ แบบนี้แหละ ไม่ทราบว่ามีข้อมูลมาจากไหนให้ศึกษามากกว่านี้ไหมครับ ถ้าเป็นไทยจะดีมากๆ เลย
พอดีมีความรู้พื็นฐานทางด้านเขียนโปรแกรมมาบ้าง อาจจะเอามา ประยุกย์ใช้ได้
 
Command Block ครับ

แล้วกรณี Protect แบบไม่ให้ผู้ในคนอื่นมาทุบบ้านเราแบบให้ป้องกันเป็น แอเรีย x ถึง y ถึง Z แบบนี้จะเขียนออกมาในรูปแบบไหนหรอครับ
 
Minecraft vanilla ทำได้แค่นี้งับ

ปรับ Game mode เมื่อผู้เล่นเข้าในพื้นที่ที่กำหนด (Survival >> Adventure)​

/tag <ชื่อผู้เล่น> <ชื่อแท็ก> เช่น /tag steve admin — ใช้ช่วยในการกำหนดค่าใน Command Block
โค้ด:
/gamemode adventure @a[x = <ตำแหน่งตั้งต้นแกน x> , y = <ตำแหน่งตั้งต้นแกน y> , z = <ตำแหน่งตั้งต้นแกน z>, dx = <ตำแหน่งจากตำแหน่งตั้งต้นแกน x> , dy = <ตำแหน่งจากตำแหน่งตั้งต้นแกน y>, dz = <ตำแหน่งจากตำแหน่งตั้งต้นแกน z>, gamemode = <gamemode  ที่ผู้เล่นอยู่ในขณะนั้น>,tag = !<แท็กที่ตั้งไว้ตอนแรก>]
เช่น /gamemode adventure @a[x=99,y=70,z=188,dx=-4,dy=6,dz=6,gamemode=survival,tag=!admin]
  • โดย x y z เป็นจุดตั้งต้นแรก (มุมที่หนึ่ง)
  • dx dy dz คือตำแหน่งจากจุดตั้งต้นแรก (มุมที่สอง)
  • ในตัวอย่างจะเป็น gamemode = survival คือให้คำสั่งทำงานเมื่อผู้เล่นนี้อยู่ใน Survival เท่านั้น
  • tag =! admin คือ ให้คำสั่งทำงานเมื่อผู้เล่นนี้ไม่ได้อยู่ในแท็ก admin

คือการปรับ Gamemode จาก Survival มาเป็น Adventure ในระยะที่เรากำหนดใน Command Block หรือไม่มก็ clone พื้นที่ไว้ตลอดไว้อะงับ แต่มันจะ Dulpicate Item ได้งับ
 
ข้อกำจัดของ Command Vanilla คือได้แค่ Gamemode ตามที่บอกงับ แล้วคำสั่งนี้มีข้อเสียคือ ถ้าผู้เล่นไม่ได้อยู่ในระยะที่ Command Block กำหนดแล้วทุบบล็อกในนั้นก็สามารถทำได้งับ เพราะฉะนั้นควรเผื่อระยะไว้ด้วยงับ
 
Top