> For the complete documentation index, see [llms.txt](https://edseries-plugins.gitbook.io/p/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://edseries-plugins.gitbook.io/p/developer-api/enchants.md).

# Enchants

```java
/**
 * Retrieves the level of a specific enchantment for a player.
 *
 * @param uuid The UUID of the player.
 * @param enchant The name of the enchantment.
 * @return The level of the enchantment for the player.
 */
public double getLevel(UUID uuid, String enchant) {
    // Method implementation
}

/**
 * Sets the level of a specific enchantment for a player.
 *
 * @param uuid The UUID of the player.
 * @param enchant The name of the enchantment.
 * @param level The new level of the enchantment.
 */
public void setLevel(UUID uuid, String enchant, double level) {
    // Method implementation
}

/**
 * Adds levels to a specific enchantment for a player.
 *
 * @param uuid The UUID of the player.
 * @param enchant The name of the enchantment.
 * @param levels The number of levels to add.
 */
public void addLevel(UUID uuid, String enchant, double levels) {
    // Method implementation
}

/**
 * Removes levels from a specific enchantment for a player.
 *
 * @param uuid The UUID of the player.
 * @param enchant The name of the enchantment.
 * @param levels The number of levels to remove.
 */
public void removeLevel(UUID uuid, String enchant, double levels) {
    // Method implementation
}

/**
 * Calculates the cost of a certain number of levels for a specific enchantment.
 *
 * @param uuid The UUID of the player.
 * @param enchant The name of the enchantment.
 * @param levels The number of levels.
 * @return The cost of the levels.
 */
public double getCostOfLevels(UUID uuid, String enchant, double levels) {
    // Method implementation
}

/**
 * Retrieves the starting cost of a specific enchantment.
 *
 * @param enchant The name of the enchantment.
 * @return The starting cost of the enchantment.
 */
public double getEnchantStartingCost(String enchant) {
    // Method implementation
}

/**
 * Retrieves the cost increase rate of a specific enchantment.
 *
 * @param enchant The name of the enchantment.
 * @return The cost increase rate of the enchantment.
 */
public double getEnchantIncreaseCost(String enchant) {
    // Method implementation
}

/**
 * Retrieves the maximum level of a specific enchantment.
 *
 * @param enchant The name of the enchantment.
 * @return The maximum level of the enchantment.
 */
public double getEnchantMaxLevel(String enchant) {
    // Method implementation
}

/**
 * Retrieves the currency to level up the enchant.
 *
 * @param enchant The name of the enchantment.
 * @return The currency.
 */
public String getEnchantCurrencyCost(String enchant) {
    // Method implementation
}

/**
 * Retrieves the list of actions associated with a specific enchantment.
 *
 * @param enchant The name of the enchantment.
 * @return The list of actions associated with the enchantment.
 */
public List<String> getEnchantActions(String enchant) {
    // Method implementation
}

/**
 * Retrieves the list of custom enchantments configured in the plugin.
 *
 * @return The names of every custom enchantment.
 */
public List<String> getCustomEnchantments() {
    // Method implementation
}

/**
 * Checks whether an enchantment exists.
 *
 * @param enchant The name of the enchantment.
 * @return true if the enchantment exists.
 */
public boolean existEnchant(String enchant) {
    // Method implementation
}

/**
 * Checks whether an enchantment is enabled.
 *
 * @param enchant The name of the enchantment.
 * @return true if the enchantment is enabled.
 */
public boolean isEnchantEnabled(String enchant) {
    // Method implementation
}

/**
 * Checks whether a player already has an enchantment at its maximum level.
 *
 * @param uuid The UUID of the player.
 * @param enchant The name of the enchantment.
 * @return true if the player has the enchantment maxed.
 */
public boolean hasPlayerEnchantMaxed(UUID uuid, String enchant) {
    // Method implementation
}

```
