Skip to content

Commit 9a67610

Browse files
committed
Toggle Updater & Clickable message on update in minecraft
1 parent cbd3b26 commit 9a67610

6 files changed

Lines changed: 47 additions & 6 deletions

File tree

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.0</version>
1010
<packaging>jar</packaging>
1111

1212
<name>WebServerForMinecraft</name>

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

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,15 @@ public boolean onCommand(CommandSender sender, org.bukkit.command.Command comman
4343
"/wsm reload [config] / [plugin]\n" +
4444
"/wsm start\n" +
4545
"/wsm status\n" +
46-
"/wsm \n");
46+
"/wsm version\n");
47+
return true;
48+
case "ver":
49+
case "version":
50+
if (!(sender.hasPermission("ws.ver") || sender.hasPermission("ws.*"))) {
51+
sender.sendMessage(Colors.translate(new FileManager().getStringFromConfig("No-Permission")));
52+
return true;
53+
}
54+
sender.sendMessage("Your version is: " + Main.getInstance().getDescription().getVersion() + "Latest: " + Updater.latestVersion);
4755
return true;
4856
case "start":
4957
if (!(sender.hasPermission("ws.start") || sender.hasPermission("ws.*"))) {

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,13 @@ 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) {
28+
config.set(key, value);
29+
try {
30+
config.save(configFile);
31+
} catch (IOException e) {
32+
Main.getInstance().getLogger().warning("Failed to set boolean. Executed with this error: \n" + e);
33+
}
2734
}
2835

2936

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55

66
import java.net.UnknownHostException;
77

8+
import static tk.fungy.wsformc.Updater.toggleUpdates;
9+
810
public final class Main extends JavaPlugin {
911

1012
public static Main getInstance() {
@@ -41,6 +43,9 @@ public void onEnable() {
4143
}
4244
}
4345
FileManager.setStringInConfig("Version", getDescription().getVersion());
46+
if (!(new FileManager().getBooleanFromConfig("Version"))) {
47+
new FileManager().setBooleanInConfig("Updates", true);
48+
}
4449
Updater.startUpdater();
4550

4651
int pluginId = 17696;

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

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,11 @@
33
import com.google.gson.JsonArray;
44
import com.google.gson.JsonObject;
55
import com.google.gson.JsonParser;
6+
import net.md_5.bungee.api.ChatMessageType;
7+
import net.md_5.bungee.api.chat.ClickEvent;
8+
import net.md_5.bungee.api.chat.ComponentBuilder;
9+
import net.md_5.bungee.api.chat.HoverEvent;
10+
import net.md_5.bungee.api.chat.TextComponent;
611
import org.bukkit.Bukkit;
712
import org.bukkit.entity.Player;
813
import org.bukkit.event.EventHandler;
@@ -15,7 +20,8 @@
1520

1621
public class Updater implements Listener {
1722
private static String currentVersion = new FileManager().getStringFromConfig("Version");
18-
private static String latestVersion;
23+
public static boolean toggleUpdates = new FileManager().getBooleanFromConfig("Version");
24+
public static String latestVersion;
1925
public static void startUpdater() {
2026
Bukkit.getScheduler().runTaskTimerAsynchronously(Main.instance, new Runnable() {
2127
@Override
@@ -41,7 +47,7 @@ private static void checkForUpdates() {
4147
if(currentVersion == null) { currentVersion = new FileManager().getStringFromConfig("Version"); }
4248

4349
if (!currentVersion.equals(latestVersion)) {
44-
Bukkit.getLogger().warning(Colors.translate("[WebServer] A new update is available: " + latestVersion + " Your version is: " + currentVersion));
50+
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/"));
4551
} else {
4652
Bukkit.getLogger().warning(Colors.translate("[WebServer] You are using latest version"));
4753
}
@@ -54,12 +60,24 @@ private static void checkForUpdates() {
5460
public void onPlayerJoin(PlayerJoinEvent event) {
5561
Player player = event.getPlayer();
5662

63+
if (!(player.hasPermission("ws.update") || player.hasPermission("ws.*"))) {
64+
return;
65+
}
66+
67+
if (!toggleUpdates) {
68+
return;
69+
}
70+
5771
if (currentVersion == null) {
5872
Bukkit.getLogger().warning(Colors.translate("[WebServer] An error occured! Please report console error to our discord! https://codeitfor.fun/discord"));
5973
return;
6074
}
6175

62-
if (player.hasPermission("ws.update") || player.hasPermission("ws.*"))
63-
if (!(currentVersion.equals(latestVersion.toString()))) player.sendMessage(Colors.translate("&8[&cWebServer&8] &bA new update of Web Server for minecraft is available: &c" + latestVersion + "&b. Your version is: &c" + currentVersion + "&b.\n&bDownload it here: &7https://github.com/CodeITForFun/WSForMC/releases"));
76+
TextComponent message = new TextComponent(Colors.translate("&8[&cWebServer&8] &bA new update of Web Server for minecraft is available: &c" +
77+
latestVersion + "&b. Your version is: &c" + currentVersion));
78+
message.setClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, "https://www.spigotmc.org/resources/web-server-for-minecraft.107949/"));
79+
message.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new ComponentBuilder("Click to Download Manual Update from SpigotMC").create()));
80+
81+
if (!(currentVersion.equals(latestVersion.toString()))) player.spigot().sendMessage(message);
6482
}
6583
}

src/main/resources/config.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@
2222
# Plugin Reload - ws.reload #
2323
# Set new port - ws.port #
2424
# Tab - ws.tab #
25+
# Get Version - ws.ver #
26+
# Show Updates - ws.update #
2527
# #
2628
# #
2729
########################################################################
@@ -33,3 +35,4 @@ WebServer:
3335

3436
No-Permission: "&cYou dont have permissions to do this command"
3537
Version: "1.3.1" # Do not edit this line!
38+
Updates: true # Toggle updates

0 commit comments

Comments
 (0)