Kawaiiverse StudioDreams · Games · Infinite Worlds

🟩 BedrockCommandsMenengah3 menit baca

Sistem Scoreboard Minecraft Bedrock dari Dasar sampai Mahir

Cara membuat objective scoreboard di Minecraft Bedrock, menampilkan di sidebar, menambah dan mengurangi skor, operasi matematika, timer, memeriksa skor dengan /execute, dan menampilkan skor di tellraw.

Oleh KawaiiVerse Studio · Diperbarui

Scoreboard adalah "database angka" di Minecraft Bedrock. Setiap pemain atau entitas bisa menyimpan angka untuk banyak objective: uang, jumlah kill, level, waktu bermain, sampai status quest. Hampir semua sistem berbasis command dibangun di atas scoreboard.

Konsep dasar

  • Objective: nama tabel angka, misalnya uang.
  • Participant: pemilik skor. Bisa pemain, entitas, atau nama palsu (fake player) seperti #global.
  • Score: angka bulat milik participant di objective tertentu.

Membuat objective

mcfunction
/scoreboard objectives add uang dummy "Uang"
/scoreboard objectives add kill dummy "Total Kill"
/scoreboard objectives list
/scoreboard objectives remove kill

Di Bedrock, jenis objective yang tersedia adalah dummy. Angka hanya berubah lewat command atau script, tidak otomatis. Karena itu, sistem seperti hitungan kill harus dibuat sendiri dengan command atau Script API.

Menampilkan skor

mcfunction
/scoreboard objectives setdisplay sidebar uang
/scoreboard objectives setdisplay list uang
/scoreboard objectives setdisplay belowname uang
/scoreboard objectives setdisplay sidebar

Baris terakhir (tanpa nama objective) menyembunyikan sidebar. Urutan sidebar bisa diatur dengan menambahkan ascending atau descending di akhir.

Mengubah skor

mcfunction
/scoreboard players set @a uang 0
/scoreboard players add @p uang 50
/scoreboard players remove @p uang 20
/scoreboard players reset @p uang
/scoreboard players list @p
/scoreboard players random @p dadu 1 6

Memeriksa skor

Gunakan argumen scores pada selector:

mcfunction
@a[scores={uang=100}]        tepat 100
@a[scores={uang=100..}]      100 atau lebih
@a[scores={uang=..99}]       99 atau kurang
@a[scores={uang=10..50}]     10 sampai 50
@a[scores={uang=!0}]         bukan 0
@a[scores={uang=10..,level=5..}]  dua syarat sekaligus

Atau dengan /execute:

mcfunction
/execute as @a if score @s uang matches 1000.. run tag @s add sultan
/execute if score #global event matches 1 run say Event sedang berlangsung!

Operasi matematika

/scoreboard players operation menghitung antar-skor:

mcfunction
/scoreboard players operation @s total = @s uang
/scoreboard players operation @s total += @s bank
/scoreboard players operation @s uang -= #harga temp
/scoreboard players operation @s hasil *= #dua angka
/scoreboard players operation @s hasil /= #sepuluh angka
/scoreboard players operation @s hasil %= #tiga angka
/scoreboard players operation @s terbesar > @s uang
/scoreboard players operation @a uang >< @s uang

Operator yang tersedia: =, +=, -=, *=, /=, %=, < (ambil yang lebih kecil), > (ambil yang lebih besar), dan >< (tukar nilai). Angka tetap disimpan di fake player:

mcfunction
/scoreboard objectives add angka dummy
/scoreboard players set #dua angka 2
/scoreboard players set #sepuluh angka 10

Contoh 1: timer hitung mundur

Buat objective dan mulai timer 60 detik:

mcfunction
/scoreboard objectives add timer dummy
/scoreboard players set #game timer 1200

Di repeating command block (atau function di tick.json), kurangi 1 setiap tick (20 tick = 1 detik):

mcfunction
/scoreboard players remove #game timer 1
/execute if score #game timer matches 0 run say Waktu habis!

Untuk menampilkan detik, bagi dengan 20 lalu tampilkan lewat actionbar:

mcfunction
/scoreboard players operation #detik timer = #game timer
/scoreboard players operation #detik timer /= #duapuluh angka
/titleraw @a actionbar {"rawtext":[{"text":"Sisa waktu: "},{"score":{"name":"#detik","objective":"timer"}},{"text":" detik"}]}

Jangan lupa /scoreboard players set #duapuluh angka 20.

Contoh 2: menghitung waktu bermain

mcfunction
# setiap tick
scoreboard players add @a tick_main 1
execute as @a[scores={tick_main=1200..}] run scoreboard players add @s menit_main 1
scoreboard players set @a[scores={tick_main=1200..}] tick_main 0

Pemain baru otomatis punya skor

Pemain yang belum punya skor tidak cocok dengan scores={uang=0..}. Beri nilai awal dengan memanfaatkan add 0, yang membuat skor jika belum ada tanpa mengubah skor yang sudah ada:

mcfunction
scoreboard players add @a uang 0

Letakkan baris ini di function yang berjalan setiap tick atau saat pemain masuk.

Menampilkan skor di teks

mcfunction
/tellraw @a {"rawtext":[{"text":"Uangmu: §6"},{"score":{"name":"*","objective":"uang"}}]}

Tips

  • Gunakan nama objective pendek tanpa spasi. Nama tampilan (dalam tanda kutip) boleh memakai spasi.
  • Simpan pengaturan global (harga, status event) di fake player berawalan #, yang tidak tampil di sidebar.
  • Batas skor adalah bilangan bulat 32-bit (sekitar ±2,1 miliar). Tidak ada angka desimal.

Sudah paham scoreboard? Gunakan untuk membuat sistem economy.

Bacaan lanjut