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

SongSaLueng

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

EpicEmeraldPlayz

EpicGaming4Lyfe_
ผู้ดูแล
มีแหล่งอ้างอิงมั้ยงับ ได้ช่วยอธิบายจากแหล่งนั้นด้วยงับ
 

EpicEmeraldPlayz

EpicGaming4Lyfe_
ผู้ดูแล
ถ้าเอาแบบ 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 ดีกว่างับ ถ้าจะทำแบบนี้
 

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 ดีกว่างับ ถ้าจะทำแบบนี้
อยากเขียนเองเป็นครับ แบบนี้แหละ ไม่ทราบว่ามีข้อมูลมาจากไหนให้ศึกษามากกว่านี้ไหมครับ ถ้าเป็นไทยจะดีมากๆ เลย
พอดีมีความรู้พื็นฐานทางด้านเขียนโปรแกรมมาบ้าง อาจจะเอามา ประยุกย์ใช้ได้
 

SongSaLueng

สมาชิกใหม่
Command Block ครับ

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

EpicEmeraldPlayz

EpicGaming4Lyfe_
ผู้ดูแล
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 ได้งับ
 

EpicEmeraldPlayz

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