Search in sources :

Example 41 with MinigamePlayer

use of au.com.mineauz.minigames.MinigamePlayer in project Minigames by AddstarMC.

the class QuitCommand method onCommand.

@Override
public boolean onCommand(CommandSender sender, Minigame minigame, String label, String[] args) {
    if (args == null && sender instanceof Player) {
        MinigamePlayer player = plugin.pdata.getMinigamePlayer((Player) sender);
        if (player.isInMinigame()) {
            plugin.pdata.quitMinigame(player, false);
        } else {
            sender.sendMessage(ChatColor.RED + MinigameUtils.getLang("command.quit.notPlaying"));
        }
        return true;
    } else if (args != null) {
        Player player = null;
        if (sender instanceof Player) {
            player = (Player) sender;
        }
        if (player == null || player.hasPermission("minigame.quit.other")) {
            List<Player> players = plugin.getServer().matchPlayer(args[0]);
            MinigamePlayer ply = null;
            if (args[0].equals("ALL")) {
                if (args.length > 1) {
                    if (plugin.mdata.hasMinigame(args[1])) {
                        Minigame mg = plugin.mdata.getMinigame(args[1]);
                        List<MinigamePlayer> pls = new ArrayList<MinigamePlayer>(mg.getPlayers());
                        for (MinigamePlayer pl : pls) {
                            plugin.pdata.quitMinigame(pl, true);
                        }
                        sender.sendMessage(ChatColor.GRAY + MinigameUtils.formStr("command.quit.quitAllMinigame", mg.getName(true)));
                    } else {
                        sender.sendMessage(ChatColor.RED + MinigameUtils.formStr("minigame.error.noMinigameName", args[1]));
                    }
                } else {
                    for (MinigamePlayer pl : plugin.getPlayerData().getAllMinigamePlayers()) {
                        if (pl.isInMinigame()) {
                            plugin.pdata.quitMinigame(pl, true);
                        }
                    }
                    sender.sendMessage(ChatColor.GRAY + MinigameUtils.getLang("command.quit.quitAll"));
                }
                return true;
            } else if (players.isEmpty()) {
                sender.sendMessage(ChatColor.RED + MinigameUtils.formStr("command.quit.invalidPlayer", args[0]));
                return true;
            } else {
                ply = plugin.pdata.getMinigamePlayer(players.get(0));
            }
            if (ply != null && ply.isInMinigame()) {
                plugin.pdata.quitMinigame(ply, false);
                sender.sendMessage(ChatColor.GRAY + MinigameUtils.formStr("command.quit.quitOther", ply.getName()));
            } else {
                sender.sendMessage(ChatColor.RED + MinigameUtils.formStr("command.quit.invalidPlayer", args[0]));
            }
        } else if (player != null) {
            sender.sendMessage(ChatColor.RED + MinigameUtils.getLang("command.quit.noPermissionOther"));
            sender.sendMessage(ChatColor.RED + "minigame.quit.other");
        }
        return true;
    }
    return false;
}
Also used : Player(org.bukkit.entity.Player) MinigamePlayer(au.com.mineauz.minigames.MinigamePlayer) MinigamePlayer(au.com.mineauz.minigames.MinigamePlayer) List(java.util.List) ArrayList(java.util.ArrayList) Minigame(au.com.mineauz.minigames.minigame.Minigame)

Example 42 with MinigamePlayer

use of au.com.mineauz.minigames.MinigamePlayer in project Minigames by AddstarMC.

the class HintCommand method onCommand.

@Override
public boolean onCommand(CommandSender sender, Minigame minigame, String label, String[] args) {
    MinigamePlayer player = plugin.pdata.getMinigamePlayer((Player) sender);
    if (args != null) {
        Minigame mgm = plugin.mdata.getMinigame(args[0]);
        if (mgm != null && mgm.getMinigameTimer() != null && mgm.getType() == MinigameType.GLOBAL && mgm.getMechanicName().equals("treasure_hunt")) {
            TreasureHuntModule thm = TreasureHuntModule.getMinigameModule(mgm);
            if (thm.hasTreasureLocation() && !thm.isTreasureFound()) {
                thm.getHints(player);
            } else {
                player.sendMessage(ChatColor.GRAY + mgm.getName(false) + " is currently not running.");
            }
        } else if (mgm == null || mgm.getType() != MinigameType.GLOBAL) {
            player.sendMessage(ChatColor.RED + "There is no treasure hunt running by the name \"" + args[0] + "\"");
        }
    } else {
        List<Minigame> mgs = new ArrayList<Minigame>();
        for (Minigame mg : plugin.mdata.getAllMinigames().values()) {
            if (mg.getType() == MinigameType.GLOBAL && mg.getMechanicName().equals("treasure_hunt")) {
                mgs.add(mg);
            }
        }
        if (!mgs.isEmpty()) {
            if (mgs.size() > 1) {
                player.sendMessage(ChatColor.LIGHT_PURPLE + "Currently running Treasure Hunts:");
                String treasures = "";
                for (int i = 0; i < mgs.size(); i++) {
                    treasures += mgs.get(i).getName(false);
                    if (i != mgs.size() - 1) {
                        treasures += ", ";
                    }
                }
                player.sendMessage(ChatColor.GRAY + treasures);
            } else {
                TreasureHuntModule thm = TreasureHuntModule.getMinigameModule(mgs.get(0));
                if (thm.hasTreasureLocation() && !thm.isTreasureFound()) {
                    thm.getHints(player);
                } else {
                    player.sendMessage(ChatColor.GRAY + mgs.get(0).getName(false) + " is currently not running.");
                }
            }
        } else if (mgs.isEmpty()) {
            player.sendMessage(ChatColor.LIGHT_PURPLE + "There are no Treasure Hunt minigames currently running.");
        }
    }
    return true;
}
Also used : TreasureHuntModule(au.com.mineauz.minigames.minigame.modules.TreasureHuntModule) MinigamePlayer(au.com.mineauz.minigames.MinigamePlayer) ArrayList(java.util.ArrayList) Minigame(au.com.mineauz.minigames.minigame.Minigame)

Example 43 with MinigamePlayer

use of au.com.mineauz.minigames.MinigamePlayer in project Minigames by AddstarMC.

the class LoadoutCommand method onCommand.

public boolean onCommand(CommandSender sender, Minigame minigame, String label, String[] args) {
    MinigamePlayer ply = Minigames.plugin.pdata.getMinigamePlayer((Player) sender);
    if (ply.isInMinigame()) {
        if (args == null) {
            LoadoutModule.getMinigameModule(ply.getMinigame()).displaySelectionMenu(ply, false);
        } else {
            String ln = args[0];
            if (LoadoutModule.getMinigameModule(ply.getMinigame()).hasLoadout(ln)) {
                ply.setLoadout(LoadoutModule.getMinigameModule(ply.getMinigame()).getLoadout(ln));
                ply.sendMessage(MinigameUtils.formStr("player.loadout.nextSpawnName", ln), null);
            } else {
                ply.sendMessage(MinigameUtils.formStr("player.loadout.noLoadout", ln), "error");
            }
        }
    } else {
        ply.sendMessage(MinigameUtils.getLang("command.loadout.noMinigame"), "error");
    }
    return true;
}
Also used : MinigamePlayer(au.com.mineauz.minigames.MinigamePlayer)

Example 44 with MinigamePlayer

use of au.com.mineauz.minigames.MinigamePlayer in project Minigames by AddstarMC.

the class GlobalLoadoutCommand method onCommand.

@Override
public boolean onCommand(CommandSender sender, Minigame minigame, String label, String[] args) {
    MinigamePlayer player = Minigames.plugin.pdata.getMinigamePlayer((Player) sender);
    Menu loadouts = new Menu(6, getName(), player);
    List<String> des = new ArrayList<String>();
    des.add("Shift + Right Click to Delete");
    List<MenuItem> mi = new ArrayList<MenuItem>();
    for (String ld : mdata.getLoadouts()) {
        Material item = Material.THIN_GLASS;
        if (mdata.getLoadout(ld).getItems().size() != 0) {
            item = mdata.getLoadout(ld).getItem((Integer) mdata.getLoadout(ld).getItems().toArray()[0]).getType();
        }
        mi.add(new MenuItemDisplayLoadout(ld, des, item, mdata.getLoadout(ld)));
    }
    loadouts.addItem(new MenuItemLoadoutAdd("Add Loadout", Material.ITEM_FRAME, mdata.getLoadoutMap()), 53);
    loadouts.addItems(mi);
    loadouts.displayMenu(player);
    return true;
}
Also used : MenuItemDisplayLoadout(au.com.mineauz.minigames.menu.MenuItemDisplayLoadout) MenuItemLoadoutAdd(au.com.mineauz.minigames.menu.MenuItemLoadoutAdd) MinigamePlayer(au.com.mineauz.minigames.MinigamePlayer) ArrayList(java.util.ArrayList) MenuItem(au.com.mineauz.minigames.menu.MenuItem) Material(org.bukkit.Material) Menu(au.com.mineauz.minigames.menu.Menu)

Example 45 with MinigamePlayer

use of au.com.mineauz.minigames.MinigamePlayer in project Minigames by AddstarMC.

the class BasicRecorder method bucketFill.

@EventHandler(ignoreCancelled = true)
private void bucketFill(PlayerBucketFillEvent event) {
    MinigamePlayer ply = pdata.getMinigamePlayer(event.getPlayer());
    if (ply == null)
        return;
    if (ply.isInMinigame()) {
        Minigame mgm = ply.getMinigame();
        RecorderData d = mgm.getBlockRecorder();
        if (((d.getWhitelistMode() && d.getWBBlocks().contains(event.getBlockClicked().getType())) || (!d.getWhitelistMode() && !d.getWBBlocks().contains(event.getBlockClicked().getType()))) && mgm.canBlockBreak()) {
            d.addBlock(event.getBlockClicked(), pdata.getMinigamePlayer(event.getPlayer()));
        } else {
            event.setCancelled(true);
        }
    }
}
Also used : MinigamePlayer(au.com.mineauz.minigames.MinigamePlayer) Minigame(au.com.mineauz.minigames.minigame.Minigame) EventHandler(org.bukkit.event.EventHandler)

Aggregations

MinigamePlayer (au.com.mineauz.minigames.MinigamePlayer)96 Minigame (au.com.mineauz.minigames.minigame.Minigame)32 EventHandler (org.bukkit.event.EventHandler)30 Team (au.com.mineauz.minigames.minigame.Team)22 ArrayList (java.util.ArrayList)22 Menu (au.com.mineauz.minigames.menu.Menu)11 Player (org.bukkit.entity.Player)11 Location (org.bukkit.Location)9 MenuItemPage (au.com.mineauz.minigames.menu.MenuItemPage)7 InteractionInterface (au.com.mineauz.minigames.menu.InteractionInterface)6 MenuItemCustom (au.com.mineauz.minigames.menu.MenuItemCustom)6 MenuItemString (au.com.mineauz.minigames.menu.MenuItemString)6 List (java.util.List)6 Callback (au.com.mineauz.minigames.menu.Callback)5 MenuItemNewLine (au.com.mineauz.minigames.menu.MenuItemNewLine)5 TeamColor (au.com.mineauz.minigames.minigame.TeamColor)5 MinigameTool (au.com.mineauz.minigames.tool.MinigameTool)4 MenuItemBoolean (au.com.mineauz.minigames.menu.MenuItemBoolean)3 MenuItemInteger (au.com.mineauz.minigames.menu.MenuItemInteger)3 CTFFlag (au.com.mineauz.minigames.CTFFlag)2