BetterStructures-Konfiguration
Diese Seite ist die Referenz für die beiden Konfigurationsdateien auf Plugin-Ebene, die BetterStructures in plugins/BetterStructures schreibt. Die Konfiguration auf Inhaltsebene liegt an anderer Stelle: siehe Generatoren erstellen, Strukturen erstellen, Schätze erstellen und Modulare Dungeons.
Beide Dateien werden bei jedem /bs reload im Server-Thread neu eingelesen, du brauchst also keinen Neustart, um eine Änderung hier anzuwenden.
Ordnerstruktur
| Pfad | Inhalt |
|---|---|
config.yml | Plugin-weite Einstellungen, unten dokumentiert |
ValidWorlds.yml | Ein/Aus-Schalter pro Welt, unten dokumentiert |
schematics/ | .schem-Dateien von Strukturen und die zugehörigen generierten .yml-Konfigurationen, rekursiv durchsucht |
modules/ | .schem-Dateien modularer Dungeons und die zugehörigen generierten .yml-Konfigurationen, rekursiv durchsucht |
generators/ | Generator-Konfigurationen |
module_generators/ | Konfigurationen der Modulgeneratoren |
treasures/ | Schatz-Konfigurationen (Loot-Tabellen) |
spawn_pools/ | Spawn-Pool-Konfigurationen, die von [pool: name]-Schildern genutzt werden |
content_packages/ | Paketbeschreibungen für das Setup-Menü und die Download-Befehle |
components/ | Wird beim Start leer angelegt, für Inhalte, die unterstützende Komponenten mitliefern |
imports/ | Ablageordner für manuelle Inhaltsimporte |
.schematic_cache/ | Verwalteter Cache konvertierter Schematics, kann gefahrlos gelöscht werden |
config.yml
Abstand zwischen Strukturen
BetterStructures platziert Strukturen auf einem seed-basierten Rautengitter, ein Gitter pro Strukturtyp. Die Distanz-Schlüssel legen fest, wie weit die Gitterpunkte auseinanderliegen, und die Offset-Schlüssel verschieben jeden Punkt zufällig vom Gitter weg, damit die Platzierungen nicht mechanisch wirken.
Beide werden in Chunks gemessen, nicht in Blöcken. Ein distanceSurface von 27 bedeutet ungefähr eine Oberflächenstruktur alle 27 Chunks (etwa 432 Blöcke).
| Schlüssel | Standard | Beschreibung |
|---|---|---|
distanceSurface | 27 | Gitterabstand für SURFACE-Strukturen |
distanceShallow | 22 | Gitterabstand für UNDERGROUND_SHALLOW-Strukturen |
distanceDeep | 22 | Gitterabstand für UNDERGROUND_DEEP-Strukturen |
distanceSky | 90 | Gitterabstand für SKY-Strukturen |
distanceLiquid | 60 | Gitterabstand für LIQUID_SURFACE-Strukturen |
distanceDungeonV2 | 80 | Gitterabstand für DUNGEON-Platzierungen |
maxOffsetSurface | 5 | Zufällige Streuung der Gitterpunkte an der Oberfläche |
maxOffsetShallow | 5 | Zufällige Streuung der Gitterpunkte im flachen Untergrund |
maxOffsetDeep | 5 | Zufällige Streuung der Gitterpunkte im tiefen Untergrund |
maxOffsetSky | 5 | Zufällige Streuung der Gitterpunkte am Himmel |
maxOffsetLiquid | 5 | Zufällige Streuung der Gitterpunkte auf Flüssigkeitsoberflächen |
maxOffsetDungeonV2 | 18 | Zufällige Streuung der Dungeon-Gitterpunkte |
Kleinere Distanzen bedeuten mehr Strukturen. Kleinere Offsets bedeuten eine gitterartigere Platzierung; größere Offsets bedeuten eine weniger vorhersehbare Platzierung.
Validierung. Distanzen müssen mindestens 1 betragen. Offsets müssen zwischen 0 und 1073741823 liegen, dem größten Wert, den der Platzierungs-Zufallsgenerator gefahrlos verwenden kann. Liegt ein Wert außerhalb seines Bereichs, protokolliert BetterStructures eine Warnung, schreibt den Standardwert dieses Schlüssels zurück in die config.yml und arbeitet mit dem Standard weiter, statt die Generierung abzubrechen.
Die Offsets werden aus dem Welt-Seed und dem Namen des Strukturtyps abgeleitet, derselbe Seed erzeugt also bei jedem Neustart dieselbe Anordnung.
Spawn-Schutz
| Schlüssel | Standard | Beschreibung |
|---|---|---|
spawnProtectionRadius | 100 | Mindestabstand in Blöcken von den Koordinaten 0, 0, innerhalb dessen keine Strukturen platziert werden. Gilt für jede Welt. Auf 0 setzen, um ihn zu deaktivieren. |
Beachte, dass dies vom Weltursprung aus gemessen wird, nicht vom Spawnpunkt der jeweiligen Welt.
Höhengrenzen
Diese begrenzen pro Dimension, wo unterirdische Strukturen landen dürfen. Eine Struktur, deren Ankerpunkt außerhalb des Bereichs läge, wird wieder in ihn hineingezogen.
| Schlüssel | Standard | Beschreibung |
|---|---|---|
lowestYNormalCustom | -60 | Niedrigstes Y für NORMAL- und CUSTOM-Welten |
highestYNormalCustom | 320 | Höchstes Y für NORMAL- und CUSTOM-Welten |
lowestYNether | 4 | Niedrigstes Y im Nether |
highestYNether | 120 | Höchstes Y im Nether |
lowestYEnd | 0 | Niedrigstes Y im End |
highestYEnd | 320 | Höchstes Y im End |
Himmelsstrukturen verwenden eigene Einstellungen, und diese sind Offsets oberhalb des höchsten Blocks in der jeweiligen Säule, keine absoluten Y-Höhen. Für jede Platzierung wird ein Zufallswert zwischen Minimum und Maximum ausgewürfelt.
| Schlüssel | Standard | Beschreibung |
|---|---|---|
normalCustomAirBuildingMinAltitude | 80 | Niedrigster Himmels-Offset in NORMAL- und CUSTOM-Welten |
normalCustomAirBuildingMaxAltitude | 120 | Höchster Himmels-Offset in NORMAL- und CUSTOM-Welten |
endAirBuildMinAltitude | 80 | Niedrigster Himmels-Offset im End |
endAirBuildMaxAltitude | 120 | Höchster Himmels-Offset im End |
Der Nether ignoriert alle vier: Himmelsstrukturen werden dort in einer Lufttasche platziert, die durch Absuchen des Bereichs zwischen Y 45 und Y 100 gefunden wird.
Performance
| Schlüssel | Standard | Beschreibung |
|---|---|---|
percentageOfTickUsedForPasting | 0.2 | Anteil jedes Server-Ticks, den BetterStructures für das Einfügen von Blöcken verwenden darf, von 0.01 (1 %) bis 1 (100 %). Niedrigere Werte reduzieren Lag, lassen Bauwerke aber sichtbarer nach und nach erscheinen. |
percentageOfTickUsedForPregeneration | 0.1 | Anteil jedes Server-Ticks, den /bs pregenerate verwendet, gleicher Bereich von 0.01 bis 1 |
pregenerationTPSPauseThreshold | 12.0 | Die Vorgenerierung pausiert, wenn die Server-TPS unter diesen Wert fallen |
pregenerationTPSResumeThreshold | 14.0 | Die Vorgenerierung wird fortgesetzt, wenn die TPS diesen Wert erreichen oder überschreiten. Halte ihn höher als die Pausenschwelle, um schnelles Pausieren/Fortsetzen im Wechsel zu vermeiden. |
modularChunkPastingSpeed | 10 | Derzeit ungenutzt. Der Schlüssel wird weiterhin in die config.yml geschrieben, aber nichts liest ihn aus, eine Änderung hat also keine Wirkung. |
Administration und Integration
| Schlüssel | Standard | Beschreibung |
|---|---|---|
warnAdminsAboutNewBuildings | true | Ob Spieler mit betterstructures.warn (standardmäßig OPs), die online sind, eine anklickbare Teleport-Nachricht erhalten, wenn irgendwo auf dem Server eine Struktur fertig platziert wurde oder die Generierung eines modularen Dungeons beginnt. /bs silent kehrt diesen Wert um und speichert ihn. |
setupDone | false | Ob der Ersteinrichtungsablauf abgeschlossen wurde. Auf false setzen und neu laden, damit /bs initialize erneut nachfragt. |
protectEliteMobsRegions | true | Ob BetterStructures WorldGuard-Schutz für EliteMobs-gestützte Kampfbereiche anlegt. Benötigt sowohl WorldGuard als auch EliteMobs. |
regionProtectedMessage | &8[BetterStructures] &cDefeat the zone's bosses to edit blocks! | Nachricht, die angezeigt wird, wenn ein Spieler versucht, Blöcke innerhalb einer dieser geschützten Regionen zu bearbeiten |
nightbreak.autoDownloadPluginUpdates | false | Ob Plugin- und Inhalts-Updates beim Start automatisch heruntergeladen werden. Dies ist der Schlüssel hinter dem Schalter Automatische Updates in /bs setup. Heruntergeladene Inhalts- und Plugin-Updates werden nach dem nächsten Neustart verwendet, sofern nightbreak.applyPluginUpdatesWithoutRestart das Plugin-Update nicht schon früher anwendet. |
nightbreak.applyPluginUpdatesWithoutRestart | never | Wann ein heruntergeladenes Plugin-Update angewendet wird. never wartet auf den nächsten Neustart. when-empty wendet es an, sobald keine Spieler mehr online sind, und prüft dies alle 30 Sekunden. immediately wendet es direkt nach dem Download an. Jeder andere Wert zählt als never. Beim Anwenden eines Updates werden BetterStructures und die davon abhängigen MagmaGuy-Plugins neu geladen, sodass laufende Bosse, Arenen und Dungeon-Instanzen enden. Ein Plugin eines anderen Autors, das von BetterStructures abhängt, blockiert den Austausch. /bs applypluginupdate wendet ein vorgemerktes Update auf Abruf an. |
ValidWorlds.yml
Diese Datei entscheidet, in welchen Welten BetterStructures generiert.
New worlds spawn structures: true
Valid worlds v2:
world: true
world_nether: true
world_the_end: true
| Schlüssel | Standard | Beschreibung |
|---|---|---|
New worlds spawn structures | true | Ob eine Welt, die BetterStructures noch nicht kennt, als aktiviert registriert wird |
Valid worlds v2 | wird automatisch befüllt | Ein Eintrag worldname: true/false pro Welt. Setze eine Welt auf false, um jede Strukturgenerierung darin zu unterbinden. |
Beim Upgrade wird eine ValidWorlds.yml mit dem alten Schlüssel Valid worlds unverändert nach plugins/MagmaCore/outdated files/BetterStructures/<archive batch>/ValidWorlds.yml verschoben. BetterStructures erzeugt eine Ersatzdatei mit den aktuellen Welt-Standardwerten. Prüfe deine bisherigen Einstellungen im Archiv und übertrage die gewünschten Werte nach Valid worlds v2. Führe anschließend /bs reload aus. Kopiere die alte Datei nicht unverändert zurück, da sie weiterhin dem ausgemusterten Format entspricht.
Automatisches Verhalten
- Neue Welten werden beim Laden registriert. Eine Welt, die zum ersten Mal geladen wird, erhält sofort einen Eintrag, dessen Wert
New worlds spawn structuresentnommen wird. - Von EliteMobs verwaltete Welten werden ausgeschlossen. Der Abenteurergilden-Hub und instanziierte Dungeon-Kopien werden als
falseregistriert, selbst wennNew worlds spawn structuresauftruesteht, denn ihre unbebauten Void-Chunks zählen als neue Chunks und führten dazu, dass BetterStructures Dungeon-Hubs dekorierte. Der Eintrag wird trotzdem geschrieben, ein Zurücksetzen auftruefunktioniert also, falls du das wirklich willst. - Einstellungen im aktuellen Format bleiben erhalten. BetterStructures leitet die Zugehörigkeit nicht aus einem
em_-Namen ab und überschreibt keinen vorhandenen Schalter unterValid worlds v2. Die Standardwerte für neue Welten richten sich nach dem Weltregister von EliteMobs. Eine ausdrücklich aktivierte EliteMobs-Welt bleibt aktiviert und löst eine Warnung aus, damit du über eine Änderung entscheiden kannst. Alte Dateien mitValid worldswerden wie oben beschrieben archiviert und neu erzeugt. - Tote Einträge werden entfernt. Beim Start und etwa zehn Sekunden nach dem Entladen einer Welt werden Einträge entfernt, deren Welt weder geladen noch auf der Festplatte vorhanden ist, damit die Datei nicht unbegrenzt wächst.