Skip to content

Objeto Player

El objeto player está disponible en todos los eventos (via event.getPlayer()) y en los callbacks de comandos. Tiene más de 50 métodos para interactuar con el jugador.

js
events.on("PlayerJoin", function(event) {
    var player = event.getPlayer();
    player.sendMessage("Hola " + player.getName());
});

Identidad

MétodoRetornaDescripción
getName()stringNombre del jugador (gamertag)
getUUID()stringUUID único del jugador
getXUID()stringXUID de Xbox Live
getNameTag()stringTag visible sobre la cabeza
setNameTag(tag)Cambiar el tag visible
js
player.setNameTag("§c[Admin] §f" + player.getName());

Mensajes

MétodoDescripción
sendMessage(msg)Enviar mensaje al chat del jugador
sendPopup(msg)Mostrar popup en el HUD (sobre la barra de items)
sendTip(msg)Mostrar tip en el HUD (sobre la barra de vida)
sendToast(titulo, msg)Mostrar notificación tipo toast en la esquina
sendJukeboxPopup(msg)Popup estilo jukebox
js
player.sendMessage("§aMensaje en el chat");
player.sendPopup("§eTexto en el HUD");
player.sendTip("§bTip rápido");
player.sendToast("§l¡Logro!", "§rCompletaste una misión");

Conexión

MétodoRetornaDescripción
disconnect(msg)Kickear al jugador con un mensaje
transfer(dirección)Transferir a otro servidor ("ip:puerto")
getLatency()numberLatencia en milisegundos
js
player.disconnect("§cFuiste baneado.");
player.transfer("otro-servidor.com:19132");
console.log("Latencia: " + player.getLatency() + "ms");

Posición y movimiento

MétodoRetornaDescripción
getX()numberCoordenada X
getY()numberCoordenada Y
getZ()numberCoordenada Z
teleport(x, y, z)Teleportar al jugador
setVelocity(x, y, z)Cambiar velocidad/impulso
js
var x = player.getX();
var y = player.getY();
var z = player.getZ();
player.sendMessage("Estás en " + Math.floor(x) + ", " + Math.floor(y) + ", " + Math.floor(z));

player.teleport(0, 64, 0); // teleportar al spawn
player.setVelocity(0, 1, 0); // lanzar al jugador hacia arriba

Estado físico

MétodoRetornaDescripción
getHealth()numberVida actual
getMaxHealth()numberVida máxima
setMaxHealth(n)Cambiar la vida máxima
getFoodLevel()numberNivel de hambre (0-20)
setFoodLevel(n)Cambiar el hambre
isOnGround()booleanSi está tocando el suelo
isSneaking()booleanSi está agachado
isSprinting()booleanSi está corriendo
isFlying()booleanSi está volando
isSwimming()booleanSi está nadando
isDead()booleanSi está muerto
isImmobile()booleanSi está inmóvil
js
var hp = player.getHealth();
var maxHp = player.getMaxHealth();
player.sendMessage("§cVida: §f" + Math.floor(hp) + "/" + Math.floor(maxHp));
player.setFoodLevel(20); // llenar el hambre

Experiencia

MétodoRetornaDescripción
getExperience()numberPuntos de experiencia totales
getExperienceLevel()numberNivel de experiencia
addExperience(n)Agregar puntos de experiencia
setExperienceLevel(n)Establecer el nivel de experiencia
js
player.addExperience(100);
player.setExperienceLevel(30);
console.log("Nivel: " + player.getExperienceLevel());

Modo de juego

MétodoRetornaDescripción
getGameMode()stringModo actual ("survival", "creative", "adventure", "spectator")
setGameMode(modo)Cambiar el modo de juego
js
if (player.getGameMode() === "survival") {
    player.setGameMode("creative");
    player.sendMessage("§aModo creativo activado.");
}

Vuelo

WARNING

startFlying() y stopFlying() solo funcionan en modos creative o spectator. En survival son ignorados silenciosamente. Si necesitás vuelo en survival, cambiá el gamemode primero.

MétodoRetornaDescripción
isFlying()booleanSi está volando
startFlying()Activar vuelo
stopFlying()Desactivar vuelo
js
// Activar vuelo en cualquier modo
if (player.getGameMode() === "survival") {
    player.setGameMode("creative");
}
player.startFlying();

Efectos visuales

MétodoRetornaDescripción
isInvisible()booleanSi está invisible
setInvisible()Hacer invisible
setVisible()Hacer visible
js
player.setInvisible();
setTimeout(function() {
    player.setVisible();
}, 5000); // visible de nuevo después de 5 segundos

Velocidad

MétodoRetornaDescripción
getSpeed()numberVelocidad de movimiento actual
setSpeed(n)Cambiar velocidad (default: 0.1)
js
player.setSpeed(0.2); // doble de velocidad
player.setSpeed(0.1); // velocidad normal

Inventario

MétodoRetornaDescripción
giveItem(nombre, cantidad)booleanDar un item. Retorna false si el item no existe o el inventario está lleno
clearInventory()Limpiar todo el inventario
getItemCount(nombre)numberCuántos items de ese tipo tiene
js
// Los nombres de items usan el formato de Minecraft
player.giveItem("minecraft:diamond", 10);
player.giveItem("minecraft:stone", 64);
player.giveItem("minecraft:diamond_sword", 1);

var diamonds = player.getItemCount("minecraft:diamond");
player.sendMessage("Tenés §b" + diamonds + " §fdiamantes.");

player.clearInventory();

Sonidos

Reproducir un sonido al jugador en su posición actual.

MétodoDescripción
playSound(nombre)Reproducir un sonido

Sonidos disponibles:

NombreCuándo usarlo
"click"Interacción, selección
"levelup"Logro, subida de nivel
"pop"Item recibido, confirmación
"burp"Comer
"deny"Error, acción denegada
"door_open"Abrir puerta
"door_close"Cerrar puerta
"chest_open"Abrir cofre
"chest_close"Cerrar cofre
"anvil_land"Objeto pesado, impacto
"bow_shoot"Disparar
"arrow_hit"Impacto de flecha
js
player.playSound("levelup");
player.playSound("deny");

Títulos

MétodoDescripción
sendTitle(texto, subtitulo)Mostrar un título grande en el centro de la pantalla con subtítulo opcional
js
player.sendTitle("§a¡Bienvenido!", "§7Que la pases bien");

Efectos de poción

MétodoDescripción
addEffect(nombre, nivel, segundos)Aplicar un efecto de poción. nivel empieza en 1 (nivel I)
removeEffect(nombre)Quitar un efecto específico
clearEffects()Quitar todos los efectos activos

Efectos disponibles:

NombreDescripción
"speed"Moverse más rápido
"slowness"Moverse más lento
"haste"Minar más rápido
"mining_fatigue"Minar más lento
"strength"Hacer más daño
"jump_boost"Saltar más alto
"nausea"Visión distorsionada
"regeneration"Regenerar vida
"resistance"Recibir menos daño
"fire_resistance"Inmune al fuego
"water_breathing"Respirar bajo el agua
"invisibility"Invisible para otros
"blindness"Visión reducida
"night_vision"Ver en la oscuridad
"hunger"Perder hambre más rápido
"weakness"Hacer menos daño
"poison"Perder vida gradualmente
"wither"Perder vida (ignora armadura)
"health_boost"Aumentar vida máxima
"absorption"Puntos de vida extra
"saturation"Restaurar comida instantáneamente
"levitation"Flotar hacia arriba
"slow_falling"Caer lentamente
"conduit_power"Haste + visión bajo el agua
"darkness"Visión muy reducida
js
player.addEffect("speed", 2, 30);       // Velocidad II por 30 segundos
player.addEffect("regeneration", 1, 10); // Regeneración I por 10 segundos
player.removeEffect("speed");
player.clearEffects();

Armadura

MétodoRetornaDescripción
setArmour(slot, nombre)Equipar una pieza de armadura. Slot: 0=casco, 1=pechera, 2=pantalones, 3=botas
getArmour(slot)stringObtener el nombre del item en ese slot. Retorna "" si está vacío
clearArmour()Quitar toda la armadura
js
player.setArmour(0, "minecraft:diamond_helmet");
player.setArmour(1, "minecraft:diamond_chestplate");
player.setArmour(2, "minecraft:diamond_leggings");
player.setArmour(3, "minecraft:diamond_boots");

var casco = player.getArmour(0); // "minecraft:diamond_helmet"
player.clearArmour();

Scoreboard

MétodoDescripción
sendScoreboard(sb)Envía un scoreboard al jugador (creado con scoreboard.create())
removeScoreboard()Quita el scoreboard de la pantalla del jugador
js
var sb = scoreboard.create("§6Mi Servidor");
sb.setLine(0, "§7Jugadores: 5");
sb.setLine(1, "§7Mapa: Lobby");
player.sendScoreboard(sb);

// Más tarde...
player.removeScoreboard();

Ver la Scoreboard API para documentación completa incluyendo ScoreboardManager y Live Scoreboard.

Si querés leer el mundo o usar server.getPlayers() en tareas programadas, usá el Scheduler API, que ejecuta con Tx segura.

Comandos

MétodoDescripción
executeCommand(cmd)Ejecutar un comando como si lo escribiera el jugador
js
player.executeCommand("/spawn");

Dragonfly Script API