API

The HuskHomes API provides methods for getting, editing and updating user homes and warps, as well as functionality for building and executing (cross-server) teleports.

The API is distributed on Maven through repo.william278.net and can be included in any Maven, Gradle, etc. project. JavaDocs are available here.

Compatibility

Maven

The HuskHomes API shares version numbering with the plugin itself for consistency and convenience. Please note minor and patch plugin releases may make API additions and deprecations, but will not introduce breaking changes without notice.

API VersionHuskHomes VersionsSupported
v4.xv4.0—Current
v3.xv3.0—v3.2.1
v2.xv2.0—v2.11.2
v1.xv1.5—v1.5.11

Platforms

Note:
For versions older than v4.6, the HuskHomes API was only distributed for the Bukkit platform (as net.william278:huskhomes)

The HuskHomes API is available for the following platforms:

  • bukkit - Bukkit, Spigot, Paper, etc. Provides Bukkit API event listeners and adapters to org.bukkit objects.
  • fabric - Fabric, Quilt, etc. Provides Fabric API event callbacks and adapters to net.minecraft objects.
  • common - Common API for all platforms.
Targeting older versions
  • The HuskHomes API was only distributed for the Bukkit module prior to v4.6; the artifact ID was net.william278:huskhomes instead of net.william278.huskhomes:huskhomes-PLATFORM.
  • HuskHomes versions prior to v4.3.1 are distributed on JitPack, and you will need to use the https://jitpack.io repository instead.

Table of contents

  1. API Introduction
    1. Setup with Maven
    2. Setup with Gradle
  2. Adding HuskHomes as a dependency
  3. Next steps

1 API Introduction

1.1 Setup with Maven

Maven setup information

Add the repository to your pom.xml as per below. You can alternatively specify /snapshots for the repository containing the latest development builds (not recommended).

<repositories>
    <repository>
        <id>william278.net</id>
        <url>https://repo.william278.net/releases</url>
    </repository>
</repositories>

Add the dependency to your pom.xml as per below. Replace VERSION with the latest version of HuskHomes (without the v): Latest version. Note for Fabric you must append the target Minecraft version to the version number (e.g. 3.6.1+1.20.1).

<dependency>
    <groupId>net.william278.huskhomes</groupId>
    <artifactId>huskhomes-PLATFORM</artifactId>
    <version>VERSION</version>
    <scope>provided</scope>
</dependency>

1.2 Setup with Gradle

Gradle setup information

Add the dependency as per below to your build.gradle. You can alternatively specify /snapshots for the repository containing the latest development builds (not recommended).

allprojects {
    repositories {
        maven { url 'https://repo.william278.net/releases' }
    }
}

Add the dependency as per below. Replace VERSION with the latest version of HuskHomes (without the v): Latest version. Note for Fabric you must append the target Minecraft version to the version number (e.g. 3.6.1+1.20.1).

dependencies {
    compileOnly 'net.william278.huskhomes:huskhomes-PLATFORM:VERSION'
}

2 Adding HuskHomes as a dependency

Add HuskHomes to your softdepend (if you want to optionally use HuskHomes) or depend (if your plugin relies on HuskHomes) section in plugin.yml of your project.

name: MyPlugin
version: 1.0
main: net.william278.myplugin.MyPlugin
author: William278
description: 'A plugin that hooks with the HuskHomes API!'
softdepend: # Or, use 'depend' here
  - HuskHomes

3 Next steps

Now that you've got everything ready, you can start doing stuff with the HuskHomes API!