promotional bannermobile promotional banner

Orbis Origins

A Hytale mod that allows players to choose their playable species at the start of their journey. Each species comes with unique attributes, resistances, and starter items.

File Details

OrbisOrigins-2.0.0.jar

  • R
  • Mar 18, 2026
  • 2.25 MB
  • 302
  • Early Access

File Name

OrbisOrigins-2.0.0.jar

Supported Versions

  • Early Access

[2.0.0] - 3/18/2026

Added

  • AbilityAPI integration for species - Orbis Origins now integrates with the AbilityAPI mod to grant gameplay abilities based on the selected species. When hexvane:AbilityAPI is present:
    • Species JSON files can define an abilities array, where each entry specifies:
      • id (string) - Ability ID from AbilityAPI, e.g. stamina_regen, waterbreathing, swim_speed, strength, item_magnet, health_regen
      • value (number, optional) - Ability value (numeric abilities use a double; omitted means a binary TRUE)
      • condition (string, optional) - Ability condition ID matching AbilityConditionSpec.TYPE_*, e.g. in_zone, in_sunlight, health_below, target_health_below
      • metadata (object, optional) - Condition parameters (e.g. {"zones": [7,8,9]}, {"healthThreshold": 0.5}, {"enemyHealthThreshold": 0.5})
      • name / description (strings, optional) - Player-facing text shown in the species selector GUI
    • On species selection, the plugin:
      • Clears abilities previously granted by the old species
      • Grants all abilities defined for the newly selected species
      • Re-applies stats and movement via AbilityAPI so effects take effect immediately
  • Species abilities in selection GUI - The species selection page now shows an Abilities section in the description panel. Each configured species ability is listed as:
    • - <Name>: <Description> on wrapped lines so long descriptions remain fully readable.

Technical Details

  • Ability bridge API - Added AbilityApiBridge in Orbis Origins which calls into AbilityAPI via a new public facade:
    • AbilityService.setAbility(UUID, String, Object)
    • AbilityService.setConditions(UUID, String, List<AbilityConditionSpec>)
    • AbilityService.removeAbility(UUID, String)
    • AbilityService.applyForPlayer(Ref<EntityStore>, ComponentAccessor<EntityStore>, World)
    • All calls are gated behind PluginManager checks so Orbis Origins runs normally when AbilityAPI is not installed.
  • AbilityAPI facade - Added com.hexvane.abilityapi.api.AbilityService in AbilityAPI as the stable entrypoint for external mods; wraps PlayerAbilityStorage and AbilityStatService.
  • JSON codec & species data - SpeciesJsonCodec and SpeciesData now parse and expose a List<SpeciesAbilityConfig> from the abilities array, including IDs, values, conditions, metadata, and GUI name/description.
  • Species switching semantics - When a player selects a new species, Orbis Origins:
    • Looks up the previously stored species ID for that player
    • Removes all abilities granted by the previous species
    • Grants abilities for the new species and reapplies stats/movement through AbilityAPI