A Modern, and developer-friendly homes plugin featuring MySQL/SQLite support and a powerful API.
Introducing the most advanced homes plugin for your server, coded from scratch with performance and flexibility in mind. FoxHomes is designed to meet the needs of players and administrators alike. And best of all, it's completely free!
en.yml
and tr.yml
language files./sethome <name> |
Sets a new home. | foxhomes.sethome |
/delhome <name> |
Deletes one of your homes. | foxhomes.delhome |
/home <name> |
Teleports to your home. | foxhomes.home |
/homelist |
Lists all of your homes. | foxhomes.homelist |
/foxhomes reload |
Reloads the plugin's configuration. | foxhomes.admin |
/foxhomes list <player> |
Lists a player's homes. | foxhomes.admin |
/foxhomes delhome <player> <name> |
Deletes a player's home. | foxhomes.admin |
/foxhomes sethome <player> <name> |
Sets a home for a player at the admin's location. | foxhomes.admin |
/foxhomes movehome <player> <name> |
Moves a player's home to the admin's location. | foxhomes.admin |
foxhomes.sethome - Permission for the /sethome command.
foxhomes.delhome - Permission for the /delhome command.
foxhomes.home - Permission for the /home command.
foxhomes.homelist - Permission for the /homelist command.
foxhomes.admin - Permission for all /foxhomes admin commands.
foxhomes.unlimited - Allows setting an unlimited number of homes.
foxhomes.maxhomes.<number> - Sets a specific home limit (e.g., foxhomes.maxhomes.10).
foxhomes.bypass.move - Bypasses teleport cancellation on movement.
foxhomes.bypass.cooldown - Bypasses the teleport delay entirely.
foxhomes.cooldown.<seconds> - Sets a custom teleport delay for a player/group.
FoxHomes offers a powerful API for easy integration. Simply add it as a dependency to your project via JitPack.
Add depend: [FoxHomes]
to your plugin.yml
. Then, add the JitPack repository and the dependency to your build system:
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.github.benardamorkoc</groupId>
<artifactId>foxhomes</artifactId>
<version>1.0.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
The API is fully asynchronous. Use CompletableFuture
to handle results without lagging the server.
// Get the API instance via the Bukkit Services Manager
RegisteredServiceProvider<FoxHomesAPI> rsp = getServer().getServicesManager().getRegistration(FoxHomesAPI.class);
if (rsp == null) return;
FoxHomesAPI api = rsp.getProvider();
// Get all homes in a specific chunk
api.getHomesInChunk(player.getLocation().getChunk()).thenAccept(homesInChunk -> {
player.sendMessage("Found " + homesInChunk.size() + " homes in this chunk.");
});
You can cancel teleports or modify the destination by listening to the HomePreTeleportEvent
.
import com.foxhomes.api.events.HomePreTeleportEvent;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
public class MyListener implements Listener {
@EventHandler
public void onHomeTeleport(HomePreTeleportEvent event) {
// Prevent teleporting from the "arena" world
if (event.getPlayer().getWorld().getName().equals("arena")) {
event.getPlayer().sendMessage("You cannot teleport from the arena!");
event.setCancelled(true);
}
}
}
For support, you can use the GitHub Issues page or join our Discord Server.