package MysticDiscord.ComandosDiscord;
import java.util.List;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import com.gmail.nossr50.api.ExperienceAPI;
import com.gmail.nossr50.datatypes.skills.SkillType;
import com.massivecraft.factions.entity.MPlayer;
import MysticDiscord.Main;
import MysticDiscord.Eventos.DataBase2;
import net.dv8tion.jda.core.EmbedBuilder;
import net.dv8tion.jda.core.events.message.guild.GuildMessageReceivedEvent;
import net.dv8tion.jda.core.hooks.ListenerAdapter;
public class Status extends ListenerAdapter {
public static String FormatNumber(Double num) {
if (num >= 1000)
return FormatNumber(num / 1000).replace(".0", "") + "K";
if (num >= 1000000) {
return FormatNumber(num / 1000000).replace(".0", "") + "KK";
}
if (num >= 1000000000) {
return FormatNumber(num / 1000000000).replace(".0", "") + "B";
}
return String.valueOf(num);
}
@EventHandler
public void OnGuildMessageReceived(GuildMessageReceivedEvent e) {
String[] message = e.getMessage().getContentRaw().split(" ");
if (message[0].equalsIgnoreCase("!Status") && message.length == 0) {
Player p = Main.m.getServer().getPlayer(DataBase2.fc.getString(e.getAuthor().getId() + ".Nick"));
MPlayer p2 = MPlayer.get(p);
Bukkit.broadcastMessage(p.getName());
List<String> messages = Main.m.getConfig().getStringList("Mensagens.Privado.Mensagem");
int machado = ExperienceAPI.getPlayerRankSkill(p.getName(), SkillType.AXES.toString());
int espada = ExperienceAPI.getPlayerRankSkill(p.getName(), SkillType.SWORDS.toString());
int escavacao = ExperienceAPI.getPlayerRankSkill(p.getName(), SkillType.EXCAVATION.toString());
int arqueiro = ExperienceAPI.getPlayerRankSkill(p.getName(), SkillType.ARCHERY.toString());
int reparacao = ExperienceAPI.getPlayerRankSkill(p.getName(), SkillType.REPAIR.toString());
int alquimia = ExperienceAPI.getPlayerRankSkill(p.getName(), SkillType.ALCHEMY.toString());
int herbalismo = ExperienceAPI.getPlayerRankSkill(p.getName(), SkillType.HERBALISM.toString());
int acrobacia = ExperienceAPI.getPlayerRankSkill(p.getName(), SkillType.ACROBATICS.toString());
int todos = machado + espada + escavacao + arqueiro + reparacao + alquimia + herbalismo + acrobacia;
String message2 = "";
for (String m : messages) {
message2 += m.replace("%Kills", String.valueOf(p2.getKills()))
.replace("%Deaths", String.valueOf(p2.getDeaths()))
.replace("%KDR", String.valueOf(p2.getKdrRounded()))
.replace("%Poder", String.valueOf(p2.getPower() + "/" + p2.getPowerMax()))
.replace("%Money", FormatNumber(Main.getEconomy().getBalance(p)))
.replace("%Nivel", String.valueOf(todos)).replace("%Machado", String.valueOf(machado))
.replace("%Espadas", String.valueOf(espada)).replace("%Escavação", String.valueOf(escavacao))
.replace("%Arqueiro", String.valueOf(arqueiro)).replace("%Reparação", String.valueOf(reparacao))
.replace("%Alquimia", String.valueOf(alquimia))
.replace("%Herbalismo", String.valueOf(herbalismo))
.replace("%Acrobacia", String.valueOf(acrobacia));
message2 += "\n";
}
EmbedBuilder embed = new EmbedBuilder();
embed.setColor(java.awt.Color.green);
embed.setTitle(Main.m.getConfig().getString("Mensagens.Status.Titulo"));
embed.setDescription(message2);
if (Main.m.getConfig().getBoolean("Mensagens.Status.Imagem") == true) {
embed.setThumbnail(Main.m.getConfig().getString("Mensagens.Status.ImagemLink"));
}
embed.setFooter(Main.m.getConfig().getString("Mensagens.Status.Footer"),
Main.m.getConfig().getString("Mensagens.Status.ImagemFooter"));
e.getAuthor().openPrivateChannel().queue((channel) -> {
channel.sendMessage(embed.build()).queue();
});
}
}
}