public void onRepaint(Graphics g) {
if (!onstartHasRan) {
return;
}
Point m = Mouse.getLocation();
g.setColor(Color.cyan);
g.drawRoundRect(m.x - 6, m.y, 15, 3, 5, 5);
g.drawRoundRect(m.x, m.y - 6, 3, 15, 5, 5);
g.fillRoundRect(m.x - 6, m.y, 15, 3, 5, 5);
g.fillRoundRect(m.x, m.y - 6, 3, 15, 5, 5);
//draw background
g.setColor(new Color(0, 0, 0, 180));
g.fillRect(0, 50, 130, 160);
g.setColor(Color.white);
g.setFont(new Font("Tahoma", Font.BOLD, 11));
g.drawString("Power Miner " + version, 0, 50);
g.setColor(Color.red);
g.setFont(new Font("Tahoma", Font.PLAIN, 11));
double milliseconds = System.currentTimeMillis() - starttime;
seconds = milliseconds / 1000;
minutes = seconds / 60;
hours = minutes / 60;
display_hours = (long)seconds / 3600;
long remaining_seconds = (long)seconds - ( display_hours * 3600 );
display_minutes = remaining_seconds / 60;
display_seconds = remaining_seconds - ( display_minutes * 60 );
g.drawString("Time: " + display_hours + ":" + display_minutes + ":" + display_seconds , 0, 65);
g.setColor(Color.red);
g.setFont(new Font("Tahoma", Font.PLAIN, 11));
currentlevel = Skills.getRealLevel(Skills.MINING);
levelsgained = currentlevel - startinglevel;
currentexperience = Skills.getExperience(Skills.MINING);
experiencegained = currentexperience - startingexperience;
experienceperhour = experiencegained/ hours;
experiencetonextlevel = Skills.getExperienceToLevel(Skills.MINING, Skills.getLevel(Skills.MINING) + 1);
//percenttonextlevel = Skills.getPercentToNextLevel(Skills.MINING);
g.setColor(Color.red);
g.fillRect(0, 194, 100,12 );
g.drawString("Mining: " + ore_type , 0, 80);
g.drawString("Current level: " + currentlevel, 0, 95);
g.drawString("Levels Gained: " + levelsgained, 0, 110);
g.drawString("Current Exp: " + currentexperience, 0, 125);
g.drawString("Exp Gained: " + experiencegained,0, 140);
g.drawString("Exp / Hour: " + formatdouble(experienceperhour), 0, 155);
g.drawString("Exp TNL: " + experiencetonextlevel, 0, 185);
int [] diff={83,91,102,112,124,138,151,168,185,204,226,249,274,304,335,369,408,450,497,548,606,
667,737,814,898,990,1094,1207,1332,1470,1623,1791,1977,2182,2409,2658,2935,3240,3576,3947,4358,4810,5310,5863,6471,7144,7887,8707, 9612,10612,11715,12934,14278,15764,17404,19214,21212,23420,25856,28546,31516,34795, 38416,42413,46826,51699,57079,63019,69576,76818,84812,93638,103383,114143,126022,139138,153619,169608,187260,206750,228269,252027,278259,307221,339198,374502,413482,456519,504037,556499,614422,678376,748985,826944,913019,1008052,1112977,1228825};
double percent= 10000.0*(diff[currentlevel-1]-experiencetonextlevel)/diff[currentlevel-1];
percent=Math.floor(percent);
percent/=100;
g.setColor(Color.green);
g.fillRect(0, 194, (int)percent, 12);
g.setColor(Color.black);
g.drawString((percent)+"% to level "+(currentlevel+1), 5, 203);
double experience_per_millisecond = ( (double)experiencegained ) / milliseconds;
if (experiencegained == 0) {
g.drawString("Time TNL: ", 0, 155);
}else{
double milliseconds_to_next_level = (experiencetonextlevel / experience_per_millisecond);
g.setColor(Color.red);
g.drawString("Time TNL: " + formatTime(milliseconds_to_next_level), 0, 170);
}
}