summaryrefslogtreecommitdiff
path: root/src/main/java/net/uomc/mineshaft/resources/commands/ValuesCommand.java
blob: c094d83794ffbbb8e1ab2e869c6bdae84aef231f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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 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 {
        long total = getResourceManager().getPrimaryResource().total();

        List<Resource> resources = new ArrayList<Resource>(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("**" + getResourceManager().getPrimaryResource().prettyValue(v) + "**");
            }
            stringBuilder.append("\n");
        });

        b.sendMessage(e, "Estimated Market Values", stringBuilder.toString());
    }
    

}