Skip to content

Commit 17f017a

Browse files
committed
Update Command
1 parent 5e88ede commit 17f017a

File tree

5 files changed

+86
-7
lines changed

5 files changed

+86
-7
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<groupId>tk.fungy</groupId>
88
<artifactId>WebServerForMC</artifactId>
9-
<version>1.3.1</version>
9+
<version>1.3.2</version>
1010
<packaging>jar</packaging>
1111

1212
<name>WebServerForMinecraft</name>

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

Lines changed: 62 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import org.bukkit.command.TabCompleter;
99
import org.bukkit.entity.Player;
1010

11+
import java.io.File;
1112
import java.util.ArrayList;
1213
import java.util.List;
1314
import java.util.UUID;
@@ -50,6 +51,7 @@ public boolean onCommand(CommandSender sender, org.bukkit.command.Command comman
5051
"\n &a&lWebServer: \n" +
5152
" &r&2/wsm start &7Turns on WebServer\n" +
5253
" &r&2/wsm stop &7Turns off WebServer\n" +
54+
" &r&2/wsm update [domain] / [port] &7Updates variable in config\n" +
5355
" &b&lOthers: \n" +
5456
" &r&9/wsm reload [config] / [plugin] &7Reloads config/plugin\n" +
5557
" &r&9/wsm status &7Displays the status of the webserver\n" +
@@ -94,6 +96,59 @@ public boolean onCommand(CommandSender sender, org.bukkit.command.Command comman
9496
message.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new ComponentBuilder("Click to open Website").create()));
9597
player.spigot().sendMessage(message);
9698
return true;
99+
case "update":
100+
if (!(sender.hasPermission("ws.set") || sender.hasPermission("ws.*"))) {
101+
sender.sendMessage(Colors.translate(new FileManager().getStringFromConfig("No-Permission")));
102+
return true;
103+
}
104+
if(args.length > 1) {
105+
switch (args[1]) {
106+
107+
case "domain":
108+
109+
if (args.length <= 2) {
110+
sender.sendMessage(Colors.translate("&8[&cWebServer&8] &cPlease type your domain or ip."));
111+
return true;
112+
}
113+
114+
sender.sendMessage(Colors.translate("&8[&cWebServer&8] &7Setting domain..."));
115+
FileManager.setStringInConfig("WebServer.domain", args[2]);
116+
117+
new FileManager().reloadConfig();
118+
119+
sender.sendMessage(Colors.translate("&8[&cWebServer&8] &aNew domain has been set to " + args[2]));
120+
sender.sendMessage(Colors.translate("&8[&cWebServer&8] &7Please start and stop your webserver for effect."));
121+
return true;
122+
123+
case "port":
124+
125+
if (args.length <= 2) {
126+
sender.sendMessage(Colors.translate("&8[&cWebServer&8] &cPlease type selected port."));
127+
return true;
128+
}
129+
130+
if (args[2].length() > 10) {
131+
sender.sendMessage(Colors.translate("&8[&cWebServer&8] &cYou have too many numbers. Max is 10."));
132+
return true;
133+
}
134+
135+
if (!(new FileManager().containsDigits(args[2]))) {
136+
sender.sendMessage(Colors.translate("&8[&cWebServer&8] &cPlease type only numbers."));
137+
return true;
138+
}
139+
140+
sender.sendMessage(Colors.translate("&8[&cWebServer&8] &7Setting port..."));
141+
142+
FileManager.setIntegerInConfig("WebServer.port", Integer.valueOf(args[2]));
143+
144+
sender.sendMessage(Colors.translate("&8[&cWebServer&8] &aNew port has been set to " + args[2]));
145+
sender.sendMessage(Colors.translate("&8[&cWebServer&8] &7Please start and stop your webserver for effect."));
146+
return true;
147+
}
148+
} else {
149+
sender.sendMessage(Colors.translate("&8[&cWebServer&8] &bPlease choose between domain or port"));
150+
}
151+
return true;
97152
case "stop":
98153
if (!(sender.hasPermission("ws.stop") || sender.hasPermission("ws.*"))) {
99154
sender.sendMessage(Colors.translate(new FileManager().getStringFromConfig("No-Permission")));
@@ -163,7 +218,7 @@ public boolean onCommand(CommandSender sender, org.bukkit.command.Command comman
163218
sender.sendMessage(Colors.translate("&8[&cWebServer&8] &8⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛"));
164219
sender.sendMessage(Colors.translate("&8[&cWebServer&8] &bStatus: " + running));
165220
sender.sendMessage(Colors.translate("&8[&cWebServer&8] &bBound on: " + new FileManager().getStringFromConfig("WebServer.domain") + ":" + new FileManager().getStringFromConfig("WebServer.port")));
166-
sender.sendMessage(Colors.translate("&8[&cWebServer&8] &bUptime: &7" + timer)); //TODO: Add Uptime
221+
sender.sendMessage(Colors.translate("&8[&cWebServer&8] &bUptime: &7" + timer));
167222
sender.sendMessage(Colors.translate("&8[&cWebServer&8] &bAccesss Log: &aEnabled &8(&7This is in TODO&8)\n")); //TODO: Add toggle accesslog
168223
sender.sendMessage(Colors.translate("&8[&cWebServer&8] &bCreated by FungYY911 for everyone"));
169224
sender.sendMessage(Colors.translate("&8[&cWebServer&8] &8⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛"));
@@ -188,6 +243,7 @@ public List<String> onTabComplete(CommandSender sender, org.bukkit.command.Comma
188243
arguments.add("status");
189244
arguments.add("reload");
190245
arguments.add("ver");
246+
arguments.add("update");
191247
}
192248
return arguments;
193249
} else if (args.length == 2) {
@@ -197,8 +253,12 @@ public List<String> onTabComplete(CommandSender sender, org.bukkit.command.Comma
197253
arguments.add("config");
198254
arguments.add("plugin");
199255
return arguments;
256+
case "update":
257+
List<String> arg = new ArrayList<>();
258+
arg.add("domain");
259+
arg.add("port");
260+
return arg;
200261
}
201-
202262
}
203263
return null;
204264
}

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

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,25 @@ public static void setStringInConfig(String key, String value) {
2424
} catch (IOException e) {
2525
Main.getInstance().getLogger().warning("Failed to set string. Executed with this error: \n" + e);
2626
}
27-
}public static void setBooleanInConfig(String key, Boolean value) {
27+
}
28+
public static void setIntegerInConfig(String key, Integer value) {
29+
config.set(key, value);
30+
try {
31+
config.save(configFile);
32+
} catch (IOException e) {
33+
Main.getInstance().getLogger().warning("Failed to set string. Executed with this error: \n" + e);
34+
}
35+
}
36+
public boolean containsDigits(String StringInput) {
37+
boolean containsDigits = StringInput.matches("[0-9]+");
38+
39+
if(containsDigits) {
40+
return true;
41+
} else {
42+
return false;
43+
}
44+
}
45+
public static void setBooleanInConfig(String key, Boolean value) {
2846
config.set(key, value);
2947
try {
3048
config.save(configFile);

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ private static void checkForUpdates() {
4848
if(currentVersion == null) { currentVersion = new FileManager().getStringFromConfig("Version"); }
4949

5050
if (!currentVersion.equals(latestVersion)) {
51-
Bukkit.getLogger().warning(Colors.translate("[WebServer] A new update is available: " + latestVersion + " Your version is: " + currentVersion + ". Download it here: &7https://www.spigotmc.org/resources/web-server-for-minecraft.107949/"));
51+
Bukkit.getLogger().warning(Colors.translate("[WebServer] A new update is available: " + latestVersion + " Your version is: " + currentVersion + ". Download it here: https://www.spigotmc.org/resources/web-server-for-minecraft.107949/"));
5252
} else {
5353
Bukkit.getLogger().warning(Colors.translate("[WebServer] You are using latest version"));
5454
}

src/main/resources/config.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,9 @@
2222
# Plugin Reload - ws.reload #
2323
# Set new port - ws.port #
2424
# Tab - ws.tab #
25-
# Get Version - ws.ver #
25+
# Get Version of the Plugin - ws.ver #
2626
# Show Updates - ws.update #
27+
# Update variable in config - ws.set #
2728
# #
2829
# #
2930
########################################################################
@@ -34,4 +35,4 @@ WebServer:
3435
ssl: false # toggle: true/false, set this to true only if you have generated certificate and webserver pointed to domain
3536

3637
No-Permission: "&cYou dont have permissions to do this command"
37-
Version: "1.3.1" # Do not edit this line!
38+
Version: "1.3.2" # Do not edit this line!

0 commit comments

Comments
 (0)