Interface BattleStartStrategy
- All Known Implementing Classes:
DynamaxBattleStartStrategy,TeraBattleStartStrategy
This is separated from normal in-battle raid strategies because battle topology is not a boss lifecycle rule. Max Raids can start as a single shared battle, while Tera Raids may start multiple linked battles. That creation flow needs access to den, player, ally, and raid instance data that should not be pushed into every battle-time strategy.
Implementations should own only battle construction and initial participant wiring. They
should choose or create the correct raid boss participant, attach the raid type context, and
return the battle controller that represents the started encounter. Turn-by-turn behavior,
shield behavior, revives, boss actions, and progress rules should remain in
RaidStrategy implementations.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final com.mojang.serialization.Codec<BattleStartStrategy> -
Method Summary
Modifier and TypeMethodDescriptionStarts the raid battle and returns the controller representing that battle flow.type()Gets the registered strategy type used to serialize and deserialize this strategy from datapack data.
-
Field Details
-
CODEC
-
-
Method Details
-
type
BattleStartStrategyType<?> type()Gets the registered strategy type used to serialize and deserialize this strategy from datapack data.- Returns:
- The battle start strategy type.
-
start
Starts the raid battle and returns the controller representing that battle flow.The exact meaning of the returned controller is implementation-specific for raid types that start more than one battle, but it should be the controller callers use to observe the started encounter.
- Parameters:
den- The den entity that owns the raid.raid- The raid instance being started.- Returns:
- The battle controller created for the raid encounter.
-