package net.craftersland.money;
import java.text.DecimalFormat;
import org.bukkit.entity.Player;
import me.clip.placeholderapi.expansion.PlaceholderExpansion;
public class Placeholders extends PlaceholderExpansion {
Money pl;
public Placeholders(Money plugin) {
this.pl = plugin;
}
@Override
public boolean persist(){
return true;
}
@Override
public boolean canRegister(){
return true;
}
@Override
public String getAuthor(){
return pl.getDescription().getAuthors().toString();
}
/**
* The placeholder identifier should go here.
*
This is what tells PlaceholderAPI to call our onRequest
* method to obtain a value if a placeholder starts with our
* identifier.
*
This must be unique and can not contain % or _
*
* @return The identifier in {@code %_%} as String.
*/
@Override
public String getIdentifier(){
return "economybank";
}
@Override
public String getVersion(){
return pl.getDescription().getVersion();
}
/**
* This is the method called when a placeholder with our identifier
* is found and needs a value.
*
We specify the value identifier in this method.
*
Since version 2.9.1 can you use OfflinePlayers in your requests.
*
* @param player
* A {@link org.bukkit.Player Player}.
* @param identifier
* A String containing the identifier/value.
*
* @return possibly-null String of the requested identifier.
*/
@Override
public String onPlaceholderRequest(Player player, String identifier){
if (player == null) {
return "Not online!";
}
// %someplugin_placeholder1%
if (identifier.equals("balance")) {
Double bal = pl.getMoneyDatabaseInterface().getBalance(player);
DecimalFormat f = new DecimalFormat("#,##0.00");
if (bal.toString().endsWith(".0")) {
DecimalFormat fr = new DecimalFormat("#,##0");
return fr.format(bal);
} else {
return f.format(bal);
}
}
// We return null if an invalid placeholder (f.e. %someplugin_placeholder3%)
// was provided
return null;
}
}