package com.walrusone.skywars.commands;
import org.bukkit.ChatColor;
import com.walrusone.skywars.SkyWarsReloaded;
import com.walrusone.skywars.game.GamePlayer;
import com.walrusone.skywars.game.Game.GameState;
import com.walrusone.skywars.menus.ShopMenu;
import com.walrusone.skywars.menus.SpecShopMenu;
import com.walrusone.skywars.utilities.Messaging;
public class ShopCmd extends BaseCmd {
public ShopCmd() {
forcePlayer = true;
cmdName = "shop";
argLength = 1; //counting cmdName
usage = "";
desc = ":: Opens a in-game shop.";
}
@Override
public boolean run() {
boolean enabled = (SkyWarsReloaded.getCfg().shopsEnabled() || SkyWarsReloaded.getCfg().spectateShopEnabled());
if (enabled) {
GamePlayer gPlayer = SkyWarsReloaded.getPC().getPlayer(player.getUniqueId());
if (gPlayer.inGame()) {
if (player.hasPermission("swr.shop") && SkyWarsReloaded.getCfg().shopsEnabled()) {
if (gPlayer.getGame().getState() == GameState.PREGAME || gPlayer.getGame().getState() == GameState.PLAYING) {
new ShopMenu(gPlayer);
}
return true;
} else {
sender.sendMessage(new Messaging.MessageFormatter().format("error.cmd-no-perm"));
return true;
}
} else if (gPlayer.isSpectating() && SkyWarsReloaded.getCfg().spectateShopEnabled()) {
if (player.hasPermission("swr.spectateshop")) {
if (gPlayer.getSpecGame().getState() == GameState.PREGAME || gPlayer.getSpecGame().getState() == GameState.PLAYING) {
new SpecShopMenu(gPlayer);
}
return true;
} else {
sender.sendMessage(new Messaging.MessageFormatter().format("error.cmd-no-perm"));
return true;
}
} else {
sender.sendMessage(new Messaging.MessageFormatter().format("error.shop-not-available"));
return true;
}
} else {
sender.sendMessage(ChatColor.RED + "Shops are disabled!");
return true;
}
}
}