xPlugins
xSetHome Header
Gratis / Open Access v1.0.0 1.18 - 1.20.x

xSetHome Official

Un sistema de hogares moderno, ligero y altamente visual. Ofrece a tus jugadores la mejor experiencia de gestión de ubicaciones con interfaces dinámicas y efectos inmersivos.

Modrinth Descargar en Modrinth

Características Principales

Menú Visual (GUI)

Interfaz limpia para ver y gestionar hogares. Incluye soporte para botones personalizados y cabezas Base64.

Personalización de Iconos

Los jugadores pueden cambiar el icono de su hogar haciendo click derecho con un bloque en la mano dentro del menú.

Seguridad de Teletransporte

Sistema de countdown con cancelación por movimiento, acompañado de títulos, sonidos y partículas.

Instalación Rápida

  1. Descarga xSetHome-v1.0.0.jar desde Modrinth.
  2. Colócalo en la carpeta /plugins/ de tu servidor.
  3. Reinicia el servidor para generar los archivos de configuración.
  4. Personaliza config.yml y menu.yml a tu gusto.

Comandos y Permisos

Comando Descripción Permiso
/sethome Establece un hogar en tu ubicación actual. xsethome.use.sethome
/home Teletranspórtate a uno de tus hogares. xsethome.use.home
/homes Abre la interfaz gráfica (GUI) de hogares. xsethome.use.homes
/delhome Elimina un hogar guardado. xsethome.use.delhome
/xsethome reload Recarga las configuraciones del plugin. xsethome.admin

Placeholders (PAPI)

  • %xsethome_count% ▸ Cantidad total de hogares del jugador.
  • %xsethome_max% ▸ Límite máximo de hogares permitido.
  • %xsethome__world% ▸ Mundo donde se encuentra el hogar.

Developer API

Accede a las funciones de xSetHome desde tus propios plugins mediante nuestra API estática.

Acceso API
import es.xplugins.xsethome.api.xSetHomeAPI;

// Abrir la interfaz visual programáticamente
xSetHomeAPI.openHomeMenu(player);

// Obtener el número de homes de un usuario por UUID
int homes = xSetHomeAPI.getHomeCount(playerUUID);

Eventos Custom

Listener
@EventHandler
public void onHomeTeleport(PlayerHomeTeleportEvent event) {
    // Ejemplo: Cancelar TP si el jugador está en combate
    if (CombatAPI.isInCombat(event.getPlayer())) {
        event.setCancelled(true);
    }
}