use of au.com.mineauz.minigames.minigame.reward.Rewards in project Minigames by AddstarMC.
the class SetSecondaryRewardCommand method onCommand.
@Override
public boolean onCommand(CommandSender sender, Minigame minigame, String label, String[] args) {
if (args != null) {
RewardsModule module = RewardsModule.getModule(minigame);
if (!(module.getScheme() instanceof StandardRewardScheme)) {
sender.sendMessage(ChatColor.RED + "This command can only be used on minigames that use the standard reward scheme");
return true;
}
Rewards rewards = ((StandardRewardScheme) module.getScheme()).getSecondaryReward();
int quantity = 1;
double money = -1;
if (args.length >= 2 && args[1].matches("[0-9]+")) {
quantity = Integer.parseInt(args[1]);
}
ItemStack item = null;
if (args[0].startsWith("$")) {
try {
money = Double.parseDouble(args[0].replace("$", ""));
} catch (NumberFormatException e) {
}
} else {
item = MinigameUtils.stringToItemStack(args[0], quantity);
}
if (item != null && item.getType() != Material.AIR) {
RewardRarity rarity = RewardRarity.NORMAL;
if (args.length == 3) {
rarity = RewardRarity.valueOf(args[2].toUpperCase());
}
ItemReward ir = (ItemReward) RewardTypes.getRewardType("ITEM", rewards);
ir.setRewardItem(item);
ir.setRarity(rarity);
rewards.addReward(ir);
sender.sendMessage(ChatColor.GRAY + "Added " + item.getAmount() + " of " + MinigameUtils.getItemStackName(item) + " to secondary rewards of \"" + minigame.getName(false) + "\" " + "with a rarity of " + rarity.toString().toLowerCase().replace("_", " "));
return true;
} else if (sender instanceof Player && args[0].equals("SLOT")) {
item = ((Player) sender).getInventory().getItemInMainHand();
RewardRarity rarity = RewardRarity.NORMAL;
if (args.length == 2) {
rarity = RewardRarity.valueOf(args[1].toUpperCase());
}
ItemReward ir = (ItemReward) RewardTypes.getRewardType("ITEM", rewards);
ir.setRewardItem(item);
ir.setRarity(rarity);
rewards.addReward(ir);
sender.sendMessage(ChatColor.GRAY + "Added " + item.getAmount() + " of " + MinigameUtils.getItemStackName(item) + " to secondary rewards of \"" + minigame.getName(false) + "\" " + "with a rarity of " + rarity.toString().toLowerCase().replace("_", " "));
return true;
} else if (item != null && item.getType() == Material.AIR) {
sender.sendMessage(ChatColor.RED + "Secondary reward for \"" + minigame.getName(false) + "\" cannot be Air!");
return true;
} else if (money != -1 && plugin.hasEconomy()) {
RewardRarity rarity = RewardRarity.NORMAL;
if (args.length == 2) {
rarity = RewardRarity.valueOf(args[1].toUpperCase());
}
MoneyReward mr = (MoneyReward) RewardTypes.getRewardType("MONEY", rewards);
mr.setRewardMoney(money);
mr.setRarity(rarity);
rewards.addReward(mr);
sender.sendMessage(ChatColor.GRAY + "Added $" + money + " to secondary rewards of \"" + minigame.getName(false) + "\" " + "with a rarity of " + rarity.toString().toLowerCase().replace("_", " "));
return true;
} else if (!plugin.hasEconomy()) {
sender.sendMessage(ChatColor.RED + "Vault required to set a money reward! Download from dev.bukkit.org");
return true;
}
}
return false;
}
use of au.com.mineauz.minigames.minigame.reward.Rewards in project Minigames by AddstarMC.
the class HierarchyRewardScheme method save.
private void save(TreeMap<T, Rewards> map, ConfigurationSection section) {
for (Entry<T, Rewards> entry : map.entrySet()) {
ConfigurationSection scoreSection = section.createSection(String.valueOf(entry.getKey()));
entry.getValue().save(scoreSection);
}
}
use of au.com.mineauz.minigames.minigame.reward.Rewards in project Minigames by AddstarMC.
the class MinigameData method addRewardSign.
public void addRewardSign(Location loc) {
RewardsFlag flag = new RewardsFlag(new Rewards(), MinigameUtils.createLocationID(loc));
rewardSigns.put(MinigameUtils.createLocationID(loc), flag);
}
Aggregations