@UtilityClass
public class StatManager {
private NumberFormat numberFormat;
private DecimalFormat decimalFormat;
private List<String> timeStats, distanceStats, damageStats;
public String getStatById(EntityPlayerMP player, int statId){
StatBase statBase = (StatBase) StatList.generalStats.get(statId);
if(statBase == null) return null;
return format(statBase, player.func_147099_x().writeStat(statBase));
}
public String format(StatBase stat, int value){
if(decimalFormat == null)
decimalFormat = new DecimalFormat("########0.00");
if(timeStats.contains(stat.statId)){
double d0 = (double)value /...
EntityPlayerMP player = ...;
int playTime = playerMP.getStatFile().readStat(StatList.PLAY_ONE_MINUTE);
@UtilityClass
public class StatManager {
private NumberFormat numberFormat;
private DecimalFormat decimalFormat;
private List<String> timeStats, distanceStats, damageStats;
public String getStatById(EntityPlayerMP player, int statId){
StatBase statBase = (StatBase) StatList.generalStats.get(statId);
if(statBase == null) return null;
return format(statBase, player.func_147099_x().writeStat(statBase));
}
public String format(StatBase stat, int value){
if(decimalFormat == null)
decimalFormat = new DecimalFormat("########0.00");
if(timeStats.contains(stat.statId)){
double d0 = (double)value / 20.0D;
double d1 = d0 / 60.0D;
double d2 = d1 / 60.0D;
double d3 = d2 / 24.0D;
double d4 = d3 / 365.0D;
return d4 > 0.5D ? decimalFormat.format(d4) + " y" : (d3 > 0.5D ? decimalFormat.format(d3) + " d" : (d2 > 0.5D ? decimalFormat.format(d2) + " h" : (d1 > 0.5D ? decimalFormat.format(d1) + " m" : d0 + " s")));
} else if(distanceStats.contains(stat.statId)){
double d0 = (double)value / 100.0D;
double d1 = d0 / 1000.0D;
return d1 > 0.5D ? decimalFormat.format(d1) + " km" : (d0 > 0.5D ? decimalFormat.format(d0) + " m" : value + " cm");
} else if(damageStats.contains(stat.statId)){
return decimalFormat.format((double)value * 0.1D);
} else {
if(numberFormat == null)
numberFormat = NumberFormat.getIntegerInstance(Locale.US);
return numberFormat.format((long)value);
}
}
static {
timeStats = Lists.newArrayList();
timeStats.add("stat.playOneMinute");
distanceStats = Lists.newArrayList();
distanceStats.add("stat.walkOneCm");
distanceStats.add("stat.swimOneCm");
distanceStats.add("stat.fallOneCm");
distanceStats.add("stat.climbOneCm");
distanceStats.add("stat.flyOneCm");
distanceStats.add("stat.diveOneCm");
distanceStats.add("stat.minecartOneCm");
distanceStats.add("stat.boatOneCm");
distanceStats.add("stat.pigOneCm");
distanceStats.add("stat.horseOneCm");
damageStats = Lists.newArrayList();
damageStats.add("stat.damageDealt");
damageStats.add("stat.damageTaken");
}
}