package net.uomc.mineshaft.resources.commands; import com.mouldycheerio.dbot.CustomBot; import com.mouldycheerio.dbot.commands.CommandDetails; import com.mouldycheerio.dbot.util.PeelingUtils; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import net.uomc.mineshaft.resources.Resource; import net.uomc.mineshaft.resources.ResourceManager; public class SetPrimaryResourceCommand extends ResourceCommand { public SetPrimaryResourceCommand(ResourceManager resourceManager) { super(resourceManager); setCommandDetails(CommandDetails.hidden("setPrimaryItem")); } @Override public void execute(MessageReceivedEvent e, CustomBot op, String[] args) { String ownerid = op.getConfig().getString("ownerid"); if (ownerid.equals(e.getAuthor().getId())) { if (args.length > 0) { Resource resource = getResourceManager().getResource(args[0]); if (resource != null) { PeelingUtils.askQuestion(e, "This will reset all users balance for this item, type `confirm` to continue", r -> { if (r.equals("confirm")) { getResourceManager().setPrimaryResource(resource.getName()); e.getGuild().loadMembers().onSuccess(members -> { members.forEach(m -> getResourceManager().getPrimaryResource().set(m, 0)); }); op.sendMessage(e, "primary item", "Set **" + resource.getName() + "** to the primary item"); } }); } else { op.sendErrorMessage(e, "This item was not found"); } } else { op.sendMessage(e, "primary resource", "This will be the default item that will be used for trading\nUsage: `.setPrimaryResource [item name]`"); } } else { op.sendErrorMessage(e, ":x: this command is not intended for you"); } } }