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 Operatoren benachrichtigt werden, wenn in der Nähe eine Struktur generiert wird. /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 Automatic Updates in /bs setup. Zum Anwenden eines heruntergeladenen Plugin-Updates ist weiterhin ein Neustart erforderlich.

ValidWorlds.yml

Diese Datei entscheidet, in welchen Welten BetterStructures generiert.

New worlds spawn structures: true
EliteMobs worlds excluded by default: true
Valid worlds:
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 worldswird automatisch befülltEin Eintrag weltname: true/false pro Welt. Setze eine Welt auf false, um jede Strukturgenerierung darin zu unterbinden.
EliteMobs worlds excluded by defaultwird nach der einmaligen Migration als true geschriebenInterne Markierung. Nicht bearbeiten.

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.
  • Bestehende em_-Einträge wurden einmalig migriert. Jede em_-Welt, die nur wegen des früheren, großzügigeren Standards auf true stand, wurde ein einziges Mal auf false umgestellt, und die Markierung EliteMobs worlds excluded by default hält fest, dass dies bereits geschehen ist. Eine Welt, die du danach bewusst wieder aktivierst, bleibt über Neustarts hinweg aktiviert.
  • 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.