คู่มือ

วิธีทำปลั๊กอินสกอร์บอร์ด Minecraft

อัปเดตเมื่อ 18 ตุลาคม 2569

แถบด้านขวาของหน้าจอคือส่วนที่เห็นชัดที่สุดของหลายเซิร์ฟเวอร์: ชื่อเซิร์ฟเวอร์ ยศของผู้เล่น เงิน จำนวนการฆ่า ผู้เล่นออนไลน์ ปลั๊กอินวาดมันผ่าน Scoreboard API ของ Bukkit ส่วนที่ยากคือการให้ผู้เล่นทุกคนมีบรรทัดของตัวเองและอัปเดตอย่างลื่นไหล

เปลี่ยนบรรทัดให้เข้ากับเซิร์ฟเวอร์ของคุณ

สร้างสิ่งนี้ด้วย Codexe

ทีละขั้นตอน

  1. 1.เขียนบรรทัดต่างๆ

    ชื่อบอร์ดและแต่ละบรรทัดจากบนลงล่าง พร้อมค่าที่แสดง: "Rank: Admin", "Coins: 1,250", "Online: 34" แถบด้านข้างแสดงได้สูงสุด 15 บรรทัด

  2. 2.ให้ผู้เล่นแต่ละคนมีสกอร์บอร์ดของตัวเอง

    บรรทัดที่ต่างกันในแต่ละผู้เล่นต้องใช้สกอร์บอร์ดแยกต่อผู้เล่น จาก Bukkit.getScoreboardManager().getNewScoreboard() แล้วตั้งด้วย player.setScoreboard(...) ตอนเข้าเกม

  3. 3.สร้าง objective ของแถบด้านข้าง

    ลงทะเบียน objective แบบ dummy แล้วตั้งช่องแสดงผลเป็น DisplaySlot.SIDEBAR แต่ละบรรทัดคือ entry ที่มีคะแนนกำหนดตำแหน่ง

  4. 4.อัปเดตค่า

    งานที่ทำซ้ำเป็นรอบ เช่น ทุกวินาที จะอัปเดตเฉพาะบรรทัดที่เปลี่ยน ใช้ prefix และ suffix ของทีมสำหรับข้อความเพื่อไม่ให้บรรทัดกะพริบ

  5. 5.เพิ่ม placeholder

    ด้วย PlaceholderAPI บรรทัดอย่าง %vault_eco_balance% จะแสดงค่าจากปลั๊กอินอื่นได้โดยไม่ต้องเขียนโค้ดเพิ่ม

  6. 6.บิลด์แล้วดูในเกม

    ให้ Codexe คอมไพล์ เข้าเซิร์ฟเวอร์ทดสอบแล้วเช็กทุกบรรทัด จากนั้นเปลี่ยนค่าแล้วดูว่าอัปเดตไหม

แถบด้านข้างทำงานอย่างไร

  • แต่ละสกอร์บอร์ดแสดง objective ได้ทีละหนึ่งตัวในแถบด้านข้าง ชื่อที่แสดงของมันคือชื่อบอร์ด
  • บรรทัดเรียงตามคะแนน จากมากไปน้อย คะแนนจึงเป็นแค่หมายเลขบรรทัดแบบกลับด้าน
  • ทุกบรรทัดต้องเป็นคนละ entry: บรรทัดที่เหมือนกันสองบรรทัดต้องมีความต่างที่มองไม่เห็น เช่น รหัสสีที่ต่างกัน
  • ตัวเลขสีแดงทางขวาซ่อนได้ตั้งแต่ Minecraft 1.20.3 ซึ่งเพิ่มรูปแบบตัวเลขของคะแนนเข้ามา เวอร์ชันเก่าจะแสดงตลอด
  • ผู้เล่นเห็นสกอร์บอร์ดได้แค่อันเดียว: ถ้าปลั๊กอินอื่นตั้งของตัวเอง อันสุดท้ายจะชนะ ใช้ปลั๊กอินเดียวสำหรับแถบด้านข้าง หรือระบุว่าปลั๊กอินอื่นตัวไหนใช้สกอร์บอร์ดร่วมกัน

อัปเดตโดยไม่กะพริบ

การลบบรรทัดแล้วเพิ่มบรรทัดใหม่ทำให้กะพริบ วิธีแก้ทั่วไปคือให้แต่ละบรรทัดมี entry ที่ตายตัวและมองไม่เห็น แล้วใส่ข้อความที่มองเห็นไว้ใน prefix และ suffix ของทีมที่มี entry นั้น การอัปเดตทีมจะเปลี่ยนข้อความในที่เดิม ขอ "ไม่กะพริบ" ในคำขอ แล้วปลั๊กอินจะถูกเขียนด้วยวิธีนี้

ปลั๊กอิน Skript หรือดาต้าแพ็ก?

ตัวเลือกทำได้ข้อจำกัด
ปลั๊กอินบรรทัดเฉพาะผู้เล่น ค่าอะไรก็ได้ แอนิเมชัน placeholderต้องใช้ Spigot, Paper หรือ fork ของมัน
Skript กับ SkBeeแถบด้านข้างเฉพาะผู้เล่นจากสคริปต์ต้องมี Skript และส่วนเสริม
ดาต้าแพ็กแสดง objective เดียว เช่น จำนวนตายหรือจำนวนฆ่า ในแถบด้านข้างตัวเลขเหมือนกันสำหรับทุกคน ไม่มีข้อความอิสระเฉพาะผู้เล่น

ตัวอย่างคำอธิบาย

"ปลั๊กอิน Paper 1.21.4 ชื่อ Board แถบด้านข้างสำหรับผู้เล่นทุกคน ชื่อบอร์ดสีทอง ตามด้วยยศ (จาก LuckPerms) coins (จาก Vault) จำนวนฆ่า จำนวนตาย ผู้เล่นออนไลน์ และที่อยู่เซิร์ฟเวอร์ อัปเดตทุกวินาทีโดยไม่กะพริบ ซ่อนตัวเลขสีแดง บรรทัด ชื่อบอร์ด และช่วงเวลาอัปเดตอยู่ใน config.yml และใส่ placeholder ของ PlaceholderAPI ได้ทุกบรรทัด /board toggle ซ่อนบอร์ดเฉพาะผู้เล่นนั้น และบันทึกตัวเลือกไว้"

คำถาม

แถบด้านข้างมีได้กี่บรรทัด?

แสดงได้ 15 บรรทัด เนื้อหาที่ยาวกว่านั้นต้องไปไว้ที่อื่น เช่น แท็บลิสต์ แอ็กชันบาร์ หรือบอสบาร์

ใช้กับ 1.8 ได้ไหม?

ได้ Scoreboard API มีใน 1.8 แต่ความยาวข้อความต่อบรรทัดจำกัดกว่า ระบุเวอร์ชันเพื่อให้ปลั๊กอินถูกเขียนมาสำหรับเวอร์ชันนั้น

ทำไมสกอร์บอร์ดของฉันหายไป?

ส่วนใหญ่เป็นเพราะปลั๊กอินอื่นตั้งสกอร์บอร์ดของตัวเองให้ผู้เล่นหลังจากของคุณ ลบแถบด้านข้างอีกตัวออก หรือให้ปลั๊กอินเดียวแสดงทุกอย่าง

สร้างแถบด้านข้างของคุณ

พรอมต์นี้จะเปิดขึ้นพร้อมส่งได้ทันที:

“ปลั๊กอินสกอร์บอร์ดด้านข้าง Paper 1.21.4 ชื่อ Board: แถบด้านข้างเฉพาะผู้เล่น ชื่อบอร์ดสีทอง ยศจาก LuckPerms coins จาก Vault จำนวนฆ่า จำนวนตาย ผู้เล่นออนไลน์ และที่อยู่เซิร์ฟเวอร์ อัปเดตทุกวินาทีโดยไม่กะพริบ ซ่อนตัวเลขสีแดง บรรทัดและช่วงเวลาอยู่ใน config.yml รองรับ PlaceholderAPI และ /board toggle บันทึกแยกตามผู้เล่น”

สร้างสิ่งนี้ด้วย Codexe
วิธีทำปลั๊กอินสกอร์บอร์ด Minecraft (sidebar) | Codexe