WorldCannon Konfiguration
WorldCannon verwendet eine globale Konfigurationsdatei plus eine Konfigurationsdatei pro Kanone.
Dateilayout
- Globale Konfiguration:
plugins/FunRTP/config.yml - Konfigurationen pro Kanone:
plugins/FunRTP/custom/fun_rtps/<id>.yml
Das Plugin liefert ausserdem ein Beispiel-Kanonenpaket namens example_world_cannon mit. Es ist standardmaessig deaktiviert.
Struktur der globalen Konfiguration
Die Hauptkonfiguration ist unter folgenden Bereichen organisiert:
runtime.*landing.*messages.*protection.*
Laufzeiteinstellungen
| Key | Default | Behavior |
|---|---|---|
runtime.scanIntervalTicks | 10 | Wie oft Kanonen nach Spielern in der Naehe suchen |
runtime.particleIntervalTicks | 15 | Wie oft Leerlaufpartikel der Kanone gerendert werden |
Einstellungen fuer die Landesuche
| Key | Default | Behavior |
|---|---|---|
landing.searchAttemptsPerTick | 2 | Suchversuche pro Kanone pro Tick waehrend des Vorladens |
landing.preloadedLocationsPerCannon | 5 | Anzahl sicherer Ziele, die das Plugin pro Kanone in der Warteschlange halten soll |
landing.searchTimeoutSeconds | 1000 | Zeit, bevor eine weiterhin suchende Kanone als erschoepft markiert wird |
landing.slowFallingSeconds | 60 | Dauer von Langsamer Fall nach der Ankunft (der Effekt wird beim Landen fruehzeitig entfernt) |
landing.failOpenOnProtectionErrors | false | Wenn eine Schutz-API einen Fehler meldet, wird die Landung standardmaessig blockiert |
Landegeraeusche
Die folgenden Sound-Schluessel sind konfigurierbar:
landing.sounds.levitationStart.soundlanding.sounds.levitationStart.volumelanding.sounds.levitationStart.pitchlanding.sounds.blastOff.soundlanding.sounds.blastOff.volumelanding.sounds.blastOff.pitch
Die Standard-Sounds sind BLOCK_BEACON_ACTIVATE fuer das Warmup und ENTITY_GENERIC_EXPLODE fuer den Abschuss.
Listen unsicherer Materialien
WorldCannon lehnt moegliche Landeorte anhand von zwei Materiallisten ab:
landing.unsafeGroundMaterialslanding.unsafeBodyMaterials
Standardmaessig unsichere Bodenmaterialien:
LAVAMAGMA_BLOCKCAMPFIRESOUL_CAMPFIRECACTUSPOWDER_SNOW
Standardmaessig unsichere Koerpermaterialien:
LAVAWATERFIRESOUL_FIRESWEET_BERRY_BUSHPOWDER_SNOWCOBWEB
Nachrichteneinstellungen
Das Plugin stellt Nachrichten- und Titel-Schluessel unter folgenden Pfaden bereit:
messages.prefixmessages.helpHeadermessages.createdCannonmessages.deletedCannonmessages.movedCannonmessages.targetWorldUpdatedmessages.searchCenterUpdatedmessages.reloadmessages.noPermissionmessages.cannonDisabledmessages.queueCalibrationmessages.noValidLocationYetmessages.noValidLocationFoundmessages.invalidConfigurationmessages.statusLinemessages.probeAllowedmessages.probeBlockedmessages.unknownCommandmessages.titles.launchQueuedTitlemessages.titles.launchQueuedSubtitlemessages.titles.destinationPreviewTitlemessages.titles.destinationPreviewSubtitlemessages.titles.destinationConfirmedTitlemessages.titles.destinationConfirmedSubtitlemessages.titles.arrivalSubtitles
Die Titel-Schluessel steuern die automatische Start- und Ankunftsnachricht. arrivalSubtitles ist eine Liste; das Plugin waehlt bei jedem Start zufaellig eine Zeile aus. In der aktuellen Implementierung gibt es keine manuelle Bestaetigungsabfrage.
Konfigurationsfelder pro Kanone
Jede Kanonendatei speichert diese Felder:
| Field | Default | Notes |
|---|---|---|
isEnabled | true fuer neu erstellte Kanonen | Deaktivierte Kanonen werden nicht ausgeloest |
displayName | Bereinigte id mit in Leerzeichen umgewandelten Unterstrichen | Wird in Nachrichten und der Statusausgabe verwendet |
cannonLocation | Required | Wo sich der Kanonenausloeser befindet |
targetWorld | Aktuelle Welt zum Zeitpunkt der Erstellung | Muss zur Laufzeit geladen sein |
searchCenter | Aktueller Welt-Spawn zum Zeitpunkt der Erstellung | Wenn spaeter nicht gesetzt, faellt das Plugin auf den Spawn der Zielwelt zurueck |
triggerRadius | 1.75 | Radius, der zur Erkennung naher Spieler verwendet wird |
minSearchRadius | 500 | Mindestdistanz fuer die Landesuche vom Suchzentrum aus |
maxSearchRadius | 5000 | Maximale Distanz fuer die Landesuche vom Suchzentrum aus |
launchWarmupSeconds | 6 | Levitation-/Countdown-Zeit vor dem Start |
verticalBoostTicks | 45 | Ticks mit Aufwaertsgeschwindigkeit vor dem Teleport |
verticalBoostVelocity | 1.35 | Aufwaertsgeschwindigkeit, die waehrend des Starts angewendet wird |
enableParticles | true | Steuert die Leerlaufpartikel der Kanone |
requiredPermission | blank | Optional zusaetzliche Berechtigungsschranke fuer diese Kanone |
Standardwerte bei der Kanonenerstellung
Wenn du /wc create ausfuehrst:
- die Kanonen-id wird kleingeschrieben und Zeichen ausser
a-z,0-9,_und-werden durch_ersetzt - der Anzeigename wird standardmaessig auf die bereinigte id mit in Leerzeichen umgewandelten Unterstrichen gesetzt
cannonLocationwird auf deine aktuelle Position gesetzttargetWorldwird auf deine aktuelle Welt gesetztsearchCenterwird auf den Spawn dieser Welt gesetzt
Verhalten bei der Laufzeitvalidierung
WorldCannon lehnt moegliche Landeorte ab, wenn eine dieser Pruefungen fehlschlaegt:
- die Zielwelt ist nicht geladen
- das Suchzentrum ist ungueltig
- die Zufallsprobe landet ausserhalb der Weltgrenze
- es wird keine sichere feste Oberflaeche gefunden
- der Fuss- oder Kopfbereich ist blockiert
- Terrain- oder Koerperbloecke entsprechen den konfigurierten Listen unsicherer Materialien
- eine Schutzintegration blockiert die Landung
Wenn eine Kanone vor landing.searchTimeoutSeconds keine gueltigen Orte finden kann, wird sie als erschoepft markiert und gibt statt Spieler zu starten die konfigurierte Fehlermeldung zurueck.