Zum Hauptinhalt springen

CannonRTP-Nachrichten und -Titel

Alle spielerseitigen Zeichenketten liegen in plugins/CannonRTP/messages.yml und sind vollständig überschreibbar. Jeder Wert unterstützt MagmaCore-Gradienten (<gradient:#start:#end>...</gradient>), MiniMessage-Tags und ältere &-Farbcodes. Der Platzhalter $prefix in jeder Nachricht wird durch den konfigurierten Wert von prefix ersetzt.

Release 1 liefert nur Englisch; der Schlüssel language in config.yml existiert, damit zukünftige Übersetzungspakete ihn ansprechen können.

Präfix und Hilfe-Kopfzeile

SchlüsselPlatzhalterStandardBeschreibung
prefix--<gradient:#ff9a3d:#ffd166>CannonRTP</gradient> &8|Präfix, das über $prefix in jede Nachricht eingefügt wird
helpHeader$prefix$prefix &fCannonRTP commands:Begrüßungszeile, die oben in /cannonrtp, /wc help und /wc list / /wc status ausgegeben wird

Chat-Nachrichten

SchlüsselPlatzhalterBeschreibung
createdCannon$prefix, $cannon, $id, $pathWird nach erfolgreichem /wc create gesendet
placedCannon$prefix, $cannonWird nach erfolgreichem /wc place gesendet
removedCannon$prefix, $cannonWird nach erfolgreichem /wc remove gesendet
deletedCannon$prefix, $cannonWird nach erfolgreichem /wc delete gesendet
targetWorldUpdated$prefix, $cannon, $worldWird nach erfolgreichem /wc target gesendet
searchCenterUpdated$prefix, $cannonWird nach erfolgreichem /wc center gesendet
reload$prefix, $countWird nach Abschluss von /wc reload gesendet
noPermission$prefix, $cannonWird gesendet, wenn ein Spieler in eine Kanone tritt, für die ihm requiredPermission fehlt (gedrosselt auf einmal alle 3 Sekunden pro Spieler und Kanone)
cannonDisabled$prefix, $cannonWird gesendet, wenn ein Spieler in eine deaktivierte Kanone tritt
queueCalibration$prefix, $cannon, $queued, $target, $attemptsWird gesendet, während eine Kanone noch vorlädt und ein Spieler hineintritt. In dieser Nachricht ist $target chargedLocationsPerCannon; $attempts ist das verbleibende Suchversuchs-Budget, bevor die Kanone erschöpft ist
noValidLocationYet$prefix, $cannonWird gesendet, wenn noch kein sicherer Ort in die Warteschlange aufgenommen wurde
noValidLocationFound$prefix, $cannon, $reasonWird gesendet, wenn CannonRTP nach Ausschöpfen von searchTimeoutAttempts aufgibt. $reason ist eine kommagetrennte Zusammenfassung der häufigsten Ablehnungsgründe
invalidConfiguration$prefix, $cannon, $reasonWird gesendet, wenn ein Konfigurationsfehler erkannt wird (z. B. nicht geladene Zielwelt)
statusLine$prefix, $cannon, $status, $queued, $target, $reasonZeilenformat, das für jede Zeile von /wc list und /wc status verwendet wird. In dieser Nachricht ist $target preloadedLocationsPerCannon (das volle Reserveziel, nicht der Aufgeladen-Schwellenwert)
probeAllowed$prefixWird von /wc probe gesendet, wenn der Ort gültig ist
probeBlocked$prefix, $plugin, $reasonWird von /wc probe gesendet, wenn der Ort blockiert ist
unknownCommand$prefixWird gesendet, wenn ein Admin einen unbekannten Unterbefehl verwendet

Titelpools

Mehrere Titelplätze in der Startsequenz sind als Liste statt als einzelne Zeichenkette konfiguriert. Bei jedem Start wählt CannonRTP einen Eintrag zufällig aus der Liste. Das verhindert, dass sich wiederholte Starts identisch anfühlen.

SchlüsselPlatzhalterPhaseBeschreibung
titles.launchQueuedTitles--Beginn von SEARCHINGPool von Titelzeichenketten, die beim Beginn eines Starts angezeigt werden
titles.launchQueuedSubtitles$cannonBeginn von SEARCHINGPool von Untertiteln, die mit dem Starttitel gepaart werden
titles.destinationPreviewTitles--SEARCHING (jeder Tick)Pool von Titeln, die angezeigt werden, während zufällige Koordinaten vorbeiflackern
titles.destinationPreviewSubtitle$x, $y, $zSEARCHING (jeder Tick)Einzelne Untertitelzeichenkette, die die flackernden zufälligen Koordinaten anzeigt
titles.destinationConfirmedTitles--Beginn von FIRINGPool von Titeln, die in dem Moment angezeigt werden, in dem das echte Ziel feststeht
titles.destinationConfirmedSubtitle$x, $y, $z, $worldBeginn von FIRINGEinzelner Untertitel, der das echte Ziel anzeigt
titles.arrivalTitles--TELEPORTINGPool von Titeln, die direkt nach der Luftabwurf-Teleportation angezeigt werden
titles.arrivalSubtitles--TELEPORTINGPool von Untertiteln, die neben dem Ankunftstitel angezeigt werden

Einzeln vs. Pool

destinationPreviewSubtitle und destinationConfirmedSubtitle sind einzelne Zeichenketten, weil sie dynamische Koordinaten enthalten, die immer gerendert werden müssen. Die anderen Titel- und Untertitelplätze sind Pools und werden pro Start zufällig gewählt.

Standard-Titelpools

Die in messages.yml mitgelieferten Standardwerte:

launchQueuedTitles -- Launching, Ignition, Liftoff (Orange-Gold-Gradient)

launchQueuedSubtitles -- $cannon (warmes Gold)

destinationPreviewTitles -- Calibrating, Scanning, Targeting (Orange-Gold)

destinationConfirmedTitles -- Locked, Set, Engaged (Grün)

arrivalTitles -- Arrived, Touchdown, Airborne (kühles Weiß)

arrivalSubtitles -- Good luck., Stick the landing., Eyes up. Ground soon., Wind check complete. Good luck., Drop zone acquired. Good luck.

Platzhalter-Referenz

PlatzhalterAufgelöst zu
$prefixDer Wert von messages.yml -> prefix
$cannonDer displayName der Kanone
$idDie Konfigurations-ID der Kanone (bereinigte Kleinschreibung)
$pathAbsoluter Pfad zur frisch erstellten Kanonenkonfigurationsdatei (nur in createdCannon)
$worldName der Zielwelt
$countAnzahl der nach einem Reload geladenen Kanonen
$queuedAktuelle Warteschlangengröße einer Kanone
$targetKontextabhängig: chargedLocationsPerCannon in queueCalibration, preloadedLocationsPerCannon in statusLine. Beide Schlüssel liegen in landing.yml.
$attemptsVerbleibende Suchversuche, bevor die Kanone erschöpft ist
$statusEiner von Ready, Charging, Maintaining, Exhausted, Disabled, Invalid
$reasonMenschenlesbares Detail eines Status oder Fehlers
$pluginDer Name des Schutz-Plugins, das einen Ort blockiert hat
$x, $y, $zKoordinaten (eine Nachkommastelle)

Hinweis zur Lokalisierung

Jeder oben aufgeführte Schlüssel durchläuft den Farb-/Gradientenprozessor von MagmaCore, bevor er dem Spieler angezeigt wird. Übersetzungspakete, die auf language in config.yml abzielen, werden über denselben translatable()-Hook eingebunden (in Release 1 derzeit ein Passthrough).