Examples of Arena


Examples of com.garbagemule.MobArena.framework.Arena

     * Get the MobArena class of a given player.
     * @param player The player
     * @return The class name of the player if the player is in the arena, null otherwise
     */
    public String getPlayerClass(Player player) {
        Arena arena = plugin.getArenaMaster().getArenaWithPlayer(player);
        if (arena == null) return null;

        return getPlayerClass(arena, player);
    }
View Full Code Here

Examples of com.garbagemule.MobArena.framework.Arena

        // Grab the Configuration and ArenaMaster
        ArenaMaster am = plugin.getArenaMaster();
               
        // Create the arena node in the config-file.
        World world = loc.getWorld();
        Arena arena = am.createArenaNode(name, world);
       
        // Get the hippie bounds.
        int x1 = (int)loc.getX() - radius;
        int x2 = (int)loc.getX() + radius;
        int y1 = (int)loc.getY() - 9;
        int y2 = (int)loc.getY() - 1;
        int z1 = (int)loc.getZ() - radius;
        int z2 = (int)loc.getZ() + radius;
       
        int lx1 = x1;
        int lx2 = x1 + am.getClasses().size() + 3;
        int ly1 = y1-6;
        int ly2 = y1-2;
        int lz1 = z1;
        int lz2 = z1 + 6;
       
        // Save the precious patch
        HashMap<EntityPosition,Integer> preciousPatch = new HashMap<EntityPosition,Integer>();
        Location lo;
        int id;
        for (int i = x1; i <= x2; i++)
        {
            for (int j = ly1; j <= y2; j++)
            {
                for (int k = z1; k <= z2; k++)
                {
                    lo = world.getBlockAt(i,j,k).getLocation();
                    id = world.getBlockAt(i,j,k).getTypeId();
                    preciousPatch.put(new EntityPosition(lo),id);
                }
            }
        }
        try
        {
            new File("plugins" + sep + "MobArena" + sep + "agbackup").mkdir();
            FileOutputStream fos = new FileOutputStream("plugins" + sep + "MobArena" + sep + "agbackup" + sep + name + ".tmp");
            ObjectOutputStream oos = new ObjectOutputStream(fos);
            oos.writeObject(preciousPatch);
            oos.close();
        }
        catch (Exception e)
        {
            e.printStackTrace();
            Messenger.warning("Couldn't create backup file. Aborting auto-generate...");
            return false;
        }
       
        // Build some monster walls.
        for (int i = x1; i <= x2; i++)
        {
            for (int j = y1; j <= y2; j++)
            {
                world.getBlockAt(i,j,z1).setTypeId(24);
                world.getBlockAt(i,j,z2).setTypeId(24);
            }
        }
        for (int k = z1; k <= z2; k++)
        {
            for (int j = y1; j <= y2; j++)
            {
                world.getBlockAt(x1,j,k).setTypeId(24);
                world.getBlockAt(x2,j,k).setTypeId(24);
            }
        }
       
        // Add some hippie light.
        for (int i = x1; i <= x2; i++)
        {
            world.getBlockAt(i,y1+2,z1).setTypeId(89);
            world.getBlockAt(i,y1+2,z2).setTypeId(89);
        }
        for (int k = z1; k <= z2; k++)
        {
            world.getBlockAt(x1,y1+2,k).setTypeId(89);
            world.getBlockAt(x2,y1+2,k).setTypeId(89);
        }
       
        // Build a monster floor, and some Obsidian foundation.
        for (int i = x1; i <= x2; i++)
        {
            for (int k = z1; k <= z2; k++)
            {
                world.getBlockAt(i,y1,k).setTypeId(24);
                world.getBlockAt(i,y1-1,k).setTypeId(49);
            }
        }
       
        // Make a hippie roof.
        for (int i = x1; i <= x2; i++)
        {
            for (int k = z1; k <= z2; k++)
                world.getBlockAt(i,y2,k).setTypeId(20);
        }
       
        // Monster bulldoze
        for (int i = x1+1; i < x2; i++)
            for (int j = y1+1; j < y2; j++)
                for (int k = z1+1; k < z2; k++)
                    world.getBlockAt(i,j,k).setTypeId(0);
       
        // Build a hippie lobby
        for (int i = lx1; i <= lx2; i++) // Walls
        {
            for (int j = ly1; j <= ly2; j++)
            {
                world.getBlockAt(i,j,lz1).setTypeId(24);
                world.getBlockAt(i,j,lz2).setTypeId(24);
            }
        }
        for (int k = lz1; k <= lz2; k++) // Walls
        {
            for (int j = ly1; j <= ly2; j++)
            {
                world.getBlockAt(lx1,j,k).setTypeId(24);
                world.getBlockAt(lx2,j,k).setTypeId(24);
            }
        }
        for (int k = lz1; k <= lz2; k++) // Lights
        {
            world.getBlockAt(lx1,ly1+2,k).setTypeId(89);
            world.getBlockAt(lx2,ly1+2,k).setTypeId(89);
            world.getBlockAt(lx1,ly1+3,k).setTypeId(89);
            world.getBlockAt(lx2,ly1+3,k).setTypeId(89);
        }
        for (int i = lx1; i <= lx2; i++) // Floor
        {
            for (int k = lz1; k <= lz2; k++)
                world.getBlockAt(i,ly1,k).setTypeId(24);
        }
        for (int i = x1+1; i < lx2; i++) // Bulldoze
            for (int j = ly1+1; j <= ly2; j++)
                for (int k = lz1+1; k < lz2; k++)
                    world.getBlockAt(i,j,k).setTypeId(0);
       
        // Place the hippie signs
        //Iterator<String> iterator = am.getClasses().iterator();
        Iterator<String> iterator = am.getClasses().keySet().iterator();
        for (int i = lx1+2; i <= lx2-2; i++) // Signs
        {
            world.getBlockAt(i,ly1+1,lz2-1).setTypeIdAndData(63, (byte)0x8, false);
            Sign sign = (Sign) world.getBlockAt(i,ly1+1,lz2-1).getState();
            sign.setLine(0, TextUtils.camelCase((String)iterator.next()));
            sign.update();
        }
        world.getBlockAt(lx2-2,ly1+1,lz1+2).setType(Material.IRON_BLOCK);
       
        // Set up the monster points.
        ArenaRegion region = arena.getRegion();
        region.set("p1", new Location(world, x1, ly1, z1));
        region.set("p2", new Location(world, x2, y2+1, z2));
       
        region.set("arena", new Location(world, loc.getX(), y1+1, loc.getZ()));
        region.set("lobby", new Location(world, x1+2, ly1+1, z1+2));
View Full Code Here

Examples of com.garbagemule.MobArena.framework.Arena

        if (am.getArenas().size() == 1) {
            Messenger.tell(sender, "At least one arena must exist.");
            return true;
        }
       
        Arena arena = am.getArenaWithName(args[0]);
        if (arena == null) {
            Messenger.tell(sender, "There is no arena with that name.");
            return true;
        }
        am.removeArenaNode(arena);
        Messenger.tell(sender, "Arena '" + arena.configName() + "' deleted.");
        return true;
    }
View Full Code Here

Examples of com.garbagemule.MobArena.framework.Arena

                am.resetArenaMap();
                return true;
            }
           
            // Otherwise, grab the arena in question.
            Arena arena = am.getArenaWithName(arg2);
            if (arena == null) {
                Messenger.tell(sender, Msg.ARENA_DOES_NOT_EXIST);
                return true;
            }
           
            if (arena.getAllPlayers().isEmpty()) {
                Messenger.tell(sender, Msg.FORCE_END_EMPTY);
                return true;
            }
           
            // And end it!
            arena.forceEnd();
            Messenger.tell(sender, Msg.FORCE_END_ENDED);
            return true;
        }
       
        if (arg1.equals("start")) {
            // Require argument.
            if (arg2.equals("")) return false;
           
            // Grab the arena.
            Arena arena = am.getArenaWithName(arg2);
            if (arena == null) {
                Messenger.tell(sender, Msg.ARENA_DOES_NOT_EXIST);
                return true;
            }
           
            if (arena.isRunning()) {
                Messenger.tell(sender, Msg.FORCE_START_RUNNING);
                return true;
            }
           
            if (arena.getReadyPlayersInLobby().isEmpty()) {
                Messenger.tell(sender, Msg.FORCE_START_NOT_READY);
                return true;
            }
           
            // And start it!
            arena.forceStart();
            Messenger.tell(sender, Msg.FORCE_START_STARTED);
            return true;
        }
        return false;
    }
View Full Code Here

Examples of com.garbagemule.MobArena.framework.Arena

    @Override
    public boolean execute(ArenaMaster am, CommandSender sender, String... args) {
        // Require a player name
        if (args.length != 1) return false;
       
        Arena arena = am.getArenaWithPlayer(args[0]);
        if (arena == null) {
            Messenger.tell(sender, "That player is not in an arena.");
            return true;
        }
       
        // Grab the Player object.
        Player bp = am.getPlugin().getServer().getPlayer(args[0]);
       
        // Force leave.
        arena.playerLeave(bp);
        Messenger.tell(sender, "Player '" + args[0] + "' was kicked from arena '" + arena.configName() + "'.");
        Messenger.tell(bp, "You were kicked by " + sender.getName() + ".");
        return true;
    }
View Full Code Here

Examples of com.garbagemule.MobArena.framework.Arena

            }
            return true;
        }
       
        if (!arg1.equals("")) {
            Arena arena = am.getArenaWithName(arg1);
            if (arena == null) {
                Messenger.tell(sender, Msg.ARENA_DOES_NOT_EXIST);
                return true;
            }
            enable(arena, sender);
View Full Code Here

Examples of com.garbagemule.MobArena.framework.Arena

            }
            return true;
        }
       
        if (!arg1.equals("")) {
            Arena arena = am.getArenaWithName(arg1);
            if (arena == null) {
                Messenger.tell(sender, Msg.ARENA_DOES_NOT_EXIST);
                return true;
            }
            disable(arena, sender);
View Full Code Here

Examples of com.garbagemule.MobArena.framework.Arena

       
        // Cast the sender
        Player p = (Player) sender;

        // Make sure the player is in an arena
        Arena arena = am.getArenaWithPlayer(p);
        if (arena == null) return true;

        // Make sure the player is in the lobby
        if (!arena.inLobby(p)) {
            Messenger.tell(p, Msg.MISC_NO_ACCESS);
            return true;
        }

        // Grab the ArenaClass, if it exists
        String lowercase = args[0].toLowerCase();
        ArenaClass ac = am.getClasses().get(lowercase);
        if (ac == null) {
            Messenger.tell(p, Msg.LOBBY_NO_SUCH_CLASS, lowercase);
            return true;
        }

        // Check for permission.
        if (!am.getPlugin().has(p, "mobarena.classes." + lowercase) && !lowercase.equals("random")) {
            Messenger.tell(p, Msg.LOBBY_CLASS_PERMISSION);
            return true;
        }

        // Grab the old ArenaClass, if any, same => ignore
        ArenaClass oldAC = arena.getArenaPlayer(p).getArenaClass();
        if (ac.equals(oldAC)) return true;

        // If the new class is full, inform the player.
        ClassLimitManager clm = arena.getClassLimitManager();
        if (!clm.canPlayerJoinClass(ac)) {
            Messenger.tell(p, Msg.LOBBY_CLASS_FULL);
            return true;
        }

        // Check price, balance, and inform
        double price = ac.getPrice();
        if (price > 0D) {
            if (!am.getPlugin().hasEnough(p, price)) {
                Messenger.tell(p, Msg.LOBBY_CLASS_TOO_EXPENSIVE, am.getPlugin().economyFormat(price));
                return true;
            }
        }

        // Otherwise, leave the old class, and pick the new!
        clm.playerLeftClass(oldAC, p);
        clm.playerPickedClass(ac, p);

        if (!lowercase.equalsIgnoreCase("random")) {
            if (arena.getSettings().getBoolean("use-class-chests", false)) {
                Location loc = ac.getClassChest();
                if (loc != null) {
                    Block blockChest = loc.getBlock();
                    InventoryHolder holder = (InventoryHolder) blockChest.getState();
                    ItemStack[] contents = holder.getInventory().getContents();
                    // Guard against double-chests for now
                    if (contents.length > 36) {
                        ItemStack[] newContents = new ItemStack[36];
                        System.arraycopy(contents, 0, newContents, 0, 36);
                        contents = newContents;
                    }
                    arena.assignClassGiveInv(p, lowercase, contents);
                    p.getInventory().setContents(contents);
                    Messenger.tell(p, Msg.LOBBY_CLASS_PICKED, TextUtils.camelCase(lowercase));
                    if (price > 0D) {
                        Messenger.tell(p, Msg.LOBBY_CLASS_PRICE, am.getPlugin().economyFormat(price));
                    }
                    return true;
                }
                // No linked chest? Fall through to config-file
            }
            arena.assignClass(p, lowercase);
            Messenger.tell(p, Msg.LOBBY_CLASS_PICKED, TextUtils.camelCase(lowercase));
            if (price > 0D) {
                Messenger.tell(p, Msg.LOBBY_CLASS_PRICE, am.getPlugin().economyFormat(price));
            }
        } else {
            arena.addRandomPlayer(p);
            Messenger.tell(p, Msg.LOBBY_CLASS_RANDOM);
        }
        return true;
    }
View Full Code Here

Examples of com.garbagemule.MobArena.framework.Arena

        // Grab the argument, if any.
        String arg1 = (args.length > 0 ? args[0] : "");
       
        String list = null;
        if (!arg1.equals("")) {
            Arena arena = am.getArenaWithName(arg1);
           
            if (arena == null) {
                Messenger.tell(sender, Msg.ARENA_DOES_NOT_EXIST);
                return false;
            }
           
            list = MAUtils.listToString(arena.getPlayersInArena(), am.getPlugin());
        } else {
            StringBuilder buffy = new StringBuilder();
            List<Player> players = new LinkedList<Player>();
           
            for (Arena arena : am.getArenas()) {
                players.addAll(arena.getPlayersInArena());
            }
           
            buffy.append(MAUtils.listToString(players, am.getPlugin()));
            list = buffy.toString();
        }
View Full Code Here

Examples of com.garbagemule.MobArena.framework.Arena

        }
       
        // Cast the sender.
        Player p = (Player) sender;

        Arena arena = am.getArenaWithPlayer(p)
        if (arena == null) {
            arena = am.getArenaWithSpectator(p);
            if (arena == null) {
                Messenger.tell(p, Msg.LEAVE_NOT_PLAYING);
                return true;
            }
        }
       
        if (arena.playerLeave(p)) {
            Messenger.tell(p, Msg.LEAVE_PLAYER_LEFT);
        }
        return true;
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.