Guide
Så gör du ett scoreboard-plugin för Minecraft
Uppdaterad 18 oktober 2026
Sidofältet till höger på skärmen är den mest synliga delen av många servrar: servernamnet, spelarens rang, pengar, kills, spelare online. Ett plugin ritar det via Bukkits Scoreboard-API. Det svåra är att ge varje spelare egna rader och att uppdatera dem smidigt.
Anpassa raderna efter din server.
Generera det här med CodexeSteg för steg
1.Skriv raderna
Titeln och varje rad uppifrån och ned, med värdena de visar: ”Rang: Admin”, ”Coins: 1 250”, ”Online: 34”. Sidofältet visar högst 15 rader.
2.Ge varje spelare en scoreboard
Rader som skiljer sig per spelare kräver en scoreboard per spelare, från
Bukkit.getScoreboardManager().getNewScoreboard(), som sätts medplayer.setScoreboard(...)när spelaren ansluter.3.Skapa målet för sidofältet
Registrera ett dummy-mål och sätt dess visningsplats till
DisplaySlot.SIDEBAR. Varje rad är en post med en poäng som bestämmer dess position.4.Uppdatera värdena
En upprepad uppgift, till exempel varje sekund, uppdaterar bara de rader som har ändrats. Använd lagprefix och lagsuffix för texten så att raderna inte flimrar.
5.Lägg till placeholders
Med PlaceholderAPI visar rader som
%vault_eco_balance%värden från andra plugin utan extra kod.6.Bygg och titta på det i spelet
Låt Codexe kompilera det, anslut till testservern och kontrollera varje rad, ändra sedan ett värde och se det uppdateras.
Så fungerar sidofältet
- Ett mål åt gången visas i sidofältet per scoreboard. Dess visningsnamn är titeln.
- Raderna sorteras efter poäng, högst först, så poängen är bara radnumret baklänges.
- Varje rad måste vara en egen post: två identiska rader behöver en osynlig skillnad, till exempel olika färgkoder.
- De röda siffrorna till höger kan döljas från Minecraft 1.20.3, som lade till nummerformat för poäng. Äldre versioner visar dem alltid.
- En spelare ser en scoreboard: om ett annat plugin sätter sin egen vinner den sista. Använd ett plugin för sidofältet, eller ange vilka andra plugin som delar scoreboarden.
Uppdatera utan flimmer
Att ta bort en rad och lägga till en ny får den att blinka. Den vanliga lösningen är att ge varje rad en fast, osynlig post och lägga den synliga texten i prefixet och suffixet för ett lag som innehåller posten; när laget uppdateras ändras texten på plats. Be om ”inget flimmer” i begäran så skrivs pluginet på det sättet.
Plugin, Skript eller datapack?
| Alternativ | Klarar | Begränsning |
|---|---|---|
| Plugin | Rader per spelare, vilket värde som helst, animationer, placeholders | Kräver Spigot, Paper eller en fork |
| Skript med SkBee | Sidofält per spelare från ett skript | Kräver Skript och tillägget |
| Datapack | Visa ett mål, som dödsfall eller kills, i sidofältet | Samma siffror för alla, ingen fri text per spelare |
Exempelbeskrivning
”Ett Paper 1.21.4-plugin som heter Board. Ett sidofält för varje spelare med titeln i guld, sedan rang (från LuckPerms), coins (från Vault), kills, dödsfall, spelare online och serveradressen. Uppdateras varje sekund utan flimmer, röda siffror dolda. Rader, titel och uppdateringsintervall i config.yml, med PlaceholderAPI-placeholders tillåtna på alla rader. /board toggle döljer det per spelare och valet sparas.”
Frågor
Hur många rader kan ett sidofält ha?
15 rader visas. Längre innehåll behöver en annan plats, som tablistan, action bar eller en boss bar.
Fungerar det på 1.8?
Ja, Scoreboard-API:et finns på 1.8, men textlängden per rad är mer begränsad där. Ange versionen så att pluginet skrivs för den.
Varför försvinner min scoreboard?
Oftast sätter ett annat plugin sin egen scoreboard på spelaren efter din. Ta bort det andra sidofältet, eller låt ett plugin visa allt.
Gör ditt sidofält
Den här prompten öppnas färdig att skicka:
“Ett scoreboard-plugin för sidofältet till Paper 1.21.4 som heter Board: sidofält per spelare med guldtitel, rang från LuckPerms, coins från Vault, kills, dödsfall, spelare online och serveradressen, uppdaterat varje sekund utan flimmer, röda siffror dolda, rader och intervall i config.yml med stöd för PlaceholderAPI, /board toggle sparat per spelare.”
Generera det här med Codexe