Datensatzklasse WaveSet
java.lang.Object
java.lang.Record
de.delinkedde.mobarenareborn.wave.WaveSet
- Datensatzkomponenten:
name- the lower-case wave-set identifierearlyUntil- the first wave number that no longer uses theearlypoolmidUntil- the first wave number that no longer uses themidpoolearly- the early-game mob poolmid- the mid-game mob poollate- the late-game mob pool
public record WaveSet(@NotNull String name, int earlyUntil, int midUntil, @NotNull List<String> early, @NotNull List<String> mid, @NotNull List<String> late, Map<Integer,WaveSet.Setpiece> setpieces)
extends Record
A named, data-driven wave roster: which mob identifiers may spawn in the early, mid and late game.
The active pool is chosen by wave number: waves below earlyUntil draw from
early, waves below midUntil from mid, and the rest from late.
Within a pool a mob is picked uniformly at random. Identifiers refer to the
MobRegistry. Wave sets are loaded from waves.yml by the
WaveSetRegistry; arenas reference one by name (see wave-set in the arena file).
-
Verschachtelte Klassen - Übersicht
Verschachtelte KlassenModifizierer und TypKlasseBeschreibungstatic final recordA hand-designed, fixed wave: exact mob counts, optional own spawnpoints, potion effects on the mobs, a health multiplier, an optional specific boss and an optional reward granted when the wave is cleared. -
Konstruktorübersicht
Konstruktoren -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungstatic @NotNull WaveSetearly()Gibt den Wert für die Datensatzkomponenteearlyzurück.intGibt den Wert für die DatensatzkomponenteearlyUntilzurück.final booleanGibt an, ob ein anderes Objekt diesem gleich ("equal to") ist.static @NotNull WaveSetfromSection(@NotNull String name, @NotNull ConfigurationSection section) Parses a wave set from a configuration section.final inthashCode()Gibt einen Hashcodewert für diese Objekt zurück.late()Gibt den Wert für die Datensatzkomponentelatezurück.mid()Gibt den Wert für die Datensatzkomponentemidzurück.intmidUntil()Gibt den Wert für die DatensatzkomponentemidUntilzurück.@NotNull Stringname()Gibt den Wert für die Datensatzkomponentenamezurück.@NotNull Stringpick(int wave) Picks a mob identifier for the given wave.@NotNull StringPicks a mob identifier from the early pool, regardless of the wave number.@Nullable WaveSet.Setpiecesetpiece(int wave) Gibt den Wert für die Datensatzkomponentesetpieceszurück.final StringtoString()Gibt eine Zeichenfolgendarstellung dieser Datensatzklasse zurück.
-
Konstruktordetails
-
WaveSet
public WaveSet(@NotNull @NotNull String name, int earlyUntil, int midUntil, @NotNull @NotNull List<String> early, @NotNull @NotNull List<String> mid, @NotNull @NotNull List<String> late, @NotNull Map<Integer, WaveSet.Setpiece> setpieces) Canonical constructor; defensively copies the pools.- Parameter:
name- the identifierearlyUntil- the early-pool upper boundmidUntil- the mid-pool upper boundearly- the early poolmid- the mid poollate- the late pool
-
-
Methodendetails
-
setpiece
- Parameter:
wave- the wave number- Gibt zurück:
- the hand-designed wave for that number, if one is configured
-
pick
Picks a mob identifier for the given wave.- Parameter:
wave- the wave number (1-based)- Gibt zurück:
- a mob identifier; falls back to a non-empty pool when the selected one is empty
-
pickEarly
Picks a mob identifier from the early pool, regardless of the wave number. Swarm waves use this so the flood consists of weak early-game mobs.- Gibt zurück:
- an early-pool mob identifier
-
defaultSet
- Gibt zurück:
- the built-in default wave set, used when no
waves.ymlentry matches
-
fromSection
@NotNull public static @NotNull WaveSet fromSection(@NotNull @NotNull String name, @NotNull @NotNull ConfigurationSection section) Parses a wave set from a configuration section.- Parameter:
name- the wave-set identifiersection- the configuration section- Gibt zurück:
- the parsed wave set
-
toString
Gibt eine Zeichenfolgendarstellung dieser Datensatzklasse zurück. Die Darstellung enthält den Namen der Klasse, gefolgt vom Namen und Wert jeder der Datensatzkomponenten. -
hashCode
public final int hashCode()Gibt einen Hashcodewert für diese Objekt zurück. Der Wert wird vom Hashcode jeder der Datensatzkomponenten abgeleitet. -
equals
Gibt an, ob ein anderes Objekt diesem gleich ("equal to") ist. Die Objekte sind gleich, wenn das andere Objekt der gleichen Klasse angehört und alle Datensatzkomponenten gleich sind. Referenzkomponenten werden verglichen mitObjects::equals(Object,Object); primitive Komponenten werden verglichen mit "==". -
name
Gibt den Wert für die Datensatzkomponentenamezurück.- Gibt zurück:
- Wert der Datensatzkomponente
name
-
earlyUntil
public int earlyUntil()Gibt den Wert für die DatensatzkomponenteearlyUntilzurück.- Gibt zurück:
- Wert der Datensatzkomponente
earlyUntil
-
midUntil
public int midUntil()Gibt den Wert für die DatensatzkomponentemidUntilzurück.- Gibt zurück:
- Wert der Datensatzkomponente
midUntil
-
early
Gibt den Wert für die Datensatzkomponenteearlyzurück.- Gibt zurück:
- Wert der Datensatzkomponente
early
-
mid
Gibt den Wert für die Datensatzkomponentemidzurück.- Gibt zurück:
- Wert der Datensatzkomponente
mid
-
late
Gibt den Wert für die Datensatzkomponentelatezurück.- Gibt zurück:
- Wert der Datensatzkomponente
late
-
setpieces
Gibt den Wert für die Datensatzkomponentesetpieceszurück.- Gibt zurück:
- Wert der Datensatzkomponente
setpieces
-