Package com.garbagemule.MobArena.commands

Source Code of com.garbagemule.MobArena.commands.Commands

package com.garbagemule.MobArena.commands;

import java.util.List;

import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;

import com.garbagemule.MobArena.Messenger;
import com.garbagemule.MobArena.Msg;
import com.garbagemule.MobArena.framework.Arena;
import com.garbagemule.MobArena.framework.ArenaMaster;
import com.garbagemule.MobArena.util.TextUtils;

public class Commands
{
    public static boolean isPlayer(CommandSender sender) {
        return (sender instanceof Player);
    }
   
    public static Arena getArenaToJoinOrSpec(ArenaMaster am, Player p, String arg1) {
        // Check if MobArena is enabled first.
        if (!am.isEnabled()) {
            Messenger.tell(p, Msg.JOIN_NOT_ENABLED);
            return null;
        }

        // Then check if we have permission at all.
        List<Arena> arenas = am.getPermittedArenas(p);
        if (arenas.isEmpty()) {
            Messenger.tell(p, Msg.JOIN_NO_PERMISSION);
            return null;
        }
       
        // Then check if we have any enabled arenas.
        arenas = am.getEnabledArenas(arenas);
        if (arenas.isEmpty()) {
            Messenger.tell(p, Msg.JOIN_NOT_ENABLED);
            return null;
        }
       
        // The arena to join.
        Arena arena = null;
       
        // Branch on whether there's an argument or not.
        if (arg1 != null) {
            arena = am.getArenaWithName(arg1);
            if (arena == null) {
                Messenger.tell(p, Msg.ARENA_DOES_NOT_EXIST);
                return null;
            }
           
            if (!arenas.contains(arena)) {
                Messenger.tell(p, Msg.JOIN_ARENA_NOT_ENABLED);
                return null;
            }
        }
        else {
            if (arenas.size() > 1) {
                Messenger.tell(p, Msg.JOIN_ARG_NEEDED);
                Messenger.tell(p, Msg.MISC_LIST_ARENAS.format(TextUtils.listToString(arenas)));
                return null;
            }
            arena = arenas.get(0);
        }
       
        // If player is in a boat/minecart, eject!
        if (p.isInsideVehicle()) {
            p.leaveVehicle();
        }
       
        // If player is in a bed, unbed!
        if (p.isSleeping()) {
            p.kickPlayer("Banned for life... Nah, just don't join from a bed ;)");
            return null;
        }
       
        return arena;
    }
}
TOP

Related Classes of com.garbagemule.MobArena.commands.Commands

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.