Zum Hauptinhalt springen

Extractioncraft Konfiguration

Extractioncraft verwendet mehrere Konfigurationsdateien. Die Haupteinstellungen befinden sich in config.yml und messaging.yml. Inhaltspakete, Loot-Tabellen und Loot-Pools haben jeweils eigene Konfigurationsordner.

config.yml​

SchlüsselTypStandardBeschreibung
deleteItemsOnFailToExtractBooleantrueOb Spieler alle Items verlieren, wenn sie sich nicht über einen der Extraktionspunkte aus einem Match extrahieren können. Wenn aktiviert, ist der vorgefertigte Inhalt auf dieses Risiko ausbalanciert. Die Deaktivierung macht Inhalte einfacher zu farmen und verringert den Anreiz, die Extraktionsmechaniken zu nutzen.
nightbreak.autoDownloadPluginUpdatesBooleanfalseGemeinsame MagmaCore-Einstellung, die nach dem Start von Extractioncraft in die Datei geschrieben wird. Bei true werden verfügbare Extractioncraft-Plugin-Updates wenige Minuten nach dem Start heruntergeladen und nach dem nächsten Neustart verwendet, sofern nightbreak.applyPluginUpdatesWithoutRestart sie nicht schon früher anwendet. Siehe automatische Updates.
nightbreak.applyPluginUpdatesWithoutRestartStringneverGemeinsame MagmaCore-Einstellung. never wartet auf den nächsten Neustart, when-empty wendet ein heruntergeladenes Plugin-Update an, sobald das nächste Mal keine Spieler online sind, und immediately wendet es direkt nach dem Download an. Das Anwenden eines Updates lädt Extractioncraft neu, wodurch laufende Matches enden. Siehe Updates ohne Neustart anwenden.

Das Leeren greift erst, wenn das Match live ist. Wer geht, während es wartet oder herunterzählt, behält sein Inventar unverändert. Bei Extraktion, Server-Shutdown oder Plugin-Reload bleiben die Items erhalten, und ungebundene Items werden per Soulbind an den Spieler gebunden, wenn die EliteMobs-Verzauberung Soulbind aktiviert ist. Steht diese Option auf false, werden die Items bei jedem anderen Verlassen eines laufenden Matches per Soulbind gebunden statt gelöscht. Die einzelnen Arten des Verlassens findest du unter Match-Ablauf.

messaging.yml​

Alle Nachrichten unterstützen &-Farbcodes. Platzhalter sind pro Zeile angegeben.

SchlüsselStandardBeschreibung
failedToJoinOngoingMatchAsPlayerMessageCan't join this match - it has already started!Wird angezeigt, wenn ein Spieler versucht, einem laufenden Match beizutreten
failedToJoinOngoingMatchAsPlayerInstanceIsFullCan't join this match - the instance is already full!Wird angezeigt, wenn das Match seine maximale Spieleranzahl erreicht hat
failedToJoinOngoingMatchAsPlayerNoPermissionCan't join this match - you don't have the permission!Konfigurierbare Nachricht bei fehlender Berechtigung. Wird derzeit nicht gesendet: Extractioncraft-Matches setzen keine Beitrittsberechtigung.
failedToJoinMatchAsSpectatorNoSpectatorsAllowedMessageCan't join this match - spectators are not allowed!Konfigurierbare Nachricht für den Fall, dass das Zuschauen für das Inhaltspaket deaktiviert ist. Wird derzeit von der MagmaCore-Match-Laufzeit nicht ausgegeben: Der Zuschau-Versuch wird stillschweigend abgelehnt, ohne dass eine Nachricht gesendet wird.
failedToJoinMatchAsSpectatorNoPermissionCan't spectate this match - you don't have the permission!Konfigurierbare Nachricht für den Fall, dass ein Spieler keine Zuschauer-Berechtigung hat. Wird derzeit nicht gesendet: Zum Zuschauen ist keine Berechtigung nötig.
matchJoinAsPlayerMessage[Extractioncraft] You are now in the match, $player!Chat-Nachricht beim Beitritt zu einem Match als Spieler. $player wird durch den Namen des Spielers ersetzt, $count durch die Mindestspielerzahl.
matchJoinAsPlayerTitleExtract!Titel, der beim Beitritt zu einem Match angezeigt wird
matchJoinAsPlayerSubtitleGrab the loot and head to an extraction point!Untertitel, der beim Beitritt zu einem Match angezeigt wird
matchJoinAsSpectatorTitle(leer)Titel beim Beitritt als Zuschauer. Extractioncraft hat keinen Zuschauerbefehl, daher sehen ihn nur Zuschauer, die ein anderes Plugin über die API zulässt.
matchJoinAsSpectatorSubtitleNow spectating!Untertitel beim Beitritt als Zuschauer. Wird nur an Zuschauer gesendet, die über die API zugelassen wurden.
matchJoinAsSpectatorMessage[Extractioncraft] You are now spectating a match! Do &a/extractioncraft quit &fto stop spectating!Chat-Nachricht beim Beitritt als Zuschauer. Wird nur an Zuschauer gesendet, die über die API zugelassen wurden. $player wird durch den Namen des Spielers ersetzt.
matchLeaveAsPlayerMessage[Extractioncraft] You have left the match, $player!Konfigurierbare Verlassen-Nachricht. Wird derzeit von der MagmaCore-Match-Laufzeit nicht ausgegeben, und $player wird nicht ersetzt.
matchLeaveAsSpectatorMessage[Extractioncraft] You have left the match, $player!Konfigurierbare Verlassen-Nachricht für Zuschauer. Wird derzeit von der MagmaCore-Match-Laufzeit nicht ausgegeben, und $player wird nicht ersetzt.
matchFailedToStartNotEnoughPlayersMessageThis match requires $count players before starting - can't start yet!Wird allen im Match angezeigt, wenn /exc start ohne genügend Spieler verwendet wird. Nur der Platzhalter $amount wird durch die Mindestspielerzahl ersetzt, daher zeigt der Standardtext $count wörtlich an. Verwende $amount, wenn die Zahl eingesetzt werden soll.
matchStartingMessage[Extractioncraft] Match starting!Konfigurierbare Match-Start-Chat-Nachricht. Wird derzeit von der MagmaCore-Match-Laufzeit nicht ausgegeben (der Countdown wird stattdessen über Titel/Untertitel angezeigt).
matchStartingTitleMatch starting!Countdown-Titel. $count zeigt im Sekundenabstand 2, 1 und dann 0.
matchStartingSubtitlein $count...Countdown-Untertitel. $count zeigt im Sekundenabstand 2, 1 und dann 0.
preventTeleportInMessage[Extractioncraft] You have attempted to teleport into an ongoing match - you can't do that!Konfigurierbare Nachricht für blockierte Teleports in eine Match-Welt. Der Teleport selbst wird von der Laufzeit abgebrochen, diese Nachricht wird dem Spieler aber derzeit nicht gesendet.
preventTeleportOutMessage[Extractioncraft] You have attempted to teleport from an ongoing match - you can't do that!Konfigurierbare Nachricht für blockierte Teleports aus einem Match heraus. Der Teleport selbst wird von der Laufzeit abgebrochen, diese Nachricht wird dem Spieler aber derzeit nicht gesendet.

Inhaltspaket-Konfiguration​

Inhaltspakete sind YAML-Dateien im Ordner content_packages/. Jedes definiert eine spielbare Kartenkonfiguration.

SchlüsselTypStandardBeschreibung
isEnabledBooleantrueOb das Paket als installiert gilt. Das steuert die Farbe seines Eintrags in /exc setup (true = installiert/grün, false = heruntergeladen, aber nicht installiert/gelb), und das Setup-Menü schaltet den Wert für dich um. /exc createMatch bietet ein deaktiviertes Paket weiterhin in der Tab-Vervollständigung an, verweigert aber dessen Generierung.
nameString(erforderlich)Anzeigename des Pakets (unterstützt &-Farbcodes)
descriptionString-Liste(erforderlich)Beschreibungszeilen, die im Setup-Menü angezeigt werden
downloadLinkString(optional)URL, die im Chat angezeigt wird, wenn du im Setup-Menü auf ein nicht heruntergeladenes Paket klickst. Die vorgefertigten Pakete verwenden https://nightbreak.io/plugin/extractioncraft/.
versionInteger0Versionsnummer des Inhalts. Die Inhaltsstatus-Prüfung von Extractioncraft unterscheidet nur zwischen nicht heruntergeladen / installiert / nicht installiert, dieser Wert wird derzeit also mit nichts verglichen.
folderNameString(optional)Wird in die vorgefertigten Dateien geschrieben, vom aktuellen Code aber nicht gelesen. Ob ein Paket als heruntergeladen gilt, hängt von betterStructuresModulesContainerName ab.
usesEliteMobsBooleanfalseDeklarative Markierung, dass das Paket EliteMobs-Inhalte verwendet. Wird zur Laufzeit nicht erzwungen.
usesBetterStructuresBooleanfalseDeklarative Markierung, dass das Paket BetterStructures-Inhalte verwendet. Wird zur Laufzeit nicht erzwungen.
usesFreeMinecraftModulesBooleanfalseDeklarative Markierung, dass das Paket FreeMinecraftModels-Inhalte verwendet. Wird zur Laufzeit nicht erzwungen. Beachte, dass der YAML-Schlüssel im Quellcode usesFreeMinecraftModules (mit "Modules") geschrieben wird.
betterStructuresModulesContainerNameString(optional)Der Dateiname der BetterStructures-Modulgenerator-Konfiguration, die beim Ausführen von /exc createMatch an den Weltgenerator übergeben wird, z.B. kobold_mines_module_generator_10.yml. Dieser Schlüssel entscheidet tatsächlich darüber, welche Karte generiert wird. Der Generator muss aktiviert sein, isWorldGeneration: true haben und mindestens ein installiertes Startmodul auflisten. Das Setup-Menü behandelt das Paket als heruntergeladen, sobald BetterStructures diesen Generator geladen hat.
spectatableBooleanfalseOb das Match Zuschauer zulässt. Extractioncraft hat keinen Zuschauerbefehl, daher betrifft dies nur Zuschauer, die ein anderes Plugin über die API zulässt.
pvpEnabledBooleantrueOb PvP während der Matches aktiviert ist. Bei false können Spieler und ihre Projektile anderen Spielern nirgends in der Match-Welt Schaden zufügen.
minPlayersInteger1Mindestanzahl Spieler zum Starten eines Matches. /exc start verweigert den Start darunter, und der Countdown wird abgebrochen (und das Match beendet), wenn die Anzahl währenddessen darunter fällt. Werte über maxPlayers werden auf maxPlayers gesenkt.
maxPlayersInteger100Maximale Spieleranzahl in einem Match (mindestens 1). Alle fünf vorgefertigten Kobold-Mines-Pakete überschreiben diesen Wert mit 8. Extractioncraft registriert keinen Beitrittsbefehl, daher betritt nur der Ersteller ein Match, sofern nicht ein anderes Plugin über die API Spieler zulässt.
contentLevelInteger10Level, das beim Erzeugen von Truhen- und Fass-Loot an EliteMobs übergeben wird. Werte unter 1 werden zu 1. Die vorgefertigten Pakete verwenden 10, 20, 30, 40 und 50.
chestLootTablesString-Liste[]Loot-Tabellen für Truhen, formatiert als filename.yml:weight
barrelLootTablesString-Liste[]Loot-Tabellen für Fässer, formatiert als filename.yml:weight

Loot-Tabellen-Gewichtungsformat​

Truhen- und Fass-Loot-Tabelleneinträge verwenden das Format <loot_table_filename.yml>:<weight>. Wenn ein Spieler einen Behälter öffnet, wird eine Loot-Tabelle anhand der Gewichte ausgewählt.

Beispiel:

chestLootTables:
- my_chest_high_loot_table.yml:.2
- my_chest_low_loot_table.yml:.2
barrelLootTables:
- kobold_mines_supplies_loot_table.yml:1

Der Teil :weight ist zwingend erforderlich und muss eine positive Zahl sein. Ein Eintrag ohne genau einen Doppelpunkt, mit leerem Dateinamen oder mit einem Gewicht, das keine positive Zahl ist, wird mit einer Warnung übersprungen. Gewichte sind relativ zueinander, das obige Beispiel gibt den beiden Truhen-Tabellen also jeweils einen gleich großen Anteil von 50 %. Ein Dateiname, zu dem es keine Datei in loot_tables/ gibt, erzeugt beim Start eine Warnung und wird übersprungen, ebenso eine Tabelle mit isEnabled: false. Bleibt keine nutzbare Tabelle übrig, bewirkt ein Rechtsklick auf diese Art von Behälter nichts.