[{"data":1,"prerenderedAt":836},["ShallowReactive",2],{"docs-navigation:\u002Fdocs\u002Fmodules\u002Fvital-scoreboards\u002Fplayer-scoreboards":3,"docs-page-estimated-read-time:\u002Fdocs\u002Fmodules\u002Fvital-scoreboards\u002Fplayer-scoreboards":399,"docs-page:\u002Fdocs\u002Fmodules\u002Fvital-scoreboards\u002Fplayer-scoreboards":400},[4,9,41,69,282],{"title":5,"path":6,"stem":7,"icon":8},"Welcome to the Vital docs","\u002Fdocs\u002Fabout","docs\u002F1.about","i-lucide-info",{"title":10,"path":11,"stem":12,"children":13,"icon":40},"Getting started","\u002Fdocs\u002Fgetting-started","docs\u002F2.getting-started\u002F1.index",[14,16,35],{"title":15,"path":11,"stem":12,"icon":8},"What is Vital?",{"title":17,"icon":18,"path":19,"stem":20,"children":21,"page":34},"Installation","i-lucide-download","\u002Fdocs\u002Fgetting-started\u002Finstallation","docs\u002F2.getting-started\u002F1.installation",[22,26,30],{"title":23,"path":24,"stem":25},"Using a starter project (~5 minutes)","\u002Fdocs\u002Fgetting-started\u002Finstallation\u002Fstarter","docs\u002F2.getting-started\u002F1.installation\u002F2.starter",{"title":27,"path":28,"stem":29},"Manual configuration (~7-8 minutes)","\u002Fdocs\u002Fgetting-started\u002Finstallation\u002Fmanual","docs\u002F2.getting-started\u002F1.installation\u002F3.manual",{"title":31,"path":32,"stem":33},"Using the initializer (~2-3 minutes)","\u002Fdocs\u002Fgetting-started\u002Finstallation\u002Finitializer","docs\u002F2.getting-started\u002F1.installation\u002F4.initializer",false,{"title":36,"path":37,"stem":38,"icon":39},"Main class","\u002Fdocs\u002Fgetting-started\u002Fmain-plugin-class","docs\u002F2.getting-started\u002F2.main-plugin-class","i-lucide-play","i-lucide-circle-play",{"title":42,"path":43,"stem":44,"children":45,"icon":68},"Conventions","\u002Fdocs\u002Fconventions","docs\u002F3.conventions\u002F1.index",[46,48,52,56,60,64],{"title":47,"path":43,"stem":44,"icon":8},"About",{"title":49,"path":50,"stem":51},"Spring","\u002Fdocs\u002Fconventions\u002Fspring","docs\u002F3.conventions\u002F2.spring",{"title":53,"path":54,"stem":55},"Platforms","\u002Fdocs\u002Fconventions\u002Fplatform-implementations","docs\u002F3.conventions\u002F3.platform-implementations",{"title":57,"path":58,"stem":59},"Metadata","\u002Fdocs\u002Fconventions\u002Fmetadata","docs\u002F3.conventions\u002F4.metadata",{"title":61,"path":62,"stem":63},"Lifecycles","\u002Fdocs\u002Fconventions\u002Flifecycles","docs\u002F3.conventions\u002F5.lifecycles",{"title":65,"path":66,"stem":67},"(Optional) Advanced class loading","\u002Fdocs\u002Fconventions\u002Fadvanced-classloading","docs\u002F3.conventions\u002F6.advanced-classloading","i-lucide-cog",{"title":70,"path":71,"stem":72,"children":73,"icon":281},"Modules","\u002Fdocs\u002Fmodules","docs\u002F4.modules\u002F1.index",[74,76,100,106,112,126,136,150,164,178,188,224,234,248,257,275],{"title":75,"path":71,"stem":72,"icon":8},"What are modules?",{"title":77,"path":78,"stem":79,"children":80,"icon":99},"vital-core","\u002Fdocs\u002Fmodules\u002Fvital-core","docs\u002F4.modules\u002F2.vital-core\u002F1.index",[81,83,87,91,95],{"title":82,"path":78,"stem":79,"icon":8},"About this module",{"title":84,"path":85,"stem":86},"Configuration","\u002Fdocs\u002Fmodules\u002Fvital-core\u002Fconfiguration","docs\u002F4.modules\u002F2.vital-core\u002F2.configuration",{"title":88,"path":89,"stem":90},"Listeners","\u002Fdocs\u002Fmodules\u002Fvital-core\u002Flisteners","docs\u002F4.modules\u002F2.vital-core\u002F3.listeners",{"title":92,"path":93,"stem":94},"Conditional beans","\u002Fdocs\u002Fmodules\u002Fvital-core\u002Fconditional-beans","docs\u002F4.modules\u002F2.vital-core\u002F4.conditional-beans",{"title":96,"path":97,"stem":98},"Repositories","\u002Fdocs\u002Fmodules\u002Fvital-core\u002Frepositories","docs\u002F4.modules\u002F2.vital-core\u002F5.repositories","",{"title":101,"path":102,"stem":103,"children":104,"icon":99},"vital-cloudnet4-bridge","\u002Fdocs\u002Fmodules\u002Fvital-cloudnet4-bridge","docs\u002F4.modules\u002Fvital-cloudnet4-bridge\u002F1.index",[105],{"title":82,"path":102,"stem":103,"icon":8},{"title":107,"path":108,"stem":109,"children":110,"icon":99},"vital-cloudnet4-driver","\u002Fdocs\u002Fmodules\u002Fvital-cloudnet4-driver","docs\u002F4.modules\u002Fvital-cloudnet4-driver\u002F1.index",[111],{"title":82,"path":108,"stem":109,"icon":8},{"title":113,"path":114,"stem":115,"children":116,"icon":99},"vital-commands","\u002Fdocs\u002Fmodules\u002Fvital-commands","docs\u002F4.modules\u002Fvital-commands\u002F1.index",[117,118,122],{"title":82,"path":114,"stem":115,"icon":8},{"title":119,"path":120,"stem":121},"Commands","\u002Fdocs\u002Fmodules\u002Fvital-commands\u002Fcommands","docs\u002F4.modules\u002Fvital-commands\u002Fcommands",{"title":123,"path":124,"stem":125},"Exception handling","\u002Fdocs\u002Fmodules\u002Fvital-commands\u002Fexception-handling","docs\u002F4.modules\u002Fvital-commands\u002Fexception-handling",{"title":127,"path":128,"stem":129,"children":130,"icon":99},"vital-configs","\u002Fdocs\u002Fmodules\u002Fvital-configs","docs\u002F4.modules\u002Fvital-configs\u002F1.index",[131,132],{"title":82,"path":128,"stem":129,"icon":8},{"title":133,"path":134,"stem":135},"Configs","\u002Fdocs\u002Fmodules\u002Fvital-configs\u002Fconfigs","docs\u002F4.modules\u002Fvital-configs\u002F2.configs",{"title":137,"path":138,"stem":139,"children":140,"icon":99},"vital-holograms","\u002Fdocs\u002Fmodules\u002Fvital-holograms","docs\u002F4.modules\u002Fvital-holograms\u002F1.index",[141,142,146],{"title":82,"path":138,"stem":139,"icon":8},{"title":143,"path":144,"stem":145},"Global holograms","\u002Fdocs\u002Fmodules\u002Fvital-holograms\u002Fglobal-holograms","docs\u002F4.modules\u002Fvital-holograms\u002F2.global-holograms",{"title":147,"path":148,"stem":149},"Player holograms","\u002Fdocs\u002Fmodules\u002Fvital-holograms\u002Fplayer-holograms","docs\u002F4.modules\u002Fvital-holograms\u002F3.player-holograms",{"title":151,"path":152,"stem":153,"children":154,"icon":99},"vital-inventories","\u002Fdocs\u002Fmodules\u002Fvital-inventories","docs\u002F4.modules\u002Fvital-inventories\u002F1.index",[155,156,160],{"title":82,"path":152,"stem":153,"icon":8},{"title":157,"path":158,"stem":159},"Normal inventories","\u002Fdocs\u002Fmodules\u002Fvital-inventories\u002Fnormal-inventories","docs\u002F4.modules\u002Fvital-inventories\u002F2.normal-inventories",{"title":161,"path":162,"stem":163},"Paged inventories","\u002Fdocs\u002Fmodules\u002Fvital-inventories\u002Fpaged-inventories","docs\u002F4.modules\u002Fvital-inventories\u002F3.paged-inventories",{"title":165,"path":166,"stem":167,"children":168,"icon":99},"vital-items","\u002Fdocs\u002Fmodules\u002Fvital-items","docs\u002F4.modules\u002Fvital-items\u002F1.index",[169,170,174],{"title":82,"path":166,"stem":167,"icon":8},{"title":171,"path":172,"stem":173},"Items","\u002Fdocs\u002Fmodules\u002Fvital-items\u002Fitems","docs\u002F4.modules\u002Fvital-items\u002F2.items",{"title":175,"path":176,"stem":177},"Item builders","\u002Fdocs\u002Fmodules\u002Fvital-items\u002Fitem-builders","docs\u002F4.modules\u002Fvital-items\u002F3.item-builders",{"title":179,"path":180,"stem":181,"children":182,"icon":99},"vital-localization","\u002Fdocs\u002Fmodules\u002Fvital-localization","docs\u002F4.modules\u002Fvital-localization\u002F1.index",[183,184],{"title":82,"path":180,"stem":181,"icon":8},{"title":185,"path":186,"stem":187},"Localization","\u002Fdocs\u002Fmodules\u002Fvital-localization\u002Flocalization","docs\u002F4.modules\u002Fvital-localization\u002F2.localization",{"title":189,"path":190,"stem":191,"children":192,"icon":99},"vital-minigames","\u002Fdocs\u002Fmodules\u002Fvital-minigames","docs\u002F4.modules\u002Fvital-minigames\u002F1.index",[193,194,208],{"title":82,"path":190,"stem":191,"icon":8},{"title":195,"path":196,"stem":197,"children":198,"icon":99},"Global games","\u002Fdocs\u002Fmodules\u002Fvital-minigames\u002Fglobal-games","docs\u002F4.modules\u002Fvital-minigames\u002F2.global-games\u002F1.index",[199,200,204],{"title":47,"path":196,"stem":197,"icon":8},{"title":201,"path":202,"stem":203},"States","\u002Fdocs\u002Fmodules\u002Fvital-minigames\u002Fglobal-games\u002Fstates","docs\u002F4.modules\u002Fvital-minigames\u002F2.global-games\u002F2.states",{"title":205,"path":206,"stem":207},"Countdown states","\u002Fdocs\u002Fmodules\u002Fvital-minigames\u002Fglobal-games\u002Fcountdown-states","docs\u002F4.modules\u002Fvital-minigames\u002F2.global-games\u002F3.countdown-states",{"title":209,"path":210,"stem":211,"children":212,"icon":99},"Instanced games","\u002Fdocs\u002Fmodules\u002Fvital-minigames\u002Finstanced-games","docs\u002F4.modules\u002Fvital-minigames\u002F3.instanced-games\u002F1.index",[213,214,218,221],{"title":47,"path":210,"stem":211,"icon":8},{"title":215,"path":216,"stem":217},"Instances","\u002Fdocs\u002Fmodules\u002Fvital-minigames\u002Finstanced-games\u002Finstances","docs\u002F4.modules\u002Fvital-minigames\u002F3.instanced-games\u002F2.instances",{"title":201,"path":219,"stem":220},"\u002Fdocs\u002Fmodules\u002Fvital-minigames\u002Finstanced-games\u002Fstates","docs\u002F4.modules\u002Fvital-minigames\u002F3.instanced-games\u002F3.states",{"title":205,"path":222,"stem":223},"\u002Fdocs\u002Fmodules\u002Fvital-minigames\u002Finstanced-games\u002Fcountdown-states","docs\u002F4.modules\u002Fvital-minigames\u002F3.instanced-games\u002F4.countdown-states",{"title":225,"path":226,"stem":227,"children":228,"icon":99},"vital-players","\u002Fdocs\u002Fmodules\u002Fvital-players","docs\u002F4.modules\u002Fvital-players\u002F1.index",[229,230],{"title":82,"path":226,"stem":227,"icon":8},{"title":231,"path":232,"stem":233},"Players","\u002Fdocs\u002Fmodules\u002Fvital-players\u002Fplayers","docs\u002F4.modules\u002Fvital-players\u002F2.players",{"title":235,"path":236,"stem":237,"children":238,"icon":99},"vital-scoreboards","\u002Fdocs\u002Fmodules\u002Fvital-scoreboards","docs\u002F4.modules\u002Fvital-scoreboards\u002F1.index",[239,240,244],{"title":82,"path":236,"stem":237,"icon":8},{"title":241,"path":242,"stem":243},"Global scoreboards","\u002Fdocs\u002Fmodules\u002Fvital-scoreboards\u002Fglobal-scoreboards","docs\u002F4.modules\u002Fvital-scoreboards\u002Fglobal-scoreboards",{"title":245,"path":246,"stem":247},"Player scoreboards","\u002Fdocs\u002Fmodules\u002Fvital-scoreboards\u002Fplayer-scoreboards","docs\u002F4.modules\u002Fvital-scoreboards\u002Fplayer-scoreboards",{"title":249,"path":250,"stem":251,"children":252,"icon":99},"vital-statistics","\u002Fdocs\u002Fmodules\u002Fvital-statistics","docs\u002F4.modules\u002Fvital-statistics\u002F1.index",[253,254],{"title":82,"path":250,"stem":251,"icon":8},{"title":84,"path":255,"stem":256},"\u002Fdocs\u002Fmodules\u002Fvital-statistics\u002Fconfiguration","docs\u002F4.modules\u002Fvital-statistics\u002F2.configuration",{"title":258,"path":259,"stem":260,"children":261,"icon":99},"vital-tasks","\u002Fdocs\u002Fmodules\u002Fvital-tasks","docs\u002F4.modules\u002Fvital-tasks\u002F1.index",[262,263,267,271],{"title":82,"path":259,"stem":260,"icon":8},{"title":264,"path":265,"stem":266},"Repeatable tasks","\u002Fdocs\u002Fmodules\u002Fvital-tasks\u002Frepeatable-tasks","docs\u002F4.modules\u002Fvital-tasks\u002F2.repeatable-tasks",{"title":268,"path":269,"stem":270},"Countdown tasks","\u002Fdocs\u002Fmodules\u002Fvital-tasks\u002Fcountdown-tasks","docs\u002F4.modules\u002Fvital-tasks\u002F3.countdown-tasks",{"title":272,"path":273,"stem":274},"Scheduled tasks","\u002Fdocs\u002Fmodules\u002Fvital-tasks\u002Fscheduled-tasks","docs\u002F4.modules\u002Fvital-tasks\u002F4.scheduled-tasks",{"title":276,"path":277,"stem":278,"children":279,"icon":99},"vital-utils (Also for non Vital projects)","\u002Fdocs\u002Fmodules\u002Fvital-utils","docs\u002F4.modules\u002Fvital-utils\u002F1.index",[280],{"title":82,"path":277,"stem":278,"icon":8},"i-lucide-package",{"title":283,"path":284,"stem":285,"children":286,"icon":398},"Recipes","\u002Fdocs\u002Frecipes","docs\u002F5.recipes\u002F1.index",[287,289,301,305,317,330,341,344,368,371,384],{"title":288,"path":284,"stem":285,"icon":8},"What are recipes?",{"title":119,"path":290,"stem":291,"children":292,"page":34},"\u002Fdocs\u002Frecipes\u002Fcommands","docs\u002F5.recipes\u002Fcommands",[293,297],{"title":294,"path":295,"stem":296},"Command with arg exception handler","\u002Fdocs\u002Frecipes\u002Fcommands\u002Fcommands","docs\u002F5.recipes\u002Fcommands\u002Fcommands",{"title":298,"path":299,"stem":300},"Global command exception handler","\u002Fdocs\u002Frecipes\u002Fcommands\u002Fglobal-exception-handler","docs\u002F5.recipes\u002Fcommands\u002Fglobal-exception-handler",{"title":302,"path":303,"stem":304},"Config","\u002Fdocs\u002Frecipes\u002Fconfig","docs\u002F5.recipes\u002Fconfig",{"title":306,"path":307,"stem":308,"children":309,"page":34},"Holograms","\u002Fdocs\u002Frecipes\u002Fholograms","docs\u002F5.recipes\u002Fholograms",[310,314],{"title":311,"path":312,"stem":313},"Global hologram","\u002Fdocs\u002Frecipes\u002Fholograms\u002Fglobal-holograms","docs\u002F5.recipes\u002Fholograms\u002Fglobal-holograms",{"title":147,"path":315,"stem":316},"\u002Fdocs\u002Frecipes\u002Fholograms\u002Fplayer-holograms","docs\u002F5.recipes\u002Fholograms\u002Fplayer-holograms",{"title":318,"path":319,"stem":320,"children":321,"page":34},"Inventories","\u002Fdocs\u002Frecipes\u002Finventories","docs\u002F5.recipes\u002Finventories",[322,326],{"title":323,"path":324,"stem":325},"Normal inventory","\u002Fdocs\u002Frecipes\u002Finventories\u002Fnormal-inventory","docs\u002F5.recipes\u002Finventories\u002Fnormal-inventory",{"title":327,"path":328,"stem":329},"Paged inventory","\u002Fdocs\u002Frecipes\u002Finventories\u002Fpaged-inventory","docs\u002F5.recipes\u002Finventories\u002Fpaged-inventory",{"title":171,"path":331,"stem":332,"children":333,"page":34},"\u002Fdocs\u002Frecipes\u002Fitems","docs\u002F5.recipes\u002Fitems",[334,338],{"title":335,"path":336,"stem":337},"Interactable items","\u002Fdocs\u002Frecipes\u002Fitems\u002Finteractable-items","docs\u002F5.recipes\u002Fitems\u002Finteractable-items",{"title":175,"path":339,"stem":340},"\u002Fdocs\u002Frecipes\u002Fitems\u002Fitem-builders","docs\u002F5.recipes\u002Fitems\u002Fitem-builders",{"title":185,"path":342,"stem":343},"\u002Fdocs\u002Frecipes\u002Flocalization","docs\u002F5.recipes\u002Flocalization",{"title":345,"path":346,"stem":347,"children":348,"page":34},"Minigames","\u002Fdocs\u002Frecipes\u002Fminigames","docs\u002F5.recipes\u002Fminigames",[349,353,357,361,365],{"title":350,"path":351,"stem":352},"Global minigame countdown states","\u002Fdocs\u002Frecipes\u002Fminigames\u002Fglobal-countdown-states","docs\u002F5.recipes\u002Fminigames\u002Fglobal-countdown-states",{"title":354,"path":355,"stem":356},"Global minigame states","\u002Fdocs\u002Frecipes\u002Fminigames\u002Fglobal-states","docs\u002F5.recipes\u002Fminigames\u002Fglobal-states",{"title":358,"path":359,"stem":360},"Instance countdown states","\u002Fdocs\u002Frecipes\u002Fminigames\u002Finstance-countdown-states","docs\u002F5.recipes\u002Fminigames\u002Finstance-countdown-states",{"title":362,"path":363,"stem":364},"Instance states","\u002Fdocs\u002Frecipes\u002Fminigames\u002Finstance-states","docs\u002F5.recipes\u002Fminigames\u002Finstance-states",{"title":215,"path":366,"stem":367},"\u002Fdocs\u002Frecipes\u002Fminigames\u002Finstances","docs\u002F5.recipes\u002Fminigames\u002Finstances",{"title":231,"path":369,"stem":370},"\u002Fdocs\u002Frecipes\u002Fplayers","docs\u002F5.recipes\u002Fplayers",{"title":372,"path":373,"stem":374,"children":375,"page":34},"Scoreboards","\u002Fdocs\u002Frecipes\u002Fscoreboards","docs\u002F5.recipes\u002Fscoreboards",[376,380],{"title":377,"path":378,"stem":379},"Global scoreboard","\u002Fdocs\u002Frecipes\u002Fscoreboards\u002Fglobal-scoreboard","docs\u002F5.recipes\u002Fscoreboards\u002Fglobal-scoreboard",{"title":381,"path":382,"stem":383},"Player scoreboard","\u002Fdocs\u002Frecipes\u002Fscoreboards\u002Fplayer-scoreboard","docs\u002F5.recipes\u002Fscoreboards\u002Fplayer-scoreboard",{"title":385,"path":386,"stem":387,"children":388,"page":34},"Tasks","\u002Fdocs\u002Frecipes\u002Ftasks","docs\u002F5.recipes\u002Ftasks",[389,392,395],{"title":268,"path":390,"stem":391},"\u002Fdocs\u002Frecipes\u002Ftasks\u002Fcountdown-tasks","docs\u002F5.recipes\u002Ftasks\u002Fcountdown-tasks",{"title":264,"path":393,"stem":394},"\u002Fdocs\u002Frecipes\u002Ftasks\u002Frepeatable-tasks","docs\u002F5.recipes\u002Ftasks\u002Frepeatable-tasks",{"title":272,"path":396,"stem":397},"\u002Fdocs\u002Frecipes\u002Ftasks\u002Fscheduled-tasks","docs\u002F5.recipes\u002Ftasks\u002Fscheduled-tasks","i-lucide-cooking-pot",2,{"id":401,"title":402,"body":403,"description":829,"extension":830,"meta":831,"navigation":832,"path":246,"rawbody":833,"seo":834,"stem":247,"__hash__":835},"docs\u002Fdocs\u002F4.modules\u002Fvital-scoreboards\u002Fplayer-scoreboards.md","About player scoreboards",{"type":404,"value":405,"toc":827},"minimark",[406,410,418,426,432,441,599,605,608,614,660,666,769,775,797,803,823],[407,408,245],"h1",{"id":409},"player-scoreboards",[411,412,413,414,417],"p",{},"You can create player scoreboards that are specifically designed to show data that may be unique across multiple players.",[415,416],"br",{},"\nWith player scoreboards, you can create scoreboards that show translated text and show data specifically tied to a single player.",[411,419,420,421,425],{},"If you do not need to show unique data \u002F texts for each player, you should use ",[422,423,424],"a",{"href":242},"global scoreboards",".",[411,427,428,429,431],{},"Unlike other components, scoreboards are not classes since they don't require any special data or event management.",[415,430],{},"\nSimply create your scoreboard wherever you need it and store it globally.",[433,434,435],"blockquote",{},[411,436,437,438,440],{},"It is recommended to expose your scoreboards as a Spring bean.",[415,439],{},"\nBut if you don't want to, you don't have to.",[442,443,447],"pre",{"className":444,"code":445,"language":446,"meta":99,"style":99},"language-java shiki shiki-themes material-theme-lighter github-light github-dark","@Bean\npublic VitalPlayerScoreboard vitalPlayerScoreboard() {\n  return new VitalPlayerScoreoard(\n    (player) -> \"Title\",\n    (player) -> \"Line 1\",\n    (player) -> \"Line 2\",\n    (player) -> \"Line 3\"\n  );\n}\n","java",[448,449,450,463,482,498,528,548,568,587,593],"code",{"__ignoreMap":99},[451,452,455,459],"span",{"class":453,"line":454},"line",1,[451,456,458],{"class":457},"sP7_E","@",[451,460,462],{"class":461},"sbsja","Bean\n",[451,464,465,468,472,476,479],{"class":453,"line":399},[451,466,467],{"class":461},"public",[451,469,471],{"class":470},"s_bVq"," VitalPlayerScoreboard",[451,473,475],{"class":474},"sGLFI"," vitalPlayerScoreboard",[451,477,478],{"class":457},"()",[451,480,481],{"class":457}," {\n",[451,483,485,489,492,495],{"class":453,"line":484},3,[451,486,488],{"class":487},"sVHd0","  return",[451,490,491],{"class":487}," new",[451,493,494],{"class":474}," VitalPlayerScoreoard",[451,496,497],{"class":457},"(\n",[451,499,501,504,508,511,514,518,522,525],{"class":453,"line":500},4,[451,502,503],{"class":457},"    (",[451,505,507],{"class":506},"su5hD","player",[451,509,510],{"class":457},")",[451,512,513],{"class":461}," ->",[451,515,517],{"class":516},"sjJ54"," \"",[451,519,521],{"class":520},"s_sjI","Title",[451,523,524],{"class":516},"\"",[451,526,527],{"class":457},",\n",[451,529,531,533,535,537,539,541,544,546],{"class":453,"line":530},5,[451,532,503],{"class":457},[451,534,507],{"class":506},[451,536,510],{"class":457},[451,538,513],{"class":461},[451,540,517],{"class":516},[451,542,543],{"class":520},"Line 1",[451,545,524],{"class":516},[451,547,527],{"class":457},[451,549,551,553,555,557,559,561,564,566],{"class":453,"line":550},6,[451,552,503],{"class":457},[451,554,507],{"class":506},[451,556,510],{"class":457},[451,558,513],{"class":461},[451,560,517],{"class":516},[451,562,563],{"class":520},"Line 2",[451,565,524],{"class":516},[451,567,527],{"class":457},[451,569,571,573,575,577,579,581,584],{"class":453,"line":570},7,[451,572,503],{"class":457},[451,574,507],{"class":506},[451,576,510],{"class":457},[451,578,513],{"class":461},[451,580,517],{"class":516},[451,582,583],{"class":520},"Line 3",[451,585,586],{"class":516},"\"\n",[451,588,590],{"class":453,"line":589},8,[451,591,592],{"class":457},"  );\n",[451,594,596],{"class":453,"line":595},9,[451,597,598],{"class":457},"}\n",[411,600,601,602,604],{},"Note that the title and lines are both lambda functions that take in a player.",[415,603],{},"\nEvery time you change the title or the lines, the title and lines functions will be invoked to produce a freshly updated scoreboard.",[606,607],"hr",{},[411,609,610,611,425],{},"To change the title, use ",[448,612,613],{},"setTitle(BiFunction\u003CPlayer, String>)",[442,615,617],{"className":444,"code":616,"language":446,"meta":99,"style":99},"vitalPlayerScoreboard.setTitle(player -> \"New title for \" + player.getName());\n",[448,618,619],{"__ignoreMap":99},[451,620,621,624,626,629,632,635,638,640,643,645,649,652,654,657],{"class":453,"line":454},[451,622,623],{"class":506},"vitalPlayerScoreboard",[451,625,425],{"class":457},[451,627,628],{"class":474},"setTitle",[451,630,631],{"class":457},"(",[451,633,634],{"class":506},"player ",[451,636,637],{"class":461},"->",[451,639,517],{"class":516},[451,641,642],{"class":520},"New title for ",[451,644,524],{"class":516},[451,646,648],{"class":647},"smGrS"," +",[451,650,651],{"class":506}," player",[451,653,425],{"class":457},[451,655,656],{"class":474},"getName",[451,658,659],{"class":457},"());\n",[411,661,662,663,425],{},"To change the lines, use ",[448,664,665],{},"setLines(List\u003CBiFunction\u003CPlayer, String>>)",[442,667,669],{"className":444,"code":668,"language":446,"meta":99,"style":99},"vitalPlayerScoreboard.setLines(List.of(\n  player -> \"New line 1 for \" + player.getName(),\n  player -> \"New line 2 for \" + player.getName(),\n  player -> \"New line 3 for \" + player.getName()\n));\n",[448,670,671,692,717,740,764],{"__ignoreMap":99},[451,672,673,675,677,680,682,685,687,690],{"class":453,"line":454},[451,674,623],{"class":506},[451,676,425],{"class":457},[451,678,679],{"class":474},"setLines",[451,681,631],{"class":457},[451,683,684],{"class":506},"List",[451,686,425],{"class":457},[451,688,689],{"class":474},"of",[451,691,497],{"class":457},[451,693,694,697,699,701,704,706,708,710,712,714],{"class":453,"line":399},[451,695,696],{"class":506},"  player ",[451,698,637],{"class":461},[451,700,517],{"class":516},[451,702,703],{"class":520},"New line 1 for ",[451,705,524],{"class":516},[451,707,648],{"class":647},[451,709,651],{"class":506},[451,711,425],{"class":457},[451,713,656],{"class":474},[451,715,716],{"class":457},"(),\n",[451,718,719,721,723,725,728,730,732,734,736,738],{"class":453,"line":484},[451,720,696],{"class":506},[451,722,637],{"class":461},[451,724,517],{"class":516},[451,726,727],{"class":520},"New line 2 for ",[451,729,524],{"class":516},[451,731,648],{"class":647},[451,733,651],{"class":506},[451,735,425],{"class":457},[451,737,656],{"class":474},[451,739,716],{"class":457},[451,741,742,744,746,748,751,753,755,757,759,761],{"class":453,"line":500},[451,743,696],{"class":506},[451,745,637],{"class":461},[451,747,517],{"class":516},[451,749,750],{"class":520},"New line 3 for ",[451,752,524],{"class":516},[451,754,648],{"class":647},[451,756,651],{"class":506},[451,758,425],{"class":457},[451,760,656],{"class":474},[451,762,763],{"class":457},"()\n",[451,765,766],{"class":453,"line":530},[451,767,768],{"class":457},"));\n",[411,770,771,772,425],{},"To add a player to the scoreboard, use ",[448,773,774],{},"addPlayer(Player)",[442,776,778],{"className":444,"code":777,"language":446,"meta":99,"style":99},"vitalPlayerScoreboard.addPlayer(myPlayer);\n",[448,779,780],{"__ignoreMap":99},[451,781,782,784,786,789,791,794],{"class":453,"line":454},[451,783,623],{"class":506},[451,785,425],{"class":457},[451,787,788],{"class":474},"addPlayer",[451,790,631],{"class":457},[451,792,793],{"class":506},"myPlayer",[451,795,796],{"class":457},");\n",[411,798,799,800,425],{},"To remove a player from the scoreboard, use ",[448,801,802],{},"removePlayer(Player)",[442,804,806],{"className":444,"code":805,"language":446,"meta":99,"style":99},"vitalPlayerScoreboard.removePlayer(myPlayer);\n",[448,807,808],{"__ignoreMap":99},[451,809,810,812,814,817,819,821],{"class":453,"line":454},[451,811,623],{"class":506},[451,813,425],{"class":457},[451,815,816],{"class":474},"removePlayer",[451,818,631],{"class":457},[451,820,793],{"class":506},[451,822,796],{"class":457},[824,825,826],"style",{},"html pre.shiki code .sP7_E, html code.shiki .sP7_E{--shiki-light:#39ADB5;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sbsja, html code.shiki .sbsja{--shiki-light:#9C3EDA;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .s_bVq, html code.shiki .s_bVq{--shiki-light:#9C3EDA;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sGLFI, html code.shiki .sGLFI{--shiki-light:#6182B8;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sVHd0, html code.shiki .sVHd0{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#D73A49;--shiki-default-font-style:inherit;--shiki-dark:#F97583;--shiki-dark-font-style:inherit}html pre.shiki code .su5hD, html code.shiki .su5hD{--shiki-light:#90A4AE;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sjJ54, html code.shiki .sjJ54{--shiki-light:#39ADB5;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .s_sjI, html code.shiki .s_sjI{--shiki-light:#91B859;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .smGrS, html code.shiki .smGrS{--shiki-light:#39ADB5;--shiki-default:#D73A49;--shiki-dark:#F97583}",{"title":99,"searchDepth":399,"depth":399,"links":828},[],"This page explains how you can create scoreboards that only visible by specific players and will show player-specific content for each player.","md",{},{"title":245},"---\ntitle: About player scoreboards\ndescription: This page explains how you can create scoreboards that only visible by specific players and will show player-specific content for each player.\nnavigation:\n  title: Player scoreboards\n---\n\n# Player scoreboards\n\nYou can create player scoreboards that are specifically designed to show data that may be unique across multiple players.  \nWith player scoreboards, you can create scoreboards that show translated text and show data specifically tied to a single player.  \n\nIf you do not need to show unique data \u002F texts for each player, you should use [global scoreboards](\u002Fdocs\u002Fmodules\u002Fvital-scoreboards\u002Fglobal-scoreboards).\n\nUnlike other components, scoreboards are not classes since they don't require any special data or event management.  \nSimply create your scoreboard wherever you need it and store it globally.\n\n> It is recommended to expose your scoreboards as a Spring bean.  \n> But if you don't want to, you don't have to.\n\n```java\n@Bean\npublic VitalPlayerScoreboard vitalPlayerScoreboard() {\n  return new VitalPlayerScoreoard(\n    (player) -> \"Title\",\n    (player) -> \"Line 1\",\n    (player) -> \"Line 2\",\n    (player) -> \"Line 3\"\n  );\n}\n```\n\nNote that the title and lines are both lambda functions that take in a player.  \nEvery time you change the title or the lines, the title and lines functions will be invoked to produce a freshly updated scoreboard.\n\n---\n\nTo change the title, use `setTitle(BiFunction\u003CPlayer, String>)`.  \n```java\nvitalPlayerScoreboard.setTitle(player -> \"New title for \" + player.getName());\n```\n\nTo change the lines, use `setLines(List\u003CBiFunction\u003CPlayer, String>>)`.  \n```java\nvitalPlayerScoreboard.setLines(List.of(\n  player -> \"New line 1 for \" + player.getName(),\n  player -> \"New line 2 for \" + player.getName(),\n  player -> \"New line 3 for \" + player.getName()\n));\n```\n\nTo add a player to the scoreboard, use `addPlayer(Player)`.  \n```java\nvitalPlayerScoreboard.addPlayer(myPlayer);\n```\n\nTo remove a player from the scoreboard, use `removePlayer(Player)`.  \n```java\nvitalPlayerScoreboard.removePlayer(myPlayer);\n```\n",{"title":402,"description":829},"mwUFeWGjHvIKBLQW0HGgrEe-TNsDmM2jbCzvTLXxWnc",1789308658758]