Skip to content

Commit 5c11f75

Browse files
author
FungY911
committed
Add stop method
1 parent f53d4d4 commit 5c11f75

3 files changed

Lines changed: 33 additions & 8 deletions

File tree

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

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
public class Command implements CommandExecutor, TabCompleter {
1717
private static String secured;
18+
WebServer ws;
1819

1920
@Override
2021
public boolean onCommand(CommandSender sender, org.bukkit.command.Command command, String label, String[] args) {
@@ -45,9 +46,13 @@ public boolean onCommand(CommandSender sender, org.bukkit.command.Command comman
4546
"/wsm \n");
4647
return true;
4748
case "start":
49+
if (ws != null) {
50+
sender.sendMessage("WebServer is alredy started!");
51+
return true;
52+
}
4853
sender.sendMessage("Starting...");
49-
WebServer server = new WebServer();
50-
server.start();
54+
ws = new WebServer();
55+
ws.start();
5156
if (new FileManager().getBooleanFromConfig("WebServer.ssl")) {
5257
secured = "https://";
5358
} else {
@@ -65,6 +70,20 @@ public boolean onCommand(CommandSender sender, org.bukkit.command.Command comman
6570
message.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new ComponentBuilder("Click to open Website").create()));
6671
player.spigot().sendMessage(message);
6772
return true;
73+
case "stop":
74+
if (ws == null) {
75+
sender.sendMessage("WebServer was not started yet!");
76+
return true;
77+
}
78+
ws.stop();
79+
FileManager.setStringInConfig("WebServer.isRunning", String.valueOf(false));
80+
if (!(ws.isAlive())) {
81+
sender.sendMessage("Webserver has been Stopped!");
82+
} else {
83+
sender.sendMessage("Webserver has not been Stopped!");
84+
}
85+
ws = null;
86+
return true;
6887
case "reload":
6988
switch (args[1]) {
7089
case "config":
@@ -116,8 +135,9 @@ public List<String> onTabComplete(CommandSender sender, org.bukkit.command.Comma
116135
List<String> arguments = new ArrayList<>();
117136
arguments.add("help");
118137
if (sender.hasPermission("wsm.tab") || sender.hasPermission("wsm.*")) {
119-
arguments.add("status");
120138
arguments.add("start");
139+
arguments.add("stop");
140+
arguments.add("status");
121141
arguments.add("reload");
122142
}
123143
return arguments;

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

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -88,10 +88,8 @@ private String getMimeType(String uri) {
8888

8989

9090
public void start() {
91-
running = !running;
92-
if (running) {
9391
try {
94-
start(NanoHTTPD.SOCKET_READ_TIMEOUT, false);
92+
super.start(NanoHTTPD.SOCKET_READ_TIMEOUT, false);
9593
FileManager.setStringInConfig("WebServer.isRunning", String.valueOf(true));
9694
if (secureb) {
9795
Main.getInstance().getLogger().warning("Running! https://" + domain + ":" + port + "/");
@@ -101,8 +99,15 @@ public void start() {
10199
} catch (IOException e) {
102100
Main.getInstance().getLogger().warning("Couldn't start server: " + e.getMessage());
103101
FileManager.setStringInConfig("WebServer.isRunning", String.valueOf(false));
104-
running = false;
105102
}
103+
}
104+
public void stop() {
105+
super.stop();
106+
FileManager.setStringInConfig("WebServer.isRunning", String.valueOf(false));
107+
if (!(super.isAlive())) {
108+
Main.getInstance().getLogger().warning("Webserver has been Stopped!");
109+
} else {
110+
Main.getInstance().getLogger().warning("Webserver has not been Stopped! Are you started the WebServer?");
106111
}
107112
}
108113
@Override

src/main/resources/config.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
########################################################################
2828
WebServer:
2929
port: 8080 # Set this to your open port
30-
isRunning: false # For effect you need to reload plugin
30+
isRunning: false #
3131
domain: "CHANGE_ME" # Domain of your server, default is ip of your server.
3232
ssl: false # toggle: true/false, set this to true only if you have generated certificate and webserver pointed to domain
3333

0 commit comments

Comments
 (0)