Skip to content

API Overview

Jofairden edited this page May 18, 2019 · 1 revision

Api

Everything in the "Api" namespace is part of the EMM API. These are classes that make the system behind EMM function. It houses models, or design, of the API, not the implementation of them (there are some exceptions) For example, Api.Cubes will contain the backbones for cube items, but actual cubes you use are part of Loot.Cubes


Attributes

Houses attributes used to ease modding with EMM content.

Content

Houses content base classes and interfaces that are used by EMM's content loading mechanism.

Cubes

Houses base classes for cubes

Delegators

Houses delegator classes for the EMM API that delegate between the EMM API and tML classes.

Ext

Houses extensions / utilities. Most notably ModUtils.

Graphics

Houses graphic related classes, used for drawing custom glowmask and shader entities for items.

Loaders

Houses the loader classes for the API. Most notably RegistryLoader, where mods register themselves into EMM.

ModContent

Houses classes related to EMM's content loading mechanism, such as loading graphic assets from mods.

Modifier

Houses the core main classes of the mod, such as Modifier, ModifierRarity, ModifierPool and ModifierEffect.

Strategy

Houses rolling strategy related classes and interfaces used by modifier rolling mechanisms.


Caching

The caching classes are very important and facilitate dynamic (re-)attaching of effects and such for items. More specifically, it makes the delegation layer between Modifier <-> ModifierEffect <-> ModPlayer possible.


Hacks

Contains various "hacks", such as cheated item detection or the ability to reforge armor items.


ModSupport

Contains various classes that facilitate cross-mod support, such as for CheatSheet, WingSlot and WeaponOut.


LootModItem.cs

The GlobalItem class that holds EMM's mod data (Modifiers on items), also handles saving/loading, netsync and tooltips.


UI

The UI namespace is semi-complex and contains classes that create a multi-tabbed UI with varying interactions.

Clone this wiki locally