Sistema de Escondidas | Alpha

mail@pastecode.io avatar
unknown
javascript
2 years ago
6.6 kB
4
Indexable
Never
var PlayerCommandPreprocessEvent = Java.type("org.bukkit.event.player.PlayerCommandPreprocessEvent");
var PlayerInteractEvent = Java.type("org.bukkit.event.player.PlayerInteractEvent");

function onInit() {
    API.registerListener(PlayerCommandPreprocessEvent.class, function(event) {
        if (event.getMessage().trim().equalsIgnoreCase("/luchadores")) {
            API.executeCommand("warp Luchadores " + event.getPlayer().getName());
            event.setCancelled(true);
        }
    });
//// Escondidas
    API.registerListener(PlayerCommandPreprocessEvent.class, function(event) {
        var player = event.getPlayer();
        var escondidasId = "escondidas";
        var escondidasPlayer = "escondidas-player";
        var escondidasBuscador = "escondidas-buscador";
        var escondidasInside = player.getName() + "escondidas-inside";
        var escondidasLoc = player.getName() + "-escondidas-location";

        if (event.getMessage().equalsIgnoreCase("/escondidas iniciar")) {
            event.setCancelled(true);
            API.broadcast("Escondidas Iniciado");
            API.setTempData(escondidasId, true);
        }

        if (event.getMessage().equalsIgnoreCase("/escondidas detener")) {
            event.setCancelled(true);

            if (!(API.containsTempData(escondidasId))) {
                API.message(player, "&c¡No hay escondidas iniciado!");
                return;
            }

            if (API.containsTempData(escondidasId)) {
                API.broadcast("Escondidas Detenido");
                API.removeTempData(escondidasId);
            }  
        }

        if (event.getMessage().equalsIgnoreCase("/escondidas entrar")) {
            event.setCancelled(true);

            if (!(API.containsTempData(escondidasId))) {
                API.message(player, "&c¡No hay escondidas iniciado!");
                return;
            }

            if (API.containsTempData(escondidasInside)) {
                API.message(player, "&a¡Ya estás dentro!");
                return;
            } else {
                API.setTempData(escondidasInside, true);                
            }

            API.message(player, "&a¡Ingresaste a las escondidas!");

            if (!(API.containsTempData(escondidasLoc))) {
                API.setTempData(escondidasLoc, player.getLocation());
            }

            if (API.containsTempData(escondidasPlayer)) {
                var jugadores = API.getTempData(escondidasPlayer);
                API.setTempData(escondidasPlayer, jugadores + 1);
            } else {
                API.setTempData(escondidasPlayer, 1);
            }
            API.teleport(player, "npcs", 1673, 60, 888); 
        }

        if (event.getMessage().equalsIgnoreCase("/escondidas salir")) {
            event.setCancelled(true);

            if (!(API.containsTempData(escondidasId))) {
                API.message(player, "&c¡No hay escondidas iniciado!");
                return;
            }

            API.message(player, "&a¡Saliste de las escondidas!");

            if (API.containsTempData(escondidasBuscador)) {
                var buscador = API.getTempData(escondidasBuscador);

                if (buscador.getName().equals(player.getName())) {
                    API.removeTempData(escondidasBuscador);
                }
            }

            if (API.containsTempData(escondidasLoc)) {
                var location = API.getTempData(escondidasLoc);
                player.teleport(location);
                API.removeTempData(escondidasLoc);
            }

            if (API.containsTempData(escondidasPlayer)) {
                var jugadores = API.getTempData(escondidasPlayer);
                API.setTempData(escondidasPlayer, jugadores - 1);
            } else {
                API.removeTempData(escondidasPlayer);
            }
        }

        if (event.getMessage().equalsIgnoreCase("/escondidas buscador")) {
            event.setCancelled(true);

            if (!(API.containsTempData(escondidasId))) {
                API.message(player, "&c¡No hay escondidas iniciado!");
                return;
            }

            if (API.containsTempData(escondidasInside)) {
                API.message(player, "&a¡Ya eres participante, no puedes ser buscador!");
                return;
            }

            if (!(API.containsTempData(escondidasLoc))) {
                API.setTempData(escondidasLoc, player.getLocation());
            }

            if (API.containsTempData(escondidasBuscador)) {
                var buscador = API.getTempData(escondidasBuscador);

                if (buscador.getName().equals(player.getName())) {
                    API.message(player, "&c¡Ya eres buscador!");
                    return;
                } 
                API.message(player, "&c¡Ya hay un buscador!");
                return;
            } else {
                API.setTempData(escondidasBuscador, player);
                API.message(player, "&a¡Ingresaste a las escondidas como buscador!");
            }
            API.teleport(player, "npcs", 1673, 60, 888); 
        } 
    });

    API.registerListener(PlayerInteractEvent.class, function(event) {
        if (!(event.isRightClick)) {
            return;
        }

        var player = event.getPlayer();
        var clicked = event.getClickedEntity();
        var escondidasPlayer = "escondidas-player";
        var escondidasBuscador = "escondidas-buscador";
        var escondidasLoc = clicked.getName() + "-escondidas-location";

        if (!(API.isInRegion(player, "escondidas"))) 
            return;
        
        if (!(API.containsTempData(escondidasBuscador))) 
            return;

        var buscador = API.getTempData(escondidasBuscador);

        if (!(buscador.getName().equals(player.getName())))
            return;
        
        if (API.containsTempData(escondidasLoc)) {
            var location = API.getTempData(escondidasLoc);
            var jugadores = API.getTempData(escondidasPlayer);

            API.message(clicked, "&c¡Te han encontrado!");    
            clicked.teleport(location);

            if (jugadores > 1) {
                API.setTempData(escondidasPlayer, jugadores - 1);
            } else {
                API.removeTempData(escondidasPlayer);
                API.broadcast("&c¡El buscador " + buscador.getDisplayName() + " a encontrado a todos!");
            }
        }
    });
}