D1GQ-BlackMagicAPI icon

BlackMagicAPI

An api that simplifies the task of adding custom spells, items, and recipes

By D1GQ
Last updated 16 hours ago
Total downloads 4649
Total rating 2 
Categories Tools Libraries
Dependency string D1GQ-BlackMagicAPI-2.2.0
Dependants 10 other packages depend on this package

This mod requires the following mods to function

BepInEx-BepInExPack-5.4.2100 icon
BepInEx-BepInExPack

BepInEx pack for Mono Unity games. Preconfigured and ready to use.

Preferred version: 5.4.2100
D1GQ-FishUtilities-1.1.1 icon
D1GQ-FishUtilities

An api that simplifies the task of adding custom Network Objects.

Preferred version: 1.1.1
hiccup-ModSync-1.0.6 icon
hiccup-ModSync

A plugin for Mage Arena that synchronizes mods between host and clients. Press F9 to enable auto-kicking of non matching mod lists.

Preferred version: 1.0.6

README

BlackMagicAPI

BlackMagicAPI is a powerful BepInEx plugin that simplifies the process of adding custom spells to Mage Arena. The API provides an intuitive framework for spell, item, and crafting recipes creation, handling all the complex backend systems so modders can focus on design and effects.

Features

  • Simplified Spell Creation: Create new spells with minimal boilerplate code
  • Automatic Networking: Handles multiplayer synchronization automatically
  • Resource Management: Built-in asset loading system

Installation

  1. Prerequisites:

    • Mage Arena with BepInEx 5.4.21 or newer
    • FishUtilities
    • ModSync
  2. Installation:

    MageArena/
    └── BepInEx/
        └── plugins/
            └── BlackMagicAPI
     		   └── BlackMagicAPI.dll
    

Changelog

v2.2.0

  • Added the ability to spawn items as host with BlackMagicManager.SpawnItem
  • Added the ability to spawn spell pages as host with BlackMagicManager.SpawnSpell
  • Added the ability to get item prefab with BlackMagicManager.GetItemPrefab
  • Added the ability to get spell page prefab with BlackMagicManager.GetSpellPagePrefab
  • Add xml documentation.

v2.1.1

  • Update to FishUtilities v1.1.0 which fixes all desyncing issues!

v2.1.0 (Major Update)

  • Added PageController parameter to CastSpell in SpellLogic.
  • Added OnPageItemUse in SpellLogic.
  • Added SubNames virtual override for SpellData.
  • Fixed folder structure for mod managers.
  • Now when a update releases that's incompatible with mods using older versions of BlackMagicAPI it will be labeled (Major Update)

v2.0.4

  • Added FishUtilities as Hard Dependency.

v2.0.3

  • Backend fixes.

v2.0.2

  • Completely fixed mod desyncing.
  • Added LoadAssetBundleFromDisk and LoadAssetBundleFromResources to Utils.

v2.0.1

  • Added nine digit synchronization number at the bottom right of the main menu, use this hash to determine that all clients will be synchronized.

v2.0.0 (Major Update)

  • Added the ability to register custom death icons.
  • Moved all registering functions to BlackMagicManager.

v1.8.0 (Major Update)

  • Added the ability to register spells in custom recipes, they must be inherited SpellLogic or ISpell, which allows custom and vanilla spells to be registered.

v1.7.0 (Major Update)

  • Added the ability for spells, and items spawn in the Coloseum.

v1.6.0

  • Added the ability to create custom item recipes with vanilla and custom items.

v1.5.0 (Major Update)

  • Added the ability to create custom items.
  • Added the ability to load .Wav audio files.
  • Added to have spells spawn in the team chest.
  • Added debug featuring that forces spells or items to spawn in the team chest at a 100% chance.

v1.4.1

  • Added documentation

v1.4.0

  • Added the ability to synchronize data in spell logic with overrides WriteData, and SyncData.
  • Added the ability to customize UI Sprints with a "YourSpellName_Ui.png" file in the Sprints mod folder or manually overriding it with GetUiSprite in SpellData

v1.3.0

  • Backend cleanup.

v1.2.0 (Major Update)

  • Fixed huge oversight of Prefab ids being desynced between clients.
  • Automatic spell sprites now have to be spaceless, for example "Cool Spell Name" has to be "CoolSpellName_Main.png" for the sprite to be registered

v1.1.0

  • Added ModSync dependency.

v1.0.0

  • Initial release.