package net.uomc.mineshaft.resources.commands; import java.util.ArrayList; import java.util.Collections; import java.util.List; import com.mouldycheerio.dbot.CustomBot; import com.mouldycheerio.dbot.commands.CommandDetails; import com.mouldycheerio.dbot.commands.CommandFail; 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 ValuesCommand extends ResourceCommand { public ValuesCommand(ResourceManager resourceManager) { super(resourceManager); setCommandDetails(CommandDetails.from("marketValue,values,prices", "Show estimated market values of all the items")); } @Override public void execute(MessageReceivedEvent e, CustomBot b, String[] args) throws CommandFail { List resources = new ArrayList(getResourceManager().getResources()); Collections.sort(resources, (r1, r2) -> Long.compare(r2.getValue(),r1.getValue())); StringBuilder stringBuilder = new StringBuilder(); resources.forEach((r) -> { long v = r.getValue(); stringBuilder.append("**1** " + r.getName() + r.getSymbol() + " : "); if (v < 0) { stringBuilder.append("**???**"); } else { stringBuilder.append("**" +PeelingUtils.amountToString(v) + "**"); } stringBuilder.append("\n"); }); b.sendMessage(e, "Estimated Market Values", stringBuilder.toString()); } }