Skip to content

Developer API

Hommr provides a comprehensive API that allows other plugins to interact with the home system.

Setup

First, add Hommr to your project dependencies.

Gradle

groovy
repositories {
    maven { url = uri("https://jitpack.io") }
}

dependencies {
    compileOnly "com.github.AxenoDev:Hommr:VERSION"
}

Maven

xml
<repository>
    <id>jitpack.io</id>
    <url>https://jitpack.io</url>
</repository>

<dependency>
    <groupId>com.github.AxenoDev</groupId>
    <artifactId>Hommr</artifactId>
    <version>VERSION</version>
    <scope>provided</scope>
</dependency>

Getting the API Instance

You can retrieve the HommrApi instance using Bukkit's ServicesManager.

java
import me.axeno.hommr.api.HommrApi;
import org.bukkit.Bukkit;
import org.bukkit.plugin.RegisteredServiceProvider;

public HommrApi getHommrApi() {
    RegisteredServiceProvider<HommrApi> provider = Bukkit.getServicesManager().getRegistration(HommrApi.class);
    if (provider != null) {
        return provider.getProvider();
    }
    return null;
}

Methods

Set a Home

Sets a home for a player at a specific location.

java
boolean setHome(UUID playerUniqueId, String homeName, Location location);

Get a Home

Retrieves a specific home object.

java
Optional<Home> getHome(UUID playerUniqueId, String homeName);

Delete a Home

Deletes a player's home.

java
boolean deleteHome(UUID playerUniqueId, String homeName);

List Homes

Gets the names of all homes belonging to a player.

java
Set<String> getHomeNames(UUID playerUniqueId);

Teleport to Home

Teleports a player to one of their homes. This triggers the HomeTeleportEvent.

java
boolean teleportToHome(Player player, String homeName);

Get Home Count

Gets the number of homes set by a player.

java
int getHomeCount(UUID playerUniqueId);

Check Home Existence

Checks if a player has a home with a specific name.

java
boolean hasHome(UUID playerUniqueId, String homeName);

Released under the GNU GPLv3 License.