Comando TpAuto || Facuu16_

 avatar
unknown
javascript
2 years ago
2.5 kB
5
Indexable
var Bukkit = Java.type("org.bukkit.Bukkit");
var PlayerCommandPreprocessEvent = Java.type("org.bukkit.event.player.PlayerCommandPreprocessEvent");
var AsyncPlayerChatEvent = Java.type("org.bukkit.event.player.AsyncPlayerChatEvent");

function onInit() {
    API.registerListener(PlayerCommandPreprocessEvent.class, function(event) {
        var player = event.getPlayer();
        var tpAutoId = player.getName() + "-tp-auto"; // Temp data id

        if (event.getMessage().trim().equalsIgnoreCase("/tpauto on")) { // Al usar el comando /tpauto on
            event.setCancelled(true); // Lo cancelamos para que no salga el mensaje de comando desconocido
            API.message(player, "&a¡Tp auto activado, escribe los jugadores que quieras teletransportar!"); // avisamos al jugador
            API.setTempData(tpAutoId, true); // Guardamos el temp data
        }

        if (event.getMessage().trim().equalsIgnoreCase("/tpauto off")) { // Al usar el comando /tpauto off
            event.setCancelled(true); // Lo cancelamos para que no salga el mensaje de comando desconocido 

            if (API.containsTempData(tpAutoId)) { // Si tiene el temp data
                API.message(player, "&c¡Tp auto desactivado!"); // Avisamos al jugador
                API.removeTempData(tpAutoId); // Removemos el temp data
            } else { // Si no
                API.message(player, "&c¡El tp auto no está activado!"); // Le decimos que no está activado
            }
        }
    });

    API.registerListener(AsyncPlayerChatEvent.class, function(event) {
        var player = event.getPlayer();
        var tpAutoId = player.getName() + "-tp-auto"; // Ya que es otra funcion, definimos nuevamente la variable de la id el temp data

        if (API.containsTempData(tpAutoId)) { // Si tiene el temp data, quiere decir que usó el comando /tpauto on
            event.setCancelled(true); // Cancelamos el evento para que no envie mensajes al chat
            var tpPlayer = event.getMessage(); // Variable que obtiene el mensaje que envio el usuario

            Bukkit.getPlayerExact(tpPlayer) != null ?  API.getPlayer(tpPlayer).teleport(player.getLocation()) : API.message(player, "&c¡El jugador no está online!");
            // Si el jugador está conectado ? Obtenemos su jugador y lo teletransportamos al jugador : si no lo está, entonces le decimos al jugador
            // Este es el operador ternary, condicion ? aqui va si es true : aqui si es false
        }
    });
}
Editor is loading...