Was ist eine Treasure-Datei?
Treasure-Dateien bestimmen die Loot-Tabellen für BetterStructures-Truhen. Sie werden normalerweise [Generatoren](../Better Structures/creating_generators.md#treasurefilename) zugewiesen, können aber auch auf der Ebene einer [individuellen Build-Konfiguration](../Better Structures/creating_structures.md#treasurefile) festgelegt werden.
Diese Loot-Tabellen sind sehr leistungsstark, erfordern jedoch Kenntnisse einiger grundlegender statistischer Konzepte, um sie zu verstehen.
Lesen Sie hier über diese Konzepte, der Rest der Seite setzt voraus, dass Sie sie verstehen!
Gewichtete Wahrscheinlichkeit
BetterStructures und EliteMobs verwenden häufig das Konzept der gewichteten Wahrscheinlichkeit. Dies dient dazu, ein einfaches Problem zu lösen: Wie kann man die Chance festlegen, ein Element aus einer Liste von potenziell unendlich vielen Elementen auszuwählen?
Die gewichtete Wahrscheinlichkeit löst dieses Problem, indem sie jedem Element ein Gewicht gibt. Wenn Sie 100 Elemente haben und jedes ein Gewicht von 1 hat, dann haben alle die gleiche Chance - 1% - ausgewählt zu werden. Wenn Sie ein weiteres Element hinzufügen, sodass insgesamt 101 Elemente vorhanden sind, und diesem letzten Element eine Chance von 1 geben, haben alle Elemente immer noch die gleiche Chance - ~0,99% - ausgewählt zu werden. Wenn Sie dem letzten Element ein Gewicht von 2 geben, erhöht sich die Chance, dass es ausgewählt wird - das neue Gesamtgewicht beträgt 102, das letzte Element hat ein Gewicht von 2 und 100/102 = ~0,98%, also 0,98%+0,98% = 1,96% Chance, ausgewählt zu werden. Wenn Sie dem letzten Element ein Gewicht von 100 geben, beträgt das neue Gewicht 200, und da die Hälfte dieses Gewichts Ihr neues Element ist, hat Ihr neues Element eine 50%ige Chance, ausgewählt zu werden.
Wie Sie sehen können, ist dies nützlich, wenn Sie Listen von Hunderten von Dingen haben, aus denen Sie zufällig auswählen möchten.
Gaußsche Verteilung
Eine Gaußsche Verteilung ist eine glockenförmige mathematische Funktion.

Sie fragen sich vielleicht, wie dies für das Loot-System relevant ist. Eine Sache, die BetterStructures entscheiden muss, wenn Loot in Truhen platziert wird, ist, wie viel Loot in diesen Truhen erscheint. Die Menge sollte konstant um eine bestimmte Zahl herum liegen, aber idealerweise nicht so vorhersehbar sein, dass das Öffnen einer Truhe weniger aufregend wird.
Um diesen halbzufälligen Effekt zu erzielen, wird die Gaußsche Verteilung verwendet, um zu randomisieren, wie viele Elemente ausgewählt werden. Sobald diese Menge ausgewählt ist, wählt die gewichtete Wahrscheinlichkeit ein Element aus der Seltenheitstabelle zufällig unter Berücksichtigung der Gewichte aus.
Wie funktioniert also die Gaußsche Verteilung?
Glücklicherweise müssen Sie sich keine Gedanken über die Mathematik dahinter machen und können sich stattdessen auf die beiden Einstellungen konzentrieren, die sie verändern: Mittelwert und Standardabweichung.
Mittelwert
Einfach ausgedrückt legt mean die Mitte der Gaußschen Kurve fest, was bedeutet, dass es die wahrscheinlichste Anzahl von Elementen festlegt, die in einer Truhe erscheinen. Im Wesentlichen, wenn Ihre Truhen normalerweise 5 Elemente haben sollen, setzen Sie Ihren Mittelwert auf 5.
Standardabweichung
Stellen Sie sich vor, die durchschnittliche Anzahl von Elementen in einer Truhe beträgt 5. Die standard deviation hilft zu entscheiden, wie sehr sich diese Zahl von einer Truhe zur anderen ändern kann.
Kleine Standard Deviation (z.B. 1): Das bedeutet, dass die meisten Truhen Elemente sehr nahe am Durchschnitt haben, wie 4, 5 oder 6 Elemente. Es ist eine vorhersehbarere Erfahrung. Wenn eine Truhe beispielsweise eine Standardabweichung von 1 hat, können Sie erwarten, dass fast alle Truhen zwischen 4 und 6 Elemente haben.
Mittlere Standard Deviation (z.B. 2): Hier gibt es mehr Abwechslung. Truhen könnten 3 bis 7 Elemente haben. Während 5 Elemente immer noch üblich sind, ist es nicht ungewöhnlich, Truhen mit etwas mehr oder weniger zu finden. Mit einer Standardabweichung von 2 finden Sie also gelegentlich eine Truhe mit nur 3 Elementen oder, wenn Sie Glück haben, eine mit 7 Elementen.
Große Standard Deviation (z.B. 3 oder mehr): Jetzt wird es wirklich überraschend! Truhen könnten nur 2 Elemente oder bis zu 8 oder mehr haben. Das bedeutet, dass Sie eine Truhe mit nur ein paar Elementen finden könnten, aber es gibt auch die Chance, eine Truhe voller Schätze zu finden. Mit einer Standardabweichung von 3 könnte eine Truhe beispielsweise zwischen 2 und 8 Elementen haben, was jedes Truhenöffnen zu einem aufregenden Glücksspiel macht.
Der Standard-Mittelwert beträgt 4, und die Standard-Standardabweichung beträgt 3.
Spezielles Format
Treasure-Dateien haben ein spezielles Format, das so aussieht:
isEnabled: true
mean: 4.0
standardDeviation: 3.0
items:
common:
weight: 60
items:
- amount: 1-1
material: STONE_PICKAXE
procedurallyGenerateEnchantments: true
weight: 1.0
- amount: 1-1
material: STONE_SHOVEL
procedurallyGenerateEnchantments: true
weight: 1.0
rare:
weight: 30
items:
- amount: 1-1
material: ANVIL
weight: 6.0
- amount: 1-6
material: BEETROOT
weight: 6.0
epic:
weight: 10
items:
- amount: 2-10
material: DIAMOND
weight: 1.0
- amount: 1-1
material: DIAMOND_AXE
weight: 6.0
procedurallyGeneratedItemSettings:
golden_sword:
bane_of_arthropods:
minLevel: 1
maxLevel: 5
chance: 0.2
looting:
minLevel: 1
maxLevel: 3
chance: 0.2
Hinweis: Dies ist eine stark gekürzte Version der Datei, die tatsächliche Datei ist 2599 Zeilen lang, da sie weit mehr Loot und alle möglichen Verzauberungen abdeckt.
isEnabled
| Key | Values | Default |
|---|---|---|
isEnabled | Boolean | true |
mean
| Key | Values | Default |
|---|---|---|
mean | Double | 4 |
Legt den mean fest. Lesen Sie die Details dazu hier.
standardDeviation
| Key | Values | Default |
|---|---|---|
standardDeviation | Double | 3 |
Legt die standardDeviation fest. Lesen Sie die Details dazu hier.
items
Hier wird es knifflig, da viele der Optionen von Administratoren festgelegt werden können. Schauen wir uns das Konfigurationsdatei-Beispiel von vorhin genauer an.
items:
common:
weight: 60
items:
- amount: 1-1
material: STONE_PICKAXE
procedurallyGenerateEnchantments: true
weight: 1.0
- amount: 1-1
material: STONE_SHOVEL
procedurallyGenerateEnchantments: true
weight: 1.0
rare:
weight: 30
items:
- amount: 1-1
material: ANVIL
weight: 6.0
- amount: 1-6
material: BEETROOT
weight: 6.0
Hier können Sie sehen, dass unter dem Konfigurationsschlüssel items eine Map mit common und rare vorhanden ist. Das sind rarities (Seltenheitsstufen)!
rarities
Seltenheitsstufen haben keinen festen Namen. Sie können sie hinzufügen oder entfernen und so anpassen, wie Sie möchten, solange Sie dasselbe Format verwenden.
Beachten Sie, dass das, was diese Seltenheitstabellen mehr oder weniger selten macht, das weight der Loot-Tabelle ist!
Standardmäßig:
commonhat ein Standard-weightvon 60rarehat ein Standard-weightvon 30epichat ein Standard-weightvon 10
Das macht häufige Gegenstände 6x wahrscheinlicher als epische Gegenstände. Sie können mehr über weights hier lesen!
Abgesehen vom Gewicht hat jede Seltenheitstabelle ihre eigene Liste von items.
rarity items
Seltenheitsgegenstände sind eine Map-Liste, die alle Gegenstände auflistet, die die Seltenheitstabelle enthält.
Diese Gegenstände haben die folgenden Einstellungen:
| Key | Values | Default |
|---|---|---|
amount | min-max Integer | variabel |
material | Material | variabel |
procedurallyGenerateEnchantments | Boolean | variabel |
weight | Double | variabel |
amount
Legt die zu droppende Menge fest. Dies wird als Bereich wie folgt ausgedrückt: amount: MIN-MAX. Zum Beispiel, um zwischen 1 und 5 Gegenstände zu droppen: amount: 1-5.
material
Legt das Material unter Verwendung der Spigot-API-Namen des Gegenstands fest, der potenziell gedroppt werden soll.
Spezialfall - serialized
Bei Verwendung des lootify-Befehls stellt lootify anstelle eines Materials eine serialized-Einstellung bereit. Diese wird automatisch vom Plugin generiert und sollte nicht manuell erstellt werden. Sie liegt in einem Format vor, das nicht menschenlesbar ist.
weight
Legt das Gewicht für die gewichtete Chance fest. Mehr dazu hier.
procedurallyGenerateItems
Legt fest, ob der Gegenstand basierend auf den Konfigurationseinstellungen unter procedurallyGeneratedItemSettings prozedural generiert werden soll. Beachten Sie, dass dies basierend auf den Einstellungen dazu führen kann, dass ein Gegenstand ohne Verzauberungen generiert wird.
procedurallyGeneratedItemSettings
Schauen wir uns noch einmal unser Konfigurationsdatei-Beispiel an:
procedurallyGeneratedItemSettings:
golden_sword:
bane_of_arthropods:
minLevel: 1
maxLevel: 5
chance: 0.2
looting:
minLevel: 1
maxLevel: 3
chance: 0.2
Wie Sie sehen können, listet diese Datei Materialtypen auf, gefolgt von Verzauberungen und dann gefolgt von Mindest- und Maximalleveln sowie einer Chance.
Beachten Sie, dass Sie in diesen Einstellungen keine benutzerdefinierten Materialien von anderen Plugins hinzufügen können, und Sie wahrscheinlich auch keine benutzerdefinierten Verzauberungen von anderen Plugins hinzufügen können, es sei denn, der Autor sagt ausdrücklich, dass er sein System kompatibel gemacht hat.
Was die Verzauberungseinstellungen betrifft:
| Key | Values | Default |
|---|---|---|
minLevel | Integer | variabel |
maxLevel | Integer | variabel |
chance | Chance | variabel |
minLevel
Legt das minimale Verzauberungslevel fest.
maxLevel
Legt das maximale Verzauberungslevel fest.
chance
Legt die Chance fest, dass die Verzauberung eintritt. Dies verwendet keine gewichtete Wahrscheinlichkeit, sondern nur einen normalen Würfelwurf.
Fehlerbehebung
Artikel erscheinen nicht in Truhen
- Überprüfen Sie, ob die Treasure-Datei
isEnabled: truehat - Überprüfen Sie die Konsole auf Warnungen zu ungültigen Materialien oder Artikeln
- Stellen Sie sicher, dass MMOItems installiert ist, wenn Sie benutzerdefinierte Artikel verwenden
- Materialien müssen genaue Spigot-API-Namen verwenden
Verzauberungen werden nicht angewendet
- Stellen Sie
procedurallyGenerateEnchantments: trueauf dem Artikel ein - Überprüfen Sie, ob Verzauberungsnamen mit Minecrafts Namespace-Schlüsseln übereinstimmen
- Überprüfen Sie, dass Min-/Max-Stufen innerhalb gültiger Bereiche für diese Verzauberung liegen
- Denken Sie daran, dass
chance-Werte Wahrscheinlichkeiten sind (0,2 = 20%), keine Garantien
Benutzerdefinierte Plugin-Verzauberungen funktionieren nicht
Nur benutzerdefinierte Verzauberungen, die explizit die BetterStructures-Integration unterstützen, funktionieren. Erkundigen Sie sich beim Plugin-Autor der Verzauberung nach Kompatibilität. Ungültige Verzauberungen zeigen eine Warnung in der Konsole an, die diese Möglichkeit vorschlägt.
Leere Truhen erscheinen
Dies sollte nicht vorkommen, da das System mindestens ein Artikel garantiert. Wenn Sie leere Truhen sehen, überprüfen Sie:
- Die Truhe wird von BetterStructures bevölkert (nicht von einem anderen Plugin)
- Alle Artikel in Ihrer Treasure-Datei sind gültig (Konsolen-Warnungen prüfen)
- Die Treasure-Datei wird tatsächlich geladen (Startup-Protokolle prüfen)