Skip to content

Commit bfb6b24

Browse files
committed
Added Uptimer
1 parent 7712b44 commit bfb6b24

File tree

4 files changed

+59
-1
lines changed

4 files changed

+59
-1
lines changed

src/main/java/tk/fungy/wsformc/Command.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ public class Command implements CommandExecutor, TabCompleter {
1616
private static String secured;
1717
public static WebServer ws;
1818
private static String running;
19+
private static String timer;
1920
@Override
2021
public boolean onCommand(CommandSender sender, org.bukkit.command.Command command, String label, String[] args) {
2122
if (!(sender instanceof Player)) {
@@ -156,11 +157,13 @@ public boolean onCommand(CommandSender sender, org.bukkit.command.Command comman
156157
return true;*/
157158

158159
case "status":
160+
if (!(Main.tc.running)) timer = "&cOffline";
161+
if (Main.tc.running) timer = Main.tc.getTimeCounter();
159162
if (new FileManager().getBooleanFromConfig("WebServer.isRunning")) { running = "&aOnline"; } else { running = "&cOffline"; }
160163
sender.sendMessage(Colors.translate("&8[&cWebServer&8] &8⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛"));
161164
sender.sendMessage(Colors.translate("&8[&cWebServer&8] &bStatus: " + running));
162165
sender.sendMessage(Colors.translate("&8[&cWebServer&8] &bBound on: " + new FileManager().getStringFromConfig("WebServer.domain") + ":" + new FileManager().getStringFromConfig("WebServer.port")));
163-
sender.sendMessage(Colors.translate("&8[&cWebServer&8] &bUptime: &7null &8(&7This is in TODO&8)")); //TODO: Add Uptime
166+
sender.sendMessage(Colors.translate("&8[&cWebServer&8] &bUptime: &7" + timer)); //TODO: Add Uptime
164167
sender.sendMessage(Colors.translate("&8[&cWebServer&8] &bAccesss Log: &aEnabled &8(&7This is in TODO&8)\n")); //TODO: Add toggle accesslog
165168
sender.sendMessage(Colors.translate("&8[&cWebServer&8] &bCreated by FungYY911 for everyone"));
166169
sender.sendMessage(Colors.translate("&8[&cWebServer&8] &8⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛"));

src/main/java/tk/fungy/wsformc/Main.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ public static Main getInstance() {
1212
}
1313

1414
public static Main instance;
15+
public static TimeCounter tc = new TimeCounter ();
1516

1617
@Override
1718
public void onEnable() {
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
package tk.fungy.wsformc;
2+
3+
import java.util.concurrent.TimeUnit;
4+
5+
public class TimeCounter {
6+
private long startTime;
7+
private long stopTime;
8+
public static boolean running;
9+
10+
public TimeCounter() {
11+
reset();
12+
}
13+
14+
public void start() {
15+
if (!running) {
16+
this.startTime = System.currentTimeMillis();
17+
this.running = true;
18+
}
19+
}
20+
21+
public void stop() {
22+
if (running) {
23+
this.stopTime = System.currentTimeMillis();
24+
this.running = false;
25+
}
26+
}
27+
28+
public void reset() {
29+
this.startTime = 0;
30+
this.stopTime = 0;
31+
this.running = false;
32+
}
33+
34+
public String getTimeCounter() {
35+
long elapsedTime = running ? System.currentTimeMillis() - startTime : stopTime - startTime;
36+
long days = TimeUnit.MILLISECONDS.toDays(elapsedTime);
37+
long years = days / 365;
38+
days = days % 365;
39+
long hours = TimeUnit.MILLISECONDS.toHours(elapsedTime) - (days * 24);
40+
long minutes = TimeUnit.MILLISECONDS.toMinutes(elapsedTime) - (TimeUnit.MILLISECONDS.toHours(elapsedTime) * 60);
41+
long seconds = TimeUnit.MILLISECONDS.toSeconds(elapsedTime) - (TimeUnit.MILLISECONDS.toMinutes(elapsedTime) * 60);
42+
if (years > 0) {
43+
return years + " years, " + days + " days, " + String.format("%02d:%02d:%02d", hours, minutes, seconds);
44+
}
45+
if (days > 0) {
46+
return days + " days, " + String.format("%02d:%02d:%02d", hours, minutes, seconds);
47+
}
48+
return String.format("%02d:%02d:%02d", hours, minutes, seconds);
49+
}
50+
}

src/main/java/tk/fungy/wsformc/WebServer.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
import java.io.*;
66
import java.nio.file.NoSuchFileException;
7+
import java.sql.Time;
78
import java.text.SimpleDateFormat;
89
import java.util.Date;
910
import java.util.Map;
@@ -91,13 +92,16 @@ public void start() {
9192
} else {
9293
Main.getInstance().getLogger().warning("Running! http://" + domain + ":" + port + "/");
9394
}
95+
Main.tc.reset();
96+
Main.tc.start();
9497
} catch (IOException e) {
9598
Main.getInstance().getLogger().warning("Couldn't start server: " + e.getMessage());
9699
FileManager.setStringInConfig("WebServer.isRunning", String.valueOf(false));
97100
}
98101
}
99102
public void stop() {
100103
super.stop();
104+
Main.tc.stop();
101105
FileManager.setStringInConfig("WebServer.isRunning", String.valueOf(false));
102106
if (!(super.isAlive())) {
103107
Main.getInstance().getLogger().warning("Webserver has been Stopped!");

0 commit comments

Comments
 (0)