> For the complete documentation index, see [llms.txt](https://docs.eliteminecraftplugins.com/eliteenchantments/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.eliteminecraftplugins.com/eliteenchantments/general-information/developer-api.md).

# Developer API

You can access the EliteEnchantmentsAPI by doing the following:\
`EliteEnchantmentsAPI.getAPI().` then the method from below

```java
    public CustomEnchant getEnchant(String enchant);
    
    public ItemStack applyEnchant(ItemStack itemStack, CustomEnchant customEnchant, int level);

    public ItemStack applyEnchant(ItemStack itemStack, CustomEnchant customEnchant, int level, boolean force);

    public EnchantGroup getEnchantGroup(CustomEnchant customEnchant);

    public EnchantGroup getEnchantGroup(String group);

    public List<CustomEnchant> getEnchantsInGroup(String group);

    @SafeVarargs
    public final void registerEffects(Class<? extends CustomEffect>... effects);

    public void registerConditions(Condition... conditions);

    public EnchantItemController getEnchantItemController();

```

There is also a couple of custom events you can listen to:

`EnchantActivationEvent`

`EnchantDeactivationEvent`

`EnchantItemEvent`

`PreEnchantItemEvent`
