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;
}
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;
}
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;
}
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;
}
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;
}
Aggregations