Search in sources :

Example 1 with MoneyReward

use of au.com.mineauz.minigames.minigame.reward.MoneyReward in project Minigames by AddstarMC.

the class SetRewardCommand 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()).getPrimaryReward();
        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 primary 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 primary 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 + "Primary rewards 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 primary 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;
}
Also used : Player(org.bukkit.entity.Player) Rewards(au.com.mineauz.minigames.minigame.reward.Rewards) ItemReward(au.com.mineauz.minigames.minigame.reward.ItemReward) MoneyReward(au.com.mineauz.minigames.minigame.reward.MoneyReward) RewardRarity(au.com.mineauz.minigames.minigame.reward.RewardRarity) ItemStack(org.bukkit.inventory.ItemStack) RewardsModule(au.com.mineauz.minigames.minigame.reward.RewardsModule) StandardRewardScheme(au.com.mineauz.minigames.minigame.reward.scheme.StandardRewardScheme)

Example 2 with MoneyReward

use of au.com.mineauz.minigames.minigame.reward.MoneyReward 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;
}
Also used : Player(org.bukkit.entity.Player) Rewards(au.com.mineauz.minigames.minigame.reward.Rewards) ItemReward(au.com.mineauz.minigames.minigame.reward.ItemReward) MoneyReward(au.com.mineauz.minigames.minigame.reward.MoneyReward) RewardRarity(au.com.mineauz.minigames.minigame.reward.RewardRarity) ItemStack(org.bukkit.inventory.ItemStack) RewardsModule(au.com.mineauz.minigames.minigame.reward.RewardsModule) StandardRewardScheme(au.com.mineauz.minigames.minigame.reward.scheme.StandardRewardScheme)

Aggregations

ItemReward (au.com.mineauz.minigames.minigame.reward.ItemReward)2 MoneyReward (au.com.mineauz.minigames.minigame.reward.MoneyReward)2 RewardRarity (au.com.mineauz.minigames.minigame.reward.RewardRarity)2 Rewards (au.com.mineauz.minigames.minigame.reward.Rewards)2 RewardsModule (au.com.mineauz.minigames.minigame.reward.RewardsModule)2 StandardRewardScheme (au.com.mineauz.minigames.minigame.reward.scheme.StandardRewardScheme)2 Player (org.bukkit.entity.Player)2 ItemStack (org.bukkit.inventory.ItemStack)2