Search in sources :

Example 71 with Player

use of org.bukkit.entity.Player in project GameCore by Warvale.

the class LobbyScoreboard method updateTime.

public void updateTime() {
    for (Player online : Bukkit.getOnlinePlayers()) {
        Objective objective = getScoreboards().get(online.getUniqueId()).getObjective("lobby");
        Team time = getScoreboards().get(online.getUniqueId()).getTeam("LobbyTime");
        if (objective != null && time != null) {
            objective.getScore("    ").setScore(14);
            //objective.getScore("§8» §cTime:").setScore(7);
            Format date = new SimpleDateFormat("HH:mm:ss 'UTC'", Locale.US);
            String dateStr = date.format(new Date());
            time.setSuffix(" §7" + dateStr);
            objective.getScore("§8» §cTime:").setScore(13);
            objective.getScore("   ").setScore(12);
        }
    }
}
Also used : Objective(org.bukkit.scoreboard.Objective) Player(org.bukkit.entity.Player) Format(java.text.Format) SimpleDateFormat(java.text.SimpleDateFormat) Team(org.bukkit.scoreboard.Team) SimpleDateFormat(java.text.SimpleDateFormat) Date(java.util.Date)

Example 72 with Player

use of org.bukkit.entity.Player in project Minigames by AddstarMC.

the class PlayerData method quitMinigame.

public void quitMinigame(MinigamePlayer player, boolean forced) {
    Minigame minigame = player.getMinigame();
    boolean isWinner = false;
    if (GameOverModule.getMinigameModule(minigame).getWinners().contains(player))
        isWinner = true;
    QuitMinigameEvent event = new QuitMinigameEvent(player, minigame, forced, isWinner);
    Bukkit.getServer().getPluginManager().callEvent(event);
    if (!event.isCancelled()) {
        if (!minigame.isSpectator(player)) {
            if (player.getEndTime() == 0)
                player.setEndTime(System.currentTimeMillis());
            if (isWinner)
                GameOverModule.getMinigameModule(minigame).getWinners().remove(player);
            else
                GameOverModule.getMinigameModule(minigame).getLosers().remove(player);
            if (!isWinner) {
                if (!minigame.canSaveCheckpoint() && minigame.isEnabled()) {
                    StoredGameStats saveData = new StoredGameStats(minigame, player);
                    saveData.addStat(MinigameStats.Attempts, 1);
                    for (DynamicMinigameStat stat : MinigameStats.getDynamicStats()) {
                        if (stat.doesApply(minigame, player, false)) {
                            saveData.addStat(stat, stat.getValue(minigame, player, false));
                        }
                    }
                    saveData.applySettings(minigame.getStatSettings(saveData));
                    plugin.queueStatSave(saveData, false);
                }
            }
            //Call Types quit.
            mdata.minigameType(minigame.getType()).quitMinigame(player, minigame, forced);
            //Call Mechanic quit.
            minigame.getMechanic().quitMinigame(minigame, player, forced);
            //Prepare player for quit
            if (player.getPlayer().getVehicle() != null) {
                Vehicle vehicle = (Vehicle) player.getPlayer().getVehicle();
                vehicle.eject();
            }
            player.getPlayer().closeInventory();
            if (player.getLoadout() != null) {
                player.getLoadout().removeLoadout(player);
            }
            player.removeMinigame();
            minigame.removePlayer(player);
            for (PotionEffect potion : player.getPlayer().getActivePotionEffects()) {
                player.getPlayer().removePotionEffect(potion.getType());
            }
            player.getPlayer().setFallDistance(0);
            player.getPlayer().setNoDamageTicks(60);
            final MinigamePlayer fplayer = player;
            Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, new Runnable() {

                @Override
                public void run() {
                    fplayer.getPlayer().setFireTicks(0);
                }
            });
            player.resetAllStats();
            if (!player.isDead()) {
                player.restorePlayerData();
                if (!isWinner)
                    player.teleport(minigame.getQuitPosition());
                else
                    player.teleport(minigame.getEndPosition());
            } else {
                if (!isWinner)
                    player.setQuitPos(minigame.getQuitPosition());
                else
                    player.setQuitPos(minigame.getEndPosition());
                player.setRequiredQuit(true);
            }
            //Reward Player
            if (isWinner) {
                player.claimTempRewardItems();
            }
            player.claimRewards();
            //Reset Minigame
            if (minigame.getPlayers().size() == 0) {
                if (minigame.getMinigameTimer() != null) {
                    minigame.getMinigameTimer().stopTimer();
                    minigame.setMinigameTimer(null);
                }
                if (minigame.getFloorDegenerator() != null) {
                    minigame.getFloorDegenerator().stopDegenerator();
                }
                minigame.setState(MinigameState.IDLE);
                if (minigame.getBlockRecorder().hasData()) {
                    minigame.getBlockRecorder().restoreBlocks();
                    minigame.getBlockRecorder().restoreEntities();
                    minigame.getBlockRecorder().setCreatedRegenBlocks(false);
                }
                if (minigame.getMpTimer() != null) {
                    minigame.getMpTimer().pauseTimer();
                    minigame.getMpTimer().removeTimer();
                    minigame.setMpTimer(null);
                }
                if (minigame.getMpBets() != null) {
                    minigame.setMpBets(null);
                }
                mdata.clearClaimedScore(minigame);
                WeatherTimeModule.getMinigameModule(minigame).stopTimeLoop();
                GameOverModule.getMinigameModule(minigame).stopEndGameTimer();
                for (Team team : TeamsModule.getMinigameModule(minigame).getTeams()) {
                    team.setScore(0);
                }
            }
            minigame.getScoreboardManager().resetScores(player.getName());
            for (MinigamePlayer pl : minigame.getSpectators()) {
                player.getPlayer().showPlayer(pl.getPlayer());
            }
            if (minigame.getPlayers().size() == 0 && !minigame.isRegenerating()) {
                HandlerList.unregisterAll(minigame.getBlockRecorder());
            }
            //Send out messages
            if (!forced) {
                mdata.sendMinigameMessage(minigame, MinigameUtils.formStr("player.quit.plyMsg", player.getName(), minigame.getName(true)), "error", player);
            }
            plugin.getLogger().info(player.getName() + " quit " + minigame);
            player.updateInventory();
        } else {
            if (player.getPlayer().getVehicle() != null) {
                Vehicle vehicle = (Vehicle) player.getPlayer().getVehicle();
                vehicle.eject();
            }
            player.getPlayer().setFallDistance(0);
            player.getPlayer().setNoDamageTicks(60);
            final Player fplayer = player.getPlayer();
            for (PotionEffect potion : player.getPlayer().getActivePotionEffects()) {
                player.getPlayer().removePotionEffect(potion.getType());
            }
            Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, new Runnable() {

                @Override
                public void run() {
                    fplayer.setFireTicks(0);
                }
            });
            player.getPlayer().closeInventory();
            if (!player.isDead()) {
                player.restorePlayerData();
            }
            player.teleport(minigame.getQuitPosition());
            player.removeMinigame();
            minigame.removeSpectator(player);
            for (MinigamePlayer pl : minigame.getPlayers()) {
                pl.getPlayer().showPlayer(player.getPlayer());
            }
            player.sendMessage(MinigameUtils.formStr("player.spectate.quit.plyMsg", minigame.getName(true)), "error");
            mdata.sendMinigameMessage(minigame, MinigameUtils.formStr("player.spectate.quit.minigameMsg", player.getName(), minigame.getName(true)), "error", player);
        }
        if (player.getPlayer().getGameMode() != GameMode.CREATIVE)
            player.setCanFly(false);
        if (!forced) {
            minigame.getScoreboardData().reload();
        }
    }
}
Also used : Vehicle(org.bukkit.entity.Vehicle) QuitMinigameEvent(au.com.mineauz.minigames.events.QuitMinigameEvent) Player(org.bukkit.entity.Player) StoredGameStats(au.com.mineauz.minigames.stats.StoredGameStats) PotionEffect(org.bukkit.potion.PotionEffect) Team(au.com.mineauz.minigames.minigame.Team) Minigame(au.com.mineauz.minigames.minigame.Minigame) DynamicMinigameStat(au.com.mineauz.minigames.stats.DynamicMinigameStat)

Example 73 with Player

use of org.bukkit.entity.Player in project Denizen-For-Bukkit by DenizenScript.

the class FakeItemCommand method execute.

@Override
public void execute(ScriptEntry scriptEntry) throws CommandExecutionException {
    List<dItem> items = (List<dItem>) scriptEntry.getObject("item");
    final Element elSlot = scriptEntry.getElement("slot");
    Duration duration = scriptEntry.getdObject("duration");
    final List<dPlayer> players = (List<dPlayer>) scriptEntry.getObject("players");
    final Element player_only = scriptEntry.getElement("player_only");
    dB.report(scriptEntry, getName(), aH.debugList("items", items) + elSlot.debug() + duration.debug() + aH.debugList("players", players) + player_only.debug());
    int slot = elSlot.asInt() - 1;
    final boolean playerOnly = player_only.asBoolean();
    final PacketHelper packetHelper = NMSHandler.getInstance().getPacketHelper();
    for (dItem item : items) {
        if (item == null) {
            slot++;
            continue;
        }
        for (dPlayer player : players) {
            Player ent = player.getPlayerEntity();
            packetHelper.setSlot(ent, translateSlot(ent, slot, playerOnly), item.getItemStack(), playerOnly);
        }
        final int slotSnapshot = slot;
        slot++;
        if (duration.getSeconds() > 0) {
            DenizenCore.schedule(new OneTimeSchedulable(new Runnable() {

                @Override
                public void run() {
                    for (dPlayer player : players) {
                        Player ent = player.getPlayerEntity();
                        ItemStack original = ent.getOpenInventory().getItem(translateSlot(ent, slotSnapshot, playerOnly));
                        packetHelper.setSlot(ent, slotSnapshot, original, playerOnly);
                    }
                }
            }, (float) duration.getSeconds()));
        }
    }
}
Also used : net.aufdemrand.denizen.objects.dPlayer(net.aufdemrand.denizen.objects.dPlayer) Player(org.bukkit.entity.Player) PacketHelper(net.aufdemrand.denizen.nms.interfaces.PacketHelper) Element(net.aufdemrand.denizencore.objects.Element) Duration(net.aufdemrand.denizencore.objects.Duration) net.aufdemrand.denizen.objects.dItem(net.aufdemrand.denizen.objects.dItem) net.aufdemrand.denizen.objects.dPlayer(net.aufdemrand.denizen.objects.dPlayer) List(java.util.List) net.aufdemrand.denizencore.objects.dList(net.aufdemrand.denizencore.objects.dList) ItemStack(org.bukkit.inventory.ItemStack) OneTimeSchedulable(net.aufdemrand.denizencore.utilities.scheduling.OneTimeSchedulable)

Example 74 with Player

use of org.bukkit.entity.Player in project Denizen-For-Bukkit by DenizenScript.

the class TeleportCommand method execute.

@SuppressWarnings("unchecked")
@Override
public void execute(final ScriptEntry scriptEntry) throws CommandExecutionException {
    // Get objects
    dLocation location = (dLocation) scriptEntry.getObject("location");
    List<dEntity> entities = (List<dEntity>) scriptEntry.getObject("entities");
    // Report to dB
    dB.report(scriptEntry, getName(), aH.debugObj("location", location) + aH.debugObj("entities", entities.toString()));
    for (dEntity entity : entities) {
        // world event and other plugins
        if (entity.isSpawned()) {
            if (entity.getBukkitEntityType() != EntityType.PLAYER) {
                Bukkit.getPluginManager().callEvent(new EntityTeleportEvent(entity.getBukkitEntity(), entity.getLocation(), location));
            } else {
                Bukkit.getPluginManager().callEvent(new PlayerTeleportEvent((Player) entity.getBukkitEntity(), entity.getLocation(), location));
            }
        }
        entity.spawnAt(location);
    }
}
Also used : Player(org.bukkit.entity.Player) net.aufdemrand.denizen.objects.dEntity(net.aufdemrand.denizen.objects.dEntity) PlayerTeleportEvent(org.bukkit.event.player.PlayerTeleportEvent) List(java.util.List) net.aufdemrand.denizencore.objects.dList(net.aufdemrand.denizencore.objects.dList) net.aufdemrand.denizen.objects.dLocation(net.aufdemrand.denizen.objects.dLocation) EntityTeleportEvent(org.bukkit.event.entity.EntityTeleportEvent)

Example 75 with Player

use of org.bukkit.entity.Player in project Denizen-For-Bukkit by DenizenScript.

the class ServerTags method serverTag.

@TagManager.TagEvents
public void serverTag(ReplaceableTagEvent event) {
    if (!event.matches("server", "svr", "global") || event.replaced()) {
        return;
    }
    Attribute attribute = event.getAttributes().fulfill(1);
    // -->
    if (attribute.startsWith("object_is_valid")) {
        dObject o = ObjectFetcher.pickObjectFor(attribute.getContext(1), new BukkitTagContext(null, null, false, null, false, null));
        event.setReplaced(new Element(!(o == null || o instanceof Element)).getAttribute(attribute.fulfill(1)));
        return;
    }
    // -->
    if (attribute.startsWith("has_whitelist")) {
        event.setReplaced(new Element(Bukkit.hasWhitelist()).getAttribute(attribute.fulfill(1)));
        return;
    }
    // -->
    if (attribute.startsWith("has_flag")) {
        String flag_name;
        if (attribute.hasContext(1)) {
            flag_name = attribute.getContext(1);
        } else {
            event.setReplaced("null");
            return;
        }
        event.setReplaced(new Element(FlagManager.serverHasFlag(flag_name)).getAttribute(attribute.fulfill(1)));
        return;
    }
    // -->
    if (attribute.startsWith("flag")) {
        String flag_name;
        if (attribute.hasContext(1)) {
            flag_name = attribute.getContext(1);
        } else {
            event.setReplaced("null");
            return;
        }
        attribute.fulfill(1);
        // NOTE: Meta is in dList.java
        if (attribute.startsWith("is_expired") || attribute.startsWith("isexpired")) {
            event.setReplaced(new Element(!FlagManager.serverHasFlag(flag_name)).getAttribute(attribute.fulfill(1)));
            return;
        }
        // NOTE: Meta is in dList.java
        if (attribute.startsWith("size") && !FlagManager.serverHasFlag(flag_name)) {
            event.setReplaced(new Element(0).getAttribute(attribute.fulfill(1)));
            return;
        }
        if (FlagManager.serverHasFlag(flag_name)) {
            FlagManager.Flag flag = DenizenAPI.getCurrentInstance().flagManager().getGlobalFlag(flag_name);
            event.setReplaced(new dList(flag.toString(), true, flag.values()).getAttribute(attribute));
        }
        return;
    }
    // -->
    if (attribute.startsWith("list_materials")) {
        dList allMats = new dList();
        for (Material mat : Material.values()) {
            allMats.add(mat.name());
        }
        event.setReplaced(allMats.getAttribute(attribute.fulfill(1)));
    }
    // -->
    if (attribute.startsWith("list_flags")) {
        dList allFlags = new dList(DenizenAPI.getCurrentInstance().flagManager().listGlobalFlags());
        dList searchFlags = null;
        if (!allFlags.isEmpty() && attribute.hasContext(1)) {
            searchFlags = new dList();
            String search = attribute.getContext(1);
            if (search.startsWith("regex:")) {
                try {
                    Pattern pattern = Pattern.compile(search.substring(6), Pattern.CASE_INSENSITIVE);
                    for (String flag : allFlags) {
                        if (pattern.matcher(flag).matches()) {
                            searchFlags.add(flag);
                        }
                    }
                } catch (Exception e) {
                    dB.echoError(e);
                }
            } else {
                search = CoreUtilities.toLowerCase(search);
                for (String flag : allFlags) {
                    if (CoreUtilities.toLowerCase(flag).contains(search)) {
                        searchFlags.add(flag);
                    }
                }
            }
        }
        event.setReplaced(searchFlags == null ? allFlags.getAttribute(attribute.fulfill(1)) : searchFlags.getAttribute(attribute.fulfill(1)));
    }
    // -->
    if (attribute.startsWith("list_notables")) {
        dList allNotables = new dList();
        if (attribute.hasContext(1)) {
            String type = CoreUtilities.toLowerCase(attribute.getContext(1));
            types: for (Map.Entry<String, Class> typeClass : NotableManager.getReverseClassIdMap().entrySet()) {
                if (type.equals(CoreUtilities.toLowerCase(typeClass.getKey()))) {
                    for (Object notable : NotableManager.getAllType(typeClass.getValue())) {
                        allNotables.add(((dObject) notable).identify());
                    }
                    break types;
                }
            }
        } else {
            for (Notable notable : NotableManager.notableObjects.values()) {
                allNotables.add(((dObject) notable).identify());
            }
        }
        event.setReplaced(allNotables.getAttribute(attribute.fulfill(1)));
    }
    // -->
    if (attribute.startsWith("start_time")) {
        event.setReplaced(new Duration(Denizen.startTime / 50).getAttribute(attribute.fulfill(1)));
    }
    // -->
    if (attribute.startsWith("ram_allocated")) {
        event.setReplaced(new Element(Runtime.getRuntime().totalMemory()).getAttribute(attribute.fulfill(1)));
    }
    // -->
    if (attribute.startsWith("ram_max")) {
        event.setReplaced(new Element(Runtime.getRuntime().maxMemory()).getAttribute(attribute.fulfill(1)));
    }
    // -->
    if (attribute.startsWith("ram_free")) {
        event.setReplaced(new Element(Runtime.getRuntime().freeMemory()).getAttribute(attribute.fulfill(1)));
    }
    // -->
    if (attribute.startsWith("available_processors")) {
        event.setReplaced(new Element(Runtime.getRuntime().availableProcessors()).getAttribute(attribute.fulfill(1)));
    }
    // -->
    if (attribute.startsWith("current_time_millis")) {
        event.setReplaced(new Element(System.currentTimeMillis()).getAttribute(attribute.fulfill(1)));
    }
    // -->
    if (attribute.startsWith("has_event") && attribute.hasContext(1)) {
        event.setReplaced(new Element(OldEventManager.eventExists(attribute.getContext(1)) || OldEventManager.eventExists(OldEventManager.StripIdentifiers(attribute.getContext(1)))).getAttribute(attribute.fulfill(1)));
    }
    // -->
    if (attribute.startsWith("get_event_handlers") && attribute.hasContext(1)) {
        String eventName = attribute.getContext(1).toUpperCase();
        List<WorldScriptContainer> EventsOne = OldEventManager.events.get("ON " + eventName);
        List<WorldScriptContainer> EventsTwo = OldEventManager.events.get("ON " + OldEventManager.StripIdentifiers(eventName));
        if (EventsOne == null && EventsTwo == null) {
            dB.echoError("No world scripts will handle the event '" + eventName + "'");
        } else {
            dList list = new dList();
            if (EventsOne != null) {
                for (WorldScriptContainer script : EventsOne) {
                    list.add("s@" + script.getName());
                }
            }
            if (EventsTwo != null) {
                for (WorldScriptContainer script : EventsTwo) {
                    if (!list.contains("s@" + script.getName())) {
                        list.add("s@" + script.getName());
                    }
                }
            }
            event.setReplaced(list.getAttribute(attribute.fulfill(1)));
        }
    }
    // -->
    if (attribute.startsWith("selected_npc")) {
        NPC npc = ((Citizens) Bukkit.getPluginManager().getPlugin("Citizens")).getNPCSelector().getSelected(Bukkit.getConsoleSender());
        if (npc == null) {
            return;
        } else {
            event.setReplaced(new dNPC(npc).getAttribute(attribute.fulfill(1)));
        }
        return;
    }
    // -->
    if (attribute.startsWith("get_npcs_named") && Depends.citizens != null && attribute.hasContext(1)) {
        dList npcs = new dList();
        for (NPC npc : CitizensAPI.getNPCRegistry()) {
            if (npc.getName().equalsIgnoreCase(attribute.getContext(1))) {
                npcs.add(dNPC.mirrorCitizensNPC(npc).identify());
            }
        }
        event.setReplaced(npcs.getAttribute(attribute.fulfill(1)));
        return;
    }
    // -->
    if (attribute.startsWith("has_file") && attribute.hasContext(1)) {
        File f = new File(DenizenAPI.getCurrentInstance().getDataFolder(), attribute.getContext(1));
        try {
            if (!Settings.allowStrangeYAMLSaves() && !f.getCanonicalPath().startsWith(DenizenAPI.getCurrentInstance().getDataFolder().getCanonicalPath())) {
                dB.echoError("Invalid path specified. Invalid paths have been denied by the server administrator.");
                return;
            }
        } catch (Exception e) {
            dB.echoError(e);
            return;
        }
        event.setReplaced(new Element(f.exists()).getAttribute(attribute.fulfill(1)));
        return;
    }
    // -->
    if (attribute.startsWith("list_files") && attribute.hasContext(1)) {
        File folder = new File(DenizenAPI.getCurrentInstance().getDataFolder(), attribute.getContext(1));
        if (!folder.exists() || !folder.isDirectory()) {
            return;
        }
        try {
            if (!Settings.allowStrangeYAMLSaves() && !folder.getCanonicalPath().startsWith(DenizenAPI.getCurrentInstance().getDataFolder().getCanonicalPath())) {
                dB.echoError("Invalid path specified. Invalid paths have been denied by the server administrator.");
                return;
            }
        } catch (Exception e) {
            dB.echoError(e);
            return;
        }
        File[] files = folder.listFiles();
        if (files == null) {
            return;
        }
        dList list = new dList();
        for (File file : files) {
            list.add(file.getName());
        }
        event.setReplaced(list.getAttribute(attribute.fulfill(1)));
        return;
    }
    // -->
    if (attribute.startsWith("has_permissions")) {
        event.setReplaced(new Element(Depends.permissions != null && Depends.permissions.isEnabled()).getAttribute(attribute.fulfill(1)));
        return;
    }
    // -->
    if (attribute.startsWith("has_economy")) {
        event.setReplaced(new Element(Depends.economy != null && Depends.economy.isEnabled()).getAttribute(attribute.fulfill(1)));
        return;
    }
    // -->
    if (attribute.startsWith("denizen_version")) {
        event.setReplaced(new Element(DenizenAPI.getCurrentInstance().getDescription().getVersion()).getAttribute(attribute.fulfill(1)));
        return;
    }
    // -->
    if (attribute.startsWith("bukkit_version")) {
        event.setReplaced(new Element(Bukkit.getBukkitVersion()).getAttribute(attribute.fulfill(1)));
        return;
    }
    // -->
    if (attribute.startsWith("version")) {
        event.setReplaced(new Element(Bukkit.getServer().getVersion()).getAttribute(attribute.fulfill(1)));
        return;
    }
    // -->
    if (attribute.startsWith("java_version")) {
        event.setReplaced(new Element(System.getProperty("java.version")).getAttribute(attribute.fulfill(1)));
        return;
    }
    // -->
    if (attribute.startsWith("max_players")) {
        event.setReplaced(new Element(Bukkit.getServer().getMaxPlayers()).getAttribute(attribute.fulfill(1)));
        return;
    }
    // -->
    if (attribute.startsWith("list_sql_connections")) {
        dList list = new dList();
        for (Map.Entry<String, Connection> entry : SQLCommand.connections.entrySet()) {
            try {
                if (!entry.getValue().isClosed()) {
                    list.add(entry.getKey());
                } else {
                    SQLCommand.connections.remove(entry.getKey());
                }
            } catch (SQLException e) {
                dB.echoError(attribute.getScriptEntry().getResidingQueue(), e);
            }
        }
        event.setReplaced(list.getAttribute(attribute.fulfill(1)));
        return;
    }
    // -->
    if (attribute.startsWith("list_permission_groups")) {
        if (Depends.permissions == null) {
            dB.echoError("No permission system loaded! Have you installed Vault and a compatible permissions plugin?");
            return;
        }
        event.setReplaced(new dList(Arrays.asList(Depends.permissions.getGroups())).getAttribute(attribute.fulfill(1)));
        return;
    }
    // -->
    if (attribute.startsWith("list_plugin_names")) {
        dList plugins = new dList();
        for (Plugin plugin : Bukkit.getServer().getPluginManager().getPlugins()) {
            plugins.add(plugin.getName());
        }
        event.setReplaced(plugins.getAttribute(attribute.fulfill(1)));
        return;
    }
    // -->
    if (attribute.startsWith("list_scripts")) {
        dList scripts = new dList();
        for (String str : ScriptRegistry._getScriptNames()) {
            scripts.add("s@" + str);
        }
        event.setReplaced(scripts.getAttribute(attribute.fulfill(1)));
        return;
    }
    // -->
    if (attribute.startsWith("match_player") && attribute.hasContext(1)) {
        Player matchPlayer = null;
        String matchInput = CoreUtilities.toLowerCase(attribute.getContext(1));
        for (Player player : Bukkit.getOnlinePlayers()) {
            if (CoreUtilities.toLowerCase(player.getName()).equals(matchInput)) {
                matchPlayer = player;
                break;
            } else if (CoreUtilities.toLowerCase(player.getName()).contains(matchInput) && matchPlayer == null) {
                matchPlayer = player;
            }
        }
        if (matchPlayer != null) {
            event.setReplaced(new dPlayer(matchPlayer).getAttribute(attribute.fulfill(1)));
        }
        return;
    }
    // -->
    if (attribute.startsWith("match_offline_player") && attribute.hasContext(1)) {
        UUID matchPlayer = null;
        String matchInput = CoreUtilities.toLowerCase(attribute.getContext(1));
        for (Map.Entry<String, UUID> entry : dPlayer.getAllPlayers().entrySet()) {
            if (CoreUtilities.toLowerCase(entry.getKey()).equals(matchInput)) {
                matchPlayer = entry.getValue();
                break;
            } else if (CoreUtilities.toLowerCase(entry.getKey()).contains(matchInput) && matchPlayer == null) {
                matchPlayer = entry.getValue();
            }
        }
        if (matchPlayer != null) {
            event.setReplaced(new dPlayer(matchPlayer).getAttribute(attribute.fulfill(1)));
        }
        return;
    }
    // -->
    if (attribute.startsWith("get_npcs_assigned") && Depends.citizens != null && attribute.hasContext(1)) {
        dScript script = dScript.valueOf(attribute.getContext(1));
        if (script == null || !(script.getContainer() instanceof AssignmentScriptContainer)) {
            dB.echoError("Invalid script specified.");
        } else {
            dList npcs = new dList();
            for (NPC npc : CitizensAPI.getNPCRegistry()) {
                if (npc.hasTrait(AssignmentTrait.class) && npc.getTrait(AssignmentTrait.class).hasAssignment() && npc.getTrait(AssignmentTrait.class).getAssignment().getName().equalsIgnoreCase(script.getName())) {
                    npcs.add(dNPC.mirrorCitizensNPC(npc).identify());
                }
            }
            event.setReplaced(npcs.getAttribute(attribute.fulfill(1)));
            return;
        }
    }
    // -->
    if (attribute.startsWith("get_online_players_flagged") && attribute.hasContext(1)) {
        String flag = attribute.getContext(1);
        dList players = new dList();
        for (Player player : Bukkit.getOnlinePlayers()) {
            if (DenizenAPI.getCurrentInstance().flagManager().getPlayerFlag(new dPlayer(player), flag).size() > 0) {
                players.add(new dPlayer(player).identify());
            }
        }
        event.setReplaced(players.getAttribute(attribute.fulfill(1)));
        return;
    }
    // -->
    if (attribute.startsWith("get_players_flagged") && attribute.hasContext(1)) {
        String flag = attribute.getContext(1);
        dList players = new dList();
        for (Map.Entry<String, UUID> entry : dPlayer.getAllPlayers().entrySet()) {
            if (DenizenAPI.getCurrentInstance().flagManager().getPlayerFlag(new dPlayer(entry.getValue()), flag).size() > 0) {
                players.add(new dPlayer(entry.getValue()).identify());
            }
        }
        event.setReplaced(players.getAttribute(attribute.fulfill(1)));
        return;
    }
    // -->
    if (attribute.startsWith("get_spawned_npcs_flagged") && Depends.citizens != null && attribute.hasContext(1)) {
        String flag = attribute.getContext(1);
        dList npcs = new dList();
        for (NPC npc : CitizensAPI.getNPCRegistry()) {
            dNPC dNpc = dNPC.mirrorCitizensNPC(npc);
            if (dNpc.isSpawned() && FlagManager.npcHasFlag(dNpc, flag)) {
                npcs.add(dNpc.identify());
            }
        }
        event.setReplaced(npcs.getAttribute(attribute.fulfill(1)));
        return;
    }
    // -->
    if (attribute.startsWith("get_npcs_flagged") && Depends.citizens != null && attribute.hasContext(1)) {
        String flag = attribute.getContext(1);
        dList npcs = new dList();
        for (NPC npc : CitizensAPI.getNPCRegistry()) {
            dNPC dNpc = dNPC.mirrorCitizensNPC(npc);
            if (FlagManager.npcHasFlag(dNpc, flag)) {
                npcs.add(dNpc.identify());
            }
        }
        event.setReplaced(npcs.getAttribute(attribute.fulfill(1)));
        return;
    }
    // -->
    if (attribute.startsWith("list_npcs") && Depends.citizens != null) {
        dList npcs = new dList();
        for (NPC npc : CitizensAPI.getNPCRegistry()) {
            npcs.add(dNPC.mirrorCitizensNPC(npc).identify());
        }
        event.setReplaced(npcs.getAttribute(attribute.fulfill(1)));
        return;
    }
    // -->
    if (attribute.startsWith("list_worlds")) {
        dList worlds = new dList();
        for (World world : Bukkit.getWorlds()) {
            worlds.add(dWorld.mirrorBukkitWorld(world).identify());
        }
        event.setReplaced(worlds.getAttribute(attribute.fulfill(1)));
        return;
    }
    // -->
    if (attribute.startsWith("list_plugins")) {
        dList plugins = new dList();
        for (Plugin plugin : Bukkit.getServer().getPluginManager().getPlugins()) {
            plugins.add(new dPlugin(plugin).identify());
        }
        event.setReplaced(plugins.getAttribute(attribute.fulfill(1)));
        return;
    }
    // -->
    if (attribute.startsWith("list_players")) {
        dList players = new dList();
        for (OfflinePlayer player : Bukkit.getOfflinePlayers()) {
            players.add(dPlayer.mirrorBukkitPlayer(player).identify());
        }
        event.setReplaced(players.getAttribute(attribute.fulfill(1)));
        return;
    }
    // -->
    if (attribute.startsWith("list_online_players")) {
        dList players = new dList();
        for (Player player : Bukkit.getOnlinePlayers()) {
            players.add(dPlayer.mirrorBukkitPlayer(player).identify());
        }
        event.setReplaced(players.getAttribute(attribute.fulfill(1)));
        return;
    }
    // -->
    if (attribute.startsWith("list_offline_players")) {
        dList players = new dList();
        for (OfflinePlayer player : Bukkit.getOfflinePlayers()) {
            if (!player.isOnline()) {
                players.add(dPlayer.mirrorBukkitPlayer(player).identify());
            }
        }
        event.setReplaced(players.getAttribute(attribute.fulfill(1)));
        return;
    }
    // -->
    if (attribute.startsWith("list_banned_players")) {
        dList banned = new dList();
        for (OfflinePlayer player : Bukkit.getBannedPlayers()) {
            banned.add(dPlayer.mirrorBukkitPlayer(player).identify());
        }
        event.setReplaced(banned.getAttribute(attribute.fulfill(1)));
        return;
    }
    // -->
    if (attribute.startsWith("list_ops")) {
        dList players = new dList();
        for (OfflinePlayer player : Bukkit.getOperators()) {
            players.add(dPlayer.mirrorBukkitPlayer(player).identify());
        }
        event.setReplaced(players.getAttribute(attribute.fulfill(1)));
        return;
    }
    // -->
    if (attribute.startsWith("list_online_ops")) {
        dList players = new dList();
        for (OfflinePlayer player : Bukkit.getOperators()) {
            if (player.isOnline()) {
                players.add(dPlayer.mirrorBukkitPlayer(player).identify());
            }
        }
        event.setReplaced(players.getAttribute(attribute.fulfill(1)));
        return;
    }
    // -->
    if (attribute.startsWith("list_offline_ops")) {
        dList players = new dList();
        for (OfflinePlayer player : Bukkit.getOfflinePlayers()) {
            if (player.isOp() && !player.isOnline()) {
                players.add(dPlayer.mirrorBukkitPlayer(player).identify());
            }
        }
        event.setReplaced(players.getAttribute(attribute.fulfill(1)));
        return;
    }
    // -->
    if (attribute.startsWith("motd")) {
        event.setReplaced(new Element(Bukkit.getServer().getMotd()).getAttribute(attribute.fulfill(1)));
        return;
    } else // -->
    if (attribute.startsWith("entity_is_spawned") && attribute.hasContext(1)) {
        dEntity ent = dEntity.valueOf(attribute.getContext(1));
        event.setReplaced(new Element((ent != null && ent.isUnique() && ent.isSpawned()) ? "true" : "false").getAttribute(attribute.fulfill(1)));
    } else // -->
    if (attribute.startsWith("player_is_valid") && attribute.hasContext(1)) {
        event.setReplaced(new Element(dPlayer.playerNameIsValid(attribute.getContext(1))).getAttribute(attribute.fulfill(1)));
    } else // -->
    if (attribute.startsWith("npc_is_valid") && attribute.hasContext(1)) {
        dNPC npc = dNPC.valueOf(attribute.getContext(1));
        event.setReplaced(new Element((npc != null && npc.isValid())).getAttribute(attribute.fulfill(1)));
    } else // -->
    if (attribute.startsWith("current_bossbars")) {
        dList dl = new dList();
        for (String str : BossBarCommand.bossBarMap.keySet()) {
            dl.add(str);
        }
        event.setReplaced(dl.getAttribute(attribute.fulfill(1)));
    } else // -->
    if (attribute.startsWith("recent_tps")) {
        dList list = new dList();
        for (double tps : NMSHandler.getInstance().getRecentTps()) {
            list.add(new Element(tps).identify());
        }
        event.setReplaced(list.getAttribute(attribute.fulfill(1)));
    } else // -->
    if (attribute.startsWith("port")) {
        event.setReplaced(new Element(NMSHandler.getInstance().getPort()).getAttribute(attribute.fulfill(1)));
    }
// TODO: Add everything else from Bukkit.getServer().*
}
Also used : NPC(net.citizensnpcs.api.npc.NPC) net.aufdemrand.denizen.objects.dNPC(net.aufdemrand.denizen.objects.dNPC) Attribute(net.aufdemrand.denizencore.tags.Attribute) SQLException(java.sql.SQLException) WorldScriptContainer(net.aufdemrand.denizencore.scripts.containers.core.WorldScriptContainer) AssignmentScriptContainer(net.aufdemrand.denizen.scripts.containers.core.AssignmentScriptContainer) FlagManager(net.aufdemrand.denizen.flags.FlagManager) net.aufdemrand.denizen.objects.dWorld(net.aufdemrand.denizen.objects.dWorld) net.aufdemrand.denizen.objects.dEntity(net.aufdemrand.denizen.objects.dEntity) UUID(java.util.UUID) Pattern(java.util.regex.Pattern) Player(org.bukkit.entity.Player) net.aufdemrand.denizen.objects.dPlayer(net.aufdemrand.denizen.objects.dPlayer) Connection(java.sql.Connection) net.aufdemrand.denizen.objects.dPlugin(net.aufdemrand.denizen.objects.dPlugin) Notable(net.aufdemrand.denizencore.objects.notable.Notable) SQLException(java.sql.SQLException) AssignmentTrait(net.aufdemrand.denizen.npc.traits.AssignmentTrait) net.aufdemrand.denizen.objects.dNPC(net.aufdemrand.denizen.objects.dNPC) BukkitTagContext(net.aufdemrand.denizen.tags.BukkitTagContext) net.aufdemrand.denizen.objects.dPlayer(net.aufdemrand.denizen.objects.dPlayer) File(java.io.File) Map(java.util.Map) Plugin(org.bukkit.plugin.Plugin) net.aufdemrand.denizen.objects.dPlugin(net.aufdemrand.denizen.objects.dPlugin)

Aggregations

Player (org.bukkit.entity.Player)2896 EventHandler (org.bukkit.event.EventHandler)795 Location (org.bukkit.Location)374 Test (org.junit.Test)318 ItemStack (org.bukkit.inventory.ItemStack)311 Entity (org.bukkit.entity.Entity)264 ArrayList (java.util.ArrayList)224 LivingEntity (org.bukkit.entity.LivingEntity)176 UUID (java.util.UUID)146 Block (org.bukkit.block.Block)146 OfflinePlayer (org.bukkit.OfflinePlayer)123 CoreStateInitException (com.solinia.solinia.Exceptions.CoreStateInitException)117 World (org.bukkit.World)115 MyPetPlayer (de.Keyle.MyPet.api.player.MyPetPlayer)106 CommandSender (org.bukkit.command.CommandSender)100 BukkitRunnable (org.bukkit.scheduler.BukkitRunnable)88 Inventory (org.bukkit.inventory.Inventory)81 List (java.util.List)80 ISoliniaPlayer (com.solinia.solinia.Interfaces.ISoliniaPlayer)79 Region (br.net.fabiozumbi12.RedProtect.Bukkit.Region)68