88import org .bukkit .command .TabCompleter ;
99import org .bukkit .entity .Player ;
1010
11+ import java .io .File ;
1112import java .util .ArrayList ;
1213import java .util .List ;
1314import 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 }
0 commit comments