Search in sources :

Example 71 with MinigamePlayer

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

the class MatchBlockCondition method displayMenu.

@Override
public boolean displayMenu(MinigamePlayer player, Menu prev) {
    Menu m = new Menu(3, "Match Block", player);
    m.addItem(new MenuItemPage("Back", Material.REDSTONE_TORCH_ON, prev), m.getSize() - 9);
    final MenuItemCustom c = new MenuItemCustom("Auto Set Block", MinigameUtils.stringToList("Click here with a;block you wish to;match to."), Material.ITEM_FRAME);
    m.addItem(c, m.getSize() - 1);
    final MinigamePlayer ply = m.getViewer();
    final MenuItemString btype = new MenuItemString("Block Type", Material.STONE, new Callback<String>() {

        @Override
        public void setValue(String value) {
            if (Material.matchMaterial(value.toUpperCase()) != null)
                type.setFlag(value.toUpperCase());
            else
                ply.sendMessage("No block found by that name!", "error");
        }

        @Override
        public String getValue() {
            return type.getFlag();
        }
    });
    m.addItem(btype);
    final MenuItemBoolean busedur = (MenuItemBoolean) useDur.getMenuItem("Use Data Values", Material.ENDER_PEARL);
    m.addItem(busedur);
    final MenuItemInteger bdur = (MenuItemInteger) dur.getMenuItem("Data Value", Material.PAPER, 0, 16);
    m.addItem(bdur);
    c.setClickItem(new InteractionInterface() {

        @Override
        public Object interact(Object object) {
            ItemStack i = (ItemStack) object;
            type.setFlag(i.getType().toString());
            useDur.setFlag(true);
            dur.setFlag(((Short) i.getDurability()).intValue());
            bdur.updateDescription();
            busedur.updateDescription();
            btype.updateDescription();
            return c.getItem();
        }
    });
    addInvertMenuItem(m);
    m.displayMenu(player);
    return true;
}
Also used : MinigamePlayer(au.com.mineauz.minigames.MinigamePlayer) MenuItemInteger(au.com.mineauz.minigames.menu.MenuItemInteger) MenuItemPage(au.com.mineauz.minigames.menu.MenuItemPage) MenuItemString(au.com.mineauz.minigames.menu.MenuItemString) MenuItemCustom(au.com.mineauz.minigames.menu.MenuItemCustom) MenuItemString(au.com.mineauz.minigames.menu.MenuItemString) InteractionInterface(au.com.mineauz.minigames.menu.InteractionInterface) MenuItemBoolean(au.com.mineauz.minigames.menu.MenuItemBoolean) Menu(au.com.mineauz.minigames.menu.Menu) ItemStack(org.bukkit.inventory.ItemStack)

Example 72 with MinigamePlayer

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

the class MenuItemNodeExecutor method onClick.

@Override
public ItemStack onClick() {
    final MinigamePlayer fviewer = getContainer().getViewer();
    Menu m = new Menu(3, "Executor", fviewer);
    final Menu ffm = m;
    MenuItemCustom ca = new MenuItemCustom("Actions", Material.CHEST);
    ca.setClick(new InteractionInterface() {

        @Override
        public Object interact(Object object) {
            Actions.displayMenu(fviewer, ex, ffm);
            return null;
        }
    });
    m.addItem(ca);
    MenuItemCustom c2 = new MenuItemCustom("Conditions", Material.CHEST);
    c2.setClick(new InteractionInterface() {

        @Override
        public Object interact(Object object) {
            Conditions.displayMenu(fviewer, ex, ffm);
            return null;
        }
    });
    m.addItem(c2);
    m.addItem(new MenuItemNewLine());
    m.addItem(new MenuItemInteger("Trigger Count", MinigameUtils.stringToList("Number of times this;node can be;triggered"), Material.STONE, ex.getTriggerCountCallback(), 0, null));
    m.addItem(new MenuItemBoolean("Trigger Per Player", MinigameUtils.stringToList("Whether this node;is triggered per player;or just on count"), Material.ENDER_PEARL, ex.getIsTriggerPerPlayerCallback()));
    m.addItem(new MenuItemPage("Back", Material.REDSTONE_TORCH_ON, getContainer()), m.getSize() - 9);
    m.displayMenu(fviewer);
    return null;
}
Also used : MinigamePlayer(au.com.mineauz.minigames.MinigamePlayer) InteractionInterface(au.com.mineauz.minigames.menu.InteractionInterface) MenuItemInteger(au.com.mineauz.minigames.menu.MenuItemInteger) MenuItemPage(au.com.mineauz.minigames.menu.MenuItemPage) MenuItemNewLine(au.com.mineauz.minigames.menu.MenuItemNewLine) MenuItemBoolean(au.com.mineauz.minigames.menu.MenuItemBoolean) Menu(au.com.mineauz.minigames.menu.Menu) MenuItemCustom(au.com.mineauz.minigames.menu.MenuItemCustom)

Example 73 with MinigamePlayer

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

the class ContainsOneTeamCondition method checkRegionCondition.

@Override
public boolean checkRegionCondition(MinigamePlayer player, Region region) {
    boolean ret = true;
    Team last = player.getTeam();
    if (last == null)
        return true;
    for (MinigamePlayer p : region.getPlayers()) {
        if (last != p.getTeam()) {
            ret = false;
            break;
        }
    }
    return ret;
}
Also used : MinigamePlayer(au.com.mineauz.minigames.MinigamePlayer) Team(au.com.mineauz.minigames.minigame.Team)

Example 74 with MinigamePlayer

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

the class EndCommand method onCommand.

@Override
public boolean onCommand(CommandSender sender, Minigame minigame, String label, String[] args) {
    if (args == null && sender instanceof Player) {
        MinigamePlayer ply = plugin.pdata.getMinigamePlayer((Player) sender);
        if (ply.isInMinigame()) {
            if (ply.getMinigame().getType() != MinigameType.SINGLEPLAYER) {
                List<MinigamePlayer> w = new ArrayList<MinigamePlayer>(1);
                List<MinigamePlayer> l = new ArrayList<MinigamePlayer>(ply.getMinigame().getPlayers().size());
                w.add(ply);
                l.addAll(ply.getMinigame().getPlayers());
                l.remove(ply);
                plugin.pdata.endMinigame(ply.getMinigame(), w, l);
                sender.sendMessage(ChatColor.GRAY + "You forced " + ply.getName() + " to win the Minigame.");
            } else {
                plugin.pdata.endMinigame(ply);
                sender.sendMessage(ChatColor.GRAY + "You forced " + ply.getName() + " to win the Minigame.");
            }
        } else {
            sender.sendMessage(ChatColor.RED + "Error: You are not in a minigame!");
        }
        return true;
    } else if (args != null) {
        Player player = null;
        if (sender instanceof Player) {
            player = (Player) sender;
        }
        if (player == null || player.hasPermission("minigame.end.other")) {
            List<Player> players = plugin.getServer().matchPlayer(args[0]);
            MinigamePlayer ply = null;
            Team team = null;
            Minigame mgm = null;
            if (args.length == 2 && plugin.mdata.hasMinigame(args[1])) {
                TeamColor color = TeamColor.matchColor(args[0]);
                mgm = plugin.mdata.getMinigame(args[1]);
                if (mgm == null) {
                    sender.sendMessage(ChatColor.RED + "No minigme found by the name " + args[1]);
                    return true;
                }
                if (TeamsModule.getMinigameModule(mgm).hasTeam(color)) {
                    team = TeamsModule.getMinigameModule(mgm).getTeam(color);
                } else {
                    sender.sendMessage(ChatColor.RED + "No team found by the name " + args[0] + " in " + mgm.getName(false));
                    return true;
                }
            } else if (args.length == 2 && !plugin.mdata.hasMinigame(args[1])) {
                sender.sendMessage(ChatColor.RED + "No Minigame found by the name " + args[1]);
                return true;
            } else if (!players.isEmpty()) {
                ply = plugin.pdata.getMinigamePlayer(players.get(0));
            } else {
                sender.sendMessage(ChatColor.RED + "No player found by the name " + args[0]);
                return true;
            }
            if (ply != null && ply.isInMinigame()) {
                if (ply.getMinigame().getType() != MinigameType.SINGLEPLAYER) {
                    List<MinigamePlayer> w = new ArrayList<MinigamePlayer>(1);
                    List<MinigamePlayer> l = new ArrayList<MinigamePlayer>(ply.getMinigame().getPlayers().size());
                    w.add(ply);
                    l.addAll(ply.getMinigame().getPlayers());
                    l.remove(ply);
                    plugin.pdata.endMinigame(ply.getMinigame(), w, l);
                    sender.sendMessage(ChatColor.GRAY + "You forced " + ply.getName() + " to win the Minigame.");
                } else {
                    plugin.pdata.endMinigame(ply);
                    sender.sendMessage(ChatColor.GRAY + "You forced " + ply.getName() + " to win the Minigame.");
                }
            } else if (args.length >= 2 && team != null && mgm != null) {
                if (mgm.hasPlayers()) {
                    List<MinigamePlayer> w = new ArrayList<MinigamePlayer>(team.getPlayers());
                    int lcount = 0;
                    for (Team t : TeamsModule.getMinigameModule(mgm).getTeams()) {
                        if (t != team) {
                            lcount += t.getPlayers().size();
                        }
                    }
                    List<MinigamePlayer> l = new ArrayList<MinigamePlayer>(lcount);
                    for (Team t : TeamsModule.getMinigameModule(mgm).getTeams()) {
                        if (t != team) {
                            l.addAll(t.getPlayers());
                        }
                    }
                    plugin.pdata.endMinigame(mgm, w, l);
                    sender.sendMessage(ChatColor.GRAY + "You forced " + team.getChatColor() + team.getDisplayName() + ChatColor.GRAY + " to win the Minigame.");
                } else {
                    sender.sendMessage(ChatColor.RED + "This Minigame has no players!");
                }
            } else {
                sender.sendMessage(ChatColor.RED + "This player is not playing a Minigame.");
            }
        } else if (player != null) {
            sender.sendMessage(ChatColor.RED + "Error: You don't have permission to force end another players Minigame!");
            sender.sendMessage(ChatColor.RED + "minigame.end.other");
        }
        return true;
    }
    return false;
}
Also used : Player(org.bukkit.entity.Player) MinigamePlayer(au.com.mineauz.minigames.MinigamePlayer) MinigamePlayer(au.com.mineauz.minigames.MinigamePlayer) ArrayList(java.util.ArrayList) List(java.util.List) ArrayList(java.util.ArrayList) Team(au.com.mineauz.minigames.minigame.Team) TeamColor(au.com.mineauz.minigames.minigame.TeamColor) Minigame(au.com.mineauz.minigames.minigame.Minigame)

Example 75 with MinigamePlayer

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

the class StopCommand method onCommand.

@Override
public boolean onCommand(CommandSender sender, Minigame minigame, String label, String[] args) {
    if (args != null) {
        Minigame mgm = plugin.mdata.getMinigame(args[0]);
        if (mgm != null && mgm.isEnabled() && mgm.getType() == MinigameType.GLOBAL) {
            MinigamePlayer caller = null;
            if (sender instanceof Player)
                caller = plugin.pdata.getMinigamePlayer((Player) sender);
            plugin.mdata.stopGlobalMinigame(mgm, caller);
        } else if (mgm == null || mgm.getType() != MinigameType.GLOBAL) {
            sender.sendMessage(ChatColor.RED + "There is no Global Minigame by the name \"" + args[0] + "\"");
        } else {
            sender.sendMessage(ChatColor.RED + mgm.getName(false) + " is not running!");
        }
        return true;
    }
    return false;
}
Also used : Player(org.bukkit.entity.Player) MinigamePlayer(au.com.mineauz.minigames.MinigamePlayer) MinigamePlayer(au.com.mineauz.minigames.MinigamePlayer) Minigame(au.com.mineauz.minigames.minigame.Minigame)

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