Hoppa till innehållet
NORDGUILD
Chatt, tab-lista och namnskyltar

Chatt, tab-lista och namnskyltar

Chattraden ser ut så här: [Sundsvall | Stad] Felix | 34 » hej allihopa – samhällets namn i samhällets egen färg, därefter samhällets nivå, spelarens namn och spelarnivån. Spelare utan samhälle får samma rad utan stadsdelen. Tab-listan grupperar spelarna efter samhälle och visar servernamn, online och TPS i huvudet samt spelarens egna siffror i foten. Namnskylten ovanför huvudet visar stadstagg och nivå. Allt sätts med MiniMessage-mallar under chatt: i config.yml och laddas om med /chatt ladda. Det finns inga spelarkommandon: formatet, tab-listan och namnskyltarna gäller alla automatiskt. Modulen har ingen databastabell och inga ekonomiska flöden.

Kommandon

/chattAdminKonsol
  • Hjälptext med samtliga underkommandon.

alias: /chattadminnordguild.admin.chatt

/chatt laddaAdminKonsol
  • Läser om enbart chatt:-sektionen i config.yml från disk och ritar om tab-listan med de nya mallarna. Rör varken den inlästa konfigurationen i övrigt eller andra moduler – vill du lägga om allt kör du /nordguild reload.

nordguild.admin.chatt

/chatt testAdmin
  • Visar hur din egen chattrad, tab-rad och namnskylt ser ut just nu. Bara för inloggade spelare.

nordguild.admin.chatt

/chatt tab uppdateraAdminKonsol
  • Tvingar fram en uppdatering av tab-listan direkt i stället för att vänta på nästa intervall.

nordguild.admin.chatt

/chatt statusAdminKonsol
  • Aktiva mallar, separator, neutralt värde, uppdateringsintervall, stadstaggens längd, antal uppdateringar samt vilka krokar som registrerats.

nordguild.admin.chatt

/chatt hjälpAdminKonsol
  • Hjälptexten igen. Samma sak som /chatt utan argument, och det du får om du skriver ett okänt underkommando.

alias: hjalpnordguild.admin.chatt

Platshållare i mallarna

PlatshållareBetydelse
<spelare>Spelarens namn.
<spelarniva>Spelarens nivå.
<maxniva>Högsta spelarnivå på servern.
<nivaprocent>Andel av vägen till nästa nivå, i procent.
<xp>Spelarens XP.
<xpnasta>XP som krävs för nästa nivå.
<stad>Samhällets namn.
<stadstagg>Samhällets namn förkortat till chatt.tab.tagg_langd tecken, till exempel Sundsvall till SUND.
<stadsniva>Samhällets nivå, till exempel Stad.
<yrke>Spelarens yrke.
<yrkesniva>Spelarens yrkesnivå.
<saldo>Spelarens saldo.
<produktion>Samhällets produktion i procent, 0 till 100. Kräver att produktionsmodulen registrerat sin krok, annars visas det neutrala värdet.
<separator>Tecknet i chatt.format.separator, standard ».
<server>Servernamn.
<online>Antal spelare online.
<max>Max antal spelare.
<tps>TPS senaste minuten.
<tps5>TPS senaste fem minuterna.
<tps15>TPS senaste femton minuterna.
<meddelande>Själva chattmeddelandet. Bara relevant i chattmallarna.
<stadsfarg>…</stadsfarg>Färgar innehållet i samhällets egen färg.
<tpsfarg>…</tpsfarg>Färgar innehållet efter TPS: grön, gul eller röd enligt tps_bra och tps_ok.

Mallar och inställningar under chatt: i config.yml

NyckelVad den styrStandard
format.aktivOm pluginets chattformat används alls.true
format.separatorTecknet mellan namnraden och meddelandet.»
format.med_samhalleChattraden för en spelare som tillhör ett samhälle.[Stad | nivå] Spelare | nivå » meddelande
format.utan_samhalleChattraden för en spelare utan samhälle.Spelare | nivå » meddelande
neutralt_vardeVisas när ett värde inte är känt ännu eller saknar krok.
tab.aktivOm tab-listan ritas om av pluginet. false återställer vanilla och stänger även av namnskyltarna.true
tab.intervall_sekunderHur ofta tab-listan ritas om.2
tab.tagg_langdAntal tecken i stadstaggen.4
tab.rad_med_samhalleSpelarraden för den som har ett samhälle.[SUND] Felix ⟨34⟩
tab.rad_utan_samhalleSpelarraden för den som saknar samhälle.Felix ⟨34⟩
tab.huvudTab-listans huvud. Flera rader tillåtna, tomma rader ger luft. Serverglobalt.Servernamn, online av max och TPS
tab.fotTab-listans fot. Personlig.Samhälle och stadsnivå, produktion, nivå med XP-procent, yrke och yrkesnivå samt saldo
tab.tps_braTPS-gräns för grön färg.19.0
tab.tps_okTPS-gräns för gul färg. Under den blir det rött.17.0
tab.farg_bra / farg_ok / farg_daligFärgerna som <tpsfarg> använder.green / yellow / red
namnskylt.aktivNamnskylt ovanför spelarens huvud. Kräver att tab.aktiv är true.true
namnskylt.prefix_med_samhallePrefix på namnskylten för den som har ett samhälle.[SUND]
namnskylt.prefix_utan_samhallePrefix för den som saknar samhälle.tomt
namnskylt.suffixSuffix på namnskylten.⟨34⟩

Krokar som andra moduler kan registrera på ChatModule

MetodBetydelse
registerProductionProviderGer <produktion>: samhällets produktion i procent, 0 till 100, för spelarens samhälle. Utan krok visas det neutrala värdet.
registerExtraPlaceholderLägger till en egen platshållare i de spelarberoende mallarna. Värdet sätts alltid in ordagrant, och i det serverglobala tab-huvudet visas det neutrala värdet.

Bra att veta

Varning: Tab-huvudet är serverglobalt

Huvudet ritas en gång för alla spelare, så bara <server>, <online>, <max>, <tps>, <tps5>, <tps15> och <tpsfarg> har riktiga värden där. Skriver du en spelarberoende platshållare i huvudmallen visas det neutrala värdet – aldrig en annan spelares siffror. Alla andra mallar (chattraden, tab-raden, foten och namnskylten) är personliga och där fungerar samtliga platshållare.

Varning: tab.aktiv: false stänger även av namnskyltarna

Namnskyltarna använder samma scoreboard-team som tab-listans sortering. Sätter du chatt.tab.aktiv: false och kör /chatt ladda återställs spelarna till vanilla direkt: listnamn, huvud och fot nollställs och sorteringsteamen tas bort – och därmed försvinner namnskyltarna också. chatt.namnskylt.aktiv styr bara namnskylten när tab-listan är på, och satt till false töms prefix och suffix medan sorteringen behålls.

Så sorteras tab-listan

Spelarna grupperas efter samhälle – samhällena i bokstavsordning, spelare utan samhälle sist – och sorteras alfabetiskt inom gruppen. Grupperingen görs med en numrerad serie scoreboard-team på huvudscoreboarden som återanvänds, så det skapas aldrig nya team per uppdatering. Själva tab-raden sätts separat som listnamn, eftersom Minecraft använder listnamnet rakt av och inte lägger teamets prefix och suffix ovanpå.

Spelarnamn och meddelanden tolkas aldrig som MiniMessage

Skriver någon <red>hej eller en klickbar knapp i chatten visas det ordagrant. Det kan aldrig bli färg, hover eller ett kommando som körs. Länkar förblir vanlig text.

Tab-listan rör aldrig databasen

Uppdateringen körs på huvudtråden och läser enbart cachade värden. Saknas något, till exempel saldot direkt efter inloggning, visas chatt.neutralt_varde och värdet hämtas asynkront till nästa varv. Allt cachas per spelare och ritas om först när de underliggande värdena ändrats, så femtio spelare kostar i normalfallet noll MiniMessage-tolkningar per uppdatering.

Okända taggar lämnas som text

Skriver du fel på en platshållare i en mall syns den ordagrant i spelet. Kör /chatt test efter varje ändring så ser du direkt hur din egen rad blev.

Chatthändelsen avbryts aldrig

Formatet sätts som en ChatRenderer på AsyncChatEvent. Papers egna chattkanaler och mottagarlistor fungerar därför precis som förut. Kastar en krok ett undantag används det neutrala värdet, så chatten kan inte gå sönder av en trasig modul.