# API docs

Below you can find an overview of all method available.

Below methods can be called by using the following method

```
BloodmoonAPI.someMethod();
```

{% tabs %}
{% tab title="Bloodmoon" %}

```java
/**
 * Return whether the bloodmoon is enabled for this world
 * @param world: world
 */
boolean bloodmoonIsEnabled(World world)

/**
 * Return whether the bloodmoon is enabled for this world
 * @param world: world
 */
boolean bloodmoonIsRunning(World world)

/**
 * Return whether the bloodmoon is scheduled for the next night
 * @param world: world
 */
boolean bloodmoonIsScheduled(World world)


/**
 * A method to start the bloodmoon in a world
 * @param world: world
 */
void startBloodmoon(World world)


/**
 * A method to stop the bloodmoon in a world
 * @param world: world
 */
void stopBloodmoon(World world)



/**
 * A method to schedule the bloodmoon in a world
 * @param world: world
 * THIS NO LONGER WORKS AS OF VERSION 4.0
 */
 
@Deprecated
void scheduleBloodmoon(World world)


/**
 * A method to cancel the scheduled bloodmoon in a world
 * @param world: world
 */
void cancelBloodmoon(World world)

```

{% endtab %}

{% tab title="Items" %}

```java
/**
 * Get a bloodmoon item
 * @param itemName: The name of the bloodmoon item you want to retrieve
 * @return The bloodmoon item
 */
ItemStack getBloodmoonItem(String itemName)
```

{% endtab %}

{% tab title="Mobs" %}

```java
/**
 * Return whether the entity is a custom entity
 * @param entity: entity
 */
boolean isBloodmoonMob(Entity entity)

/**
 * Spawn a bloodmoon mob on a location
 * @param mobName: the name of the bloodmoon mob
 * @param location: location where to spawn the bloodmoon mob
 */
void spawnBloodmoonMob(String mobName, Location location)


/**
 * Kill all bloodmoon mobs in a specified world
 * @param world: world
 */
void killAllBloodmoonMobs(World world)
```

{% endtab %}
{% endtabs %}
