Zum Hauptinhalt springen

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​

PfadInhalt
config.ymlPlugin-weite Einstellungen, unten dokumentiert
ValidWorlds.ymlEin/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üsselStandardBeschreibung
distanceSurface27Gitterabstand für SURFACE-Strukturen
distanceShallow22Gitterabstand für UNDERGROUND_SHALLOW-Strukturen
distanceDeep22Gitterabstand für UNDERGROUND_DEEP-Strukturen
distanceSky90Gitterabstand für SKY-Strukturen
distanceLiquid60Gitterabstand für LIQUID_SURFACE-Strukturen
distanceDungeonV280Gitterabstand für DUNGEON-Platzierungen
maxOffsetSurface5Zufällige Streuung der Gitterpunkte an der Oberfläche
maxOffsetShallow5Zufällige Streuung der Gitterpunkte im flachen Untergrund
maxOffsetDeep5Zufällige Streuung der Gitterpunkte im tiefen Untergrund
maxOffsetSky5Zufällige Streuung der Gitterpunkte am Himmel
maxOffsetLiquid5Zufällige Streuung der Gitterpunkte auf Flüssigkeitsoberflächen
maxOffsetDungeonV218Zufä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üsselStandardBeschreibung
spawnProtectionRadius100Mindestabstand 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üsselStandardBeschreibung
lowestYNormalCustom-60Niedrigstes Y für NORMAL- und CUSTOM-Welten
highestYNormalCustom320Höchstes Y für NORMAL- und CUSTOM-Welten
lowestYNether4Niedrigstes Y im Nether
highestYNether120Höchstes Y im Nether
lowestYEnd0Niedrigstes Y im End
highestYEnd320Hö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üsselStandardBeschreibung
normalCustomAirBuildingMinAltitude80Niedrigster Himmels-Offset in NORMAL- und CUSTOM-Welten
normalCustomAirBuildingMaxAltitude120Höchster Himmels-Offset in NORMAL- und CUSTOM-Welten
endAirBuildMinAltitude80Niedrigster Himmels-Offset im End
endAirBuildMaxAltitude120Hö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üsselStandardBeschreibung
percentageOfTickUsedForPasting0.2Anteil 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.
percentageOfTickUsedForPregeneration0.1Anteil jedes Server-Ticks, den /bs pregenerate verwendet, gleicher Bereich von 0.01 bis 1
pregenerationTPSPauseThreshold12.0Die Vorgenerierung pausiert, wenn die Server-TPS unter diesen Wert fallen
pregenerationTPSResumeThreshold14.0Die 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.
modularChunkPastingSpeed10Derzeit 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üsselStandardBeschreibung
warnAdminsAboutNewBuildingstrueOb 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.
setupDonefalseOb der Ersteinrichtungsablauf abgeschlossen wurde. Auf false setzen und neu laden, damit /bs initialize erneut nachfragt.
protectEliteMobsRegionstrueOb 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.autoDownloadPluginUpdatesfalseOb 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.applyPluginUpdatesWithoutRestartneverWann 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üsselStandardBeschreibung
New worlds spawn structurestrueOb eine Welt, die BetterStructures noch nicht kennt, als aktiviert registriert wird
Valid worlds v2wird automatisch befülltEin 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 structures entnommen wird.
  • Von EliteMobs verwaltete Welten werden ausgeschlossen. Der Abenteurergilden-Hub und instanziierte Dungeon-Kopien werden als false registriert, selbst wenn New worlds spawn structures auf true steht, 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 auf true funktioniert 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 unter Valid 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 mit Valid worlds werden 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.