Default Variants

These are ability variants / archtypes offered by the API as a standard. Feel free to reimplement these or create your own if needed. Usually these variants combine a bunch of components and extra methods / logic to provide the basis for an ability.

Actives:

  • PunchAbility
    • used by punches
    • implements ContinuousComponent, ChangeStatsComponent, HitTriggerComponent and handles its activation, punch damage, side effects, cooldown and amount of usage allowed before going on cooldown (if any)
  • RepeaterAbility
    • used by abilities that shoot multiple projectiles at once
    • implements ContinuousComponent, RepeaterComponent, ProjectileComponent and handles its activation, shooting projectiles, the amount of projectiles and the interval between each projectile, speed and spread of these projectiles as well as the cooldown after usage
  • WallAbility
    • used to create walls
    • implements ContinuousComponent and handles the creation and removal of a wall like structure along with settings for its size and block usage
  • MorphAbility
    • used to transform entities
    • implements ContinuousComponent, ChangeStatComponent and MorphComponent and handles the activation, transformation, syncing of eye height, hitbox size and shadow size, stat bonuses granted by this transformation as well as the cooldown and removal of stats and demorphing the entity
  • OutOfBodyAbility
    • used to separate the player's body and spirit in 2 entities allowing a spectator like experience
    • implements ContinuousComponent and handles the activation, spawn of the body, distance and deactivation of the ability based on time and distance, as well as all other edge cases such as not being able to break blocks, damage entities or get damaged while in ghost/spirit form, also allows for a physical form where the before mentioned edge cases are not active
  • ItemAbility
    • used to spawn temporary items in the user's inventory
    • implements ContinuousComponent and ItemSpawnComponent and handles the spawning and despawning of items from the user's inventory keeping track of them and removing them in certain circumstances (such as dropping them)
  • DropHitAbility
    • used for jumping and dealing AOE damage on landing type of abilities
    • implements ContinuousComponent, DamageTakenComponent, HitTrackerComponent and handles the jumping (along with edge cases such as jumping from water), protection from fall damage and landing, DOES NOT handle the damage dealing or side effects caused by the landing, these are meant to be manually handled by the developer using the abstract onLanding method
  • DashAbility
    • used for dashing forward and dealing AOE damage on nearby entities type of abilities
    • implements ContinuousComponent, HitTrackerComponent, RangeComponent, DealDamageComponent and handles pushing the entity in a direction, dealing damage with all entities it comes in contact with, handling potential dupes as well as offering a onTargetHit abstract method for finer controls on side effects (besides damage) when hitting targets
  • SlidingAbility
    • used to make the user slide as if on ice type of abilities
    • implements ContinuousComponent and handles the math behind the sliding, with options for the developer to decide how fast this type of sliding should be

Passives:

  • RunningSmashAbility
    • used to deal damage to nearby entities while running
  • TempoAbility
    • used exclusively by Art of Weather fighting style for their tempos
    • offers helpers for weather cloud detection, mostly used as a generic tempo base as well as for handling the description of tempo abilities
  • PassiveStatBonusAbility
    • used to passively change stats of entities via Attributes
    • implements ChangeStatsComponent and handles these stats by applying, removing or updating them

The above are provided the API itself, however the mod has some of its own default variants which you can use and which might (in time) become API level if they're generic enough.

  • EffectImmunityAbility
  • SourceImmunityAbility
  • FlyAbility
  • PropelledFlightAbility

However do keep in mind these are on the mod's level, they can change based on the mod's needs without prior notice.

Last change: 2025-01-04