MC Toolkit

Anleitungen / Befehle & Daten

Post-Effekte und Loot-Pools: die zwei Hälften einer Truhe

Die Gewichte eines Loot-Pools entscheiden, was fällt; der Befehl /posteffect entscheidet, wie es sich anfühlt. Beides sind Zahlen, die man prüfen kann, bevor man das Datenpaket schreibt.

Ein gewichteter Loot-Pool und ein /posteffect-Befehl werden normalerweise in verschiedenen Dateien von verschiedenen Leuten geschrieben, und sie scheitern auf dieselbe Weise: Die Zahlen werden nie überprüft, bevor das Datenpaket ausgeliefert wird. Beides lässt sich günstig vorab verifizieren.

Der Loot-Pool ist Arithmetik, kein Bauchgefühl

Ein Pool-Eintrag hat ein weight, und die Chance eines Eintrags ist sein Gewicht geteilt durch die Summe aller Gewichte in diesem Pool. Es gibt keine versteckte Normalisierung und kein Minimum — ein Gewicht von 0 bedeutet, dass der Eintrag nie gewürfelt wird, und ein Pool, dessen Gewichte sich zu irgendetwas summieren, verhält sich gleich. Die Falle ist das Mischen von Würfen: Ein Pool mit rolls: 2 zieht zweimal, also erscheint ein Eintrag mit einem Viertel des Gewichts in ungefähr der Hälfte aller Truhen, nicht in einem Viertel.

EintragGewichtAnteil an einem Wurf
Eisenbarren2020 ÷ 40 = 50%
Goldbarren1230%
Diamant820%

Füge einen vierten Eintrag mit Gewicht 40 hinzu, und jede Zahl oben halbiert sich. Das ist die ganze Balancing-Arbeit, und deshalb ist „die Diamantrate fühlt sich falsch an" fast immer ein Gewicht, das man vergessen hat zu skalieren.

Loot-Tabellen sind eine der größeren Registry-Familien im Spiel — die 26.3-Daten, die diese Seite misst, listen 1.447 davon auf —, also ist ein Pool, über den man nicht numerisch nachdenken kann, ein Pool, den man von Hand nie fertig abstimmen wird.

/posteffect ist neu in Java 26.3

Javas /posteffect kam als Release-Befehl in 26.3 und existiert in 26.2 oder früher nicht. Es ist ein Java-Befehl, und Bedrock hat nichts mit diesem Namen, also lässt sich ein Java-Tutorial hier nicht übertragen.

Der Befehl fügt einen Bildschirmeffekt per Identifier bei einer Gruppe von Spielern hinzu oder entfernt ihn — /posteffect add <targets> <effect>, plus remove, clear <targets> und list <target> (ein Spieler). Es gibt kein Stärke-Argument: Ein Effekt ist an oder aus. Der Vanilla-Client liefert nur fünf — blur, creeper, entity_outline, invert und spider —, also ist die Identifier-Liste kurz genug, um sie von Hand zu prüfen statt zu raten. Einen Effekt zu nennen, der nicht existiert, meldet trotzdem Erfolg, weil der Server ihn nicht prüft — das ist der zweite Grund, vor dem Festschreiben zu verifizieren.

Wo die beiden aufeinandertreffen

Eine Truhe, die einen seltenen Gegenstand fallen lässt, und eine Truhe, die einen häufigen fallen lässt, sollten nicht identisch aussehen. Würfle zuerst den Pool, um die echte Verteilung zu erhalten, und wähle dann den Post-Effekt, der dazu passt, wie oft der Spieler ihn tatsächlich sehen wird. Die andere Reihenfolge ergibt einen dramatischen Effekt, der ständig ausgelöst wird, was wie Rauschen wirkt.

Für ein Stadtbau-Projekt bedeutet das normalerweise einen subtilen Effekt wie blur beim häufigen Pool und einen dramatischen wie invert, reserviert für den Eintrag mit dem kleinsten Gewicht — dasselbe Verhältnis, das man bereits berechnet hat.

Baue den /posteffect-Befehl und würfle den gewichteten Pool in den Post Effect & Loot Tools.

Post-Effekt- und Beute-Werkzeuge →

Weitere Anleitungen

Alle ansehen →