Skip to content

Commit 88eb902

Browse files
committed
add update check messages
1 parent ff3938d commit 88eb902

File tree

9 files changed

+63
-15
lines changed

9 files changed

+63
-15
lines changed

src/main/java/me/refracdevelopment/simpletags/SimpleTags.java

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ public void onEnable() {
8686

8787
RyMessageUtils.sendConsole(false,
8888
"<#A020F0> _____ _ _ _____ " + "Running <#7D0DC3>v" + getDescription().getVersion(),
89-
"<#A020F0>| __|_|_____ ___| |___|_ _| __ ___ ___ " + "Server <#7D0DC3>" + getServer().getName() + " <#A020F0>v" + getServer().getVersion(),
89+
"<#A020F0>| __|_|_____ ___| |___|_ _| __ ___ ___ " + "Server <#7D0DC3>" + getServer().getName() + " <#A020F0>v<#7D0DC3>" + getServer().getVersion(),
9090
"<#A020F0>|__ | | | . | | -_| | | |. | . |_ -| " + "Discord support: <#7D0DC3>" + getDescription().getWebsite(),
9191
"<#A020F0>|_____|_|_|_|_| _|_|___| |_| |___|_ |___| " + "Thanks for using my plugin ❤ !",
9292
"<#A020F0> |_| |___| ",
@@ -99,7 +99,7 @@ public void onEnable() {
9999
loadListeners();
100100
loadHooks();
101101

102-
updateCheck();
102+
updateCheck(true);
103103

104104
new Metrics(this, 13205);
105105
}
@@ -240,7 +240,7 @@ private void loadHooks() {
240240
}
241241
}
242242

243-
private void updateCheck() {
243+
public boolean updateCheck(boolean sendMessages) {
244244
try {
245245
String urlString = "https://refracdev-updatecheck.refracdev.workers.dev/";
246246
URL url = new URL(urlString);
@@ -263,19 +263,28 @@ private void updateCheck() {
263263
boolean archived = info.get("archived").getAsBoolean();
264264

265265
if (archived) {
266-
RyMessageUtils.sendConsole(true, "&cThis plugin has been marked as &e&l'Archived' &cby RefracDevelopment.");
267-
RyMessageUtils.sendConsole(true, "&cThis version will continue to work but will not receive updates or support.");
266+
if (sendMessages) {
267+
RyMessageUtils.sendConsole(true, "&cThis plugin has been marked as &e&l'Archived' &cby RefracDevelopment.");
268+
RyMessageUtils.sendConsole(true, "&cThis version will continue to work but will not receive updates or support.");
269+
}
268270
} else if (version.equals(getDescription().getVersion())) {
269-
RyMessageUtils.sendConsole(true, "&a" + getDescription().getName() + " is on the latest version.");
271+
if (sendMessages) {
272+
RyMessageUtils.sendConsole(true, "&a" + getDescription().getName() + " is on the latest version.");
273+
}
270274
} else {
271-
RyMessageUtils.sendConsole(true, "&cYour " + getDescription().getName() + " version &7(" + getDescription().getVersion() + ") &cis out of date! Newest: &e&lv" + version);
275+
if (sendMessages)
276+
RyMessageUtils.sendConsole(true, "&cYour " + getDescription().getName() + " version &7(" + getDescription().getVersion() + ") &cis out of date! Newest: &e&lv" + version);
277+
return true;
272278
}
273279
} else {
274-
RyMessageUtils.sendConsole(true, "&cWrong response from update API, contact plugin developer!");
280+
if (sendMessages)
281+
RyMessageUtils.sendConsole(true, "&cWrong response from update API, contact plugin developer!");
275282
}
276283
} catch (
277284
Exception ex) {
278285
RyMessageUtils.sendConsole(true, "&cFailed to get updater check. (" + ex.getMessage() + ")");
279286
}
287+
288+
return false;
280289
}
281290
}

src/main/java/me/refracdevelopment/simpletags/commands/VersionCommand.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,17 @@ public void perform(CommandSender commandSender, String[] args) {
5656
}
5757

5858
String baseColor = SimpleTags.getInstance().getLocaleFile().getString("base-command-color");
59+
5960
RyMessageUtils.sendSender(commandSender, baseColor + "Running <gradient:#8A2387:#E94057:#F27121:0>" + SimpleTags.getInstance().getDescription().getName() + baseColor + " v" + SimpleTags.getInstance().getDescription().getVersion());
6061
RyMessageUtils.sendSender(commandSender, baseColor + "Plugin created by: <gradient:#41E0F0:#FF8DCE:0>" + SimpleTags.getInstance().getDescription().getAuthors().get(0));
6162
RyMessageUtils.sendPluginMessage(commandSender, "base-command-help", StringPlaceholders.of("cmd", SimpleTags.getInstance().getCommands().TAGS_COMMAND_NAME));
63+
64+
RyMessageUtils.sendSender(commandSender, " ");
65+
66+
if (SimpleTags.getInstance().updateCheck(false)) {
67+
RyMessageUtils.sendSender(commandSender, baseColor + "There is an update of <gradient:#8A2387:#E94057:#F27121:0>SimpleTags &r" + baseColor + "available!");
68+
RyMessageUtils.sendSender(commandSender, baseColor + "Download the latest version here: &bhttps://github.com/RefracDevelopment/SimpleTags/releases/latest");
69+
}
6270
}
6371

6472
/**

src/main/java/me/refracdevelopment/simpletags/listeners/PlayerListener.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import me.refracdevelopment.simpletags.SimpleTags;
44
import me.refracdevelopment.simpletags.player.Profile;
55
import me.refracdevelopment.simpletags.player.data.ProfileData;
6+
import me.refracdevelopment.simpletags.utilities.Permissions;
67
import me.refracdevelopment.simpletags.utilities.Tasks;
78
import me.refracdevelopment.simpletags.utilities.chat.RyMessageUtils;
89
import org.bukkit.Bukkit;
@@ -33,6 +34,13 @@ public void onJoin(PlayerJoinEvent event) {
3334
player.kickPlayer(RyMessageUtils.translate(player, SimpleTags.getInstance().getLocaleFile().getString("kick-messages-error")));
3435
return;
3536
}
37+
38+
if (SimpleTags.getInstance().getSettings().CHECK_FOR_UPDATES && player.hasPermission(Permissions.VERSION_COMMAND)) {
39+
if (SimpleTags.getInstance().updateCheck(false)) {
40+
RyMessageUtils.sendPlayer(player, "There is an update of <gradient:#8A2387:#E94057:#F27121:0>SimpleTags &ravailable!", false);
41+
RyMessageUtils.sendPlayer(player, "Download the latest version here: &bhttps://github.com/RefracDevelopment/SimpleTags/releases/latest", false);
42+
}
43+
}
3644
}
3745

3846
@EventHandler
@@ -54,7 +62,7 @@ public void onChat(AsyncPlayerChatEvent event) {
5462
ProfileData profile = SimpleTags.getInstance().getProfileManager().getProfile(player.getUniqueId()).getData();
5563

5664
if (SimpleTags.getInstance().getSettings().USE_CHAT)
57-
event.setFormat(RyMessageUtils.translate(profile.getTagPrefix() + ChatColor.RESET + event.getFormat()));
65+
event.setFormat(RyMessageUtils.translate(profile.getTagPrefix() + "&r" + event.getFormat()));
5866
}
5967

6068
@EventHandler

src/main/java/me/refracdevelopment/simpletags/managers/configuration/cache/Config.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
public class Config {
66

7-
public boolean USE_CHAT, REQUIRE_PERMISSION;
7+
public boolean USE_CHAT, REQUIRE_PERMISSION, CHECK_FOR_UPDATES;
88
public String DATA_TYPE;
99

1010
public Config() {
@@ -15,5 +15,6 @@ public void loadConfig() {
1515
REQUIRE_PERMISSION = SimpleTags.getInstance().getConfigFile().getBoolean("require-permission");
1616
USE_CHAT = SimpleTags.getInstance().getConfigFile().getBoolean("use-chat");
1717
DATA_TYPE = SimpleTags.getInstance().getConfigFile().getString("data-type");
18+
CHECK_FOR_UPDATES = SimpleTags.getInstance().getConfigFile().getBoolean("check-for-updates");
1819
}
1920
}

src/main/java/me/refracdevelopment/simpletags/utilities/Permissions.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,5 @@ public class Permissions {
1010
public static final String VERSION_COMMAND = "simpletags.command.version";
1111
public static final String RELOAD_COMMAND = "simpletags.command.reload";
1212
public static final String SET_OTHER_COMMAND = "simpletags.command.set.other";
13-
public static final String RESET_COMMAND = "simpletags.command.reset";
1413

1514
}

src/main/java/me/refracdevelopment/simpletags/utilities/chat/RyMessageUtils.java

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,25 @@ public static void sendPlayer(Player player, String message) {
216216
if (message.equalsIgnoreCase("%empty%") || message.contains("%empty%") || message.isEmpty())
217217
return;
218218

219-
audiences.player(player).sendMessage(adventureTranslate(player, getPrefix() + message));
219+
if (audiences == null) player.sendMessage(translate(player, getPrefix() + message));
220+
else audiences.player(player).sendMessage(adventureTranslate(player, getPrefix() + message));
221+
}
222+
223+
/**
224+
* Send a player a message.
225+
*
226+
* @param player The player who you wish to receive the message.
227+
* @param message The message you wish to send the player.
228+
*/
229+
public static void sendPlayer(Player player, String message, boolean prefix) {
230+
if (message.equalsIgnoreCase("%empty%") || message.contains("%empty%") || message.isEmpty())
231+
return;
232+
233+
if (prefix)
234+
message = getPrefix() + message;
235+
236+
if (audiences == null) player.sendMessage(translate(player, message));
237+
else audiences.player(player).sendMessage(adventureTranslate(player, message));
220238
}
221239

222240
/**

src/main/resources/config.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,4 +32,9 @@ mysql:
3232
port: '3306'
3333
database: SimpleTags
3434
username: ''
35-
password: ''
35+
password: ''
36+
37+
# Check for updates on join
38+
# This uses the /tags version command permission
39+
# permission: simpletags.command.version
40+
check-for-updates: true

src/main/resources/locale/en_US.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# en_US translation by Refrac
22

33
# Plugin Message Prefix
4-
prefix: '<gradient:#8A2387:#E94057:#F27121:0>SimpleTags &8| &f'
4+
prefix: '<gradient:#8A2387:#E94057:#F27121:0>SimpleTags &8| &r'
55

66
# Generic Command Messages
77
usage: '/gems %cmd% %args%'

src/main/resources/locale/zh_CN.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# zh_CN 语言文件由ItsDApples翻译
22

33
# 插件信息前缀
4-
prefix: <gradient:#8A2387:#E94057:#F27121:0>SimpleTags &8| &f
4+
prefix: <gradient:#8A2387:#E94057:#F27121:0>SimpleTags &8| &r
55

66
# 消息 → 通用
77
usage: /gems %cmd% %args%

0 commit comments

Comments
 (0)