Skip to content

Commit c87c1e6

Browse files
committed
Refactor config reload and update logic for Via plugins
Moved plugin settings initialization into a reloadSettings() method for BungeeCord, Spigot, and Velocity, and now reload settings before update checks. Refactored UpdateVias to use consistent plugin key handling for Dev and Java8 builds, improving build tracking and artifact naming. Simplified updateAndRestart to use pluginName directly, ensuring correct update logic and restart messaging.
1 parent b5feb47 commit c87c1e6

4 files changed

Lines changed: 84 additions & 62 deletions

File tree

src/main/java/bungeecord/AutoViaUpdater.java

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -43,18 +43,7 @@ public void onEnable() {
4343
saveDefaultConfig();
4444
loadConfiguration();
4545
createYamlFile(getDataFolder().getAbsolutePath(), true);
46-
isViaVersionEnabled = config.getBoolean("ViaVersion.enabled", true);
47-
isViaVersionSnapshot = config.getBoolean("ViaVersion.snapshot", true);
48-
isViaVersionDev = config.getBoolean("ViaVersion.dev", false);
49-
isViaVersionJava8 = config.getBoolean("ViaVersion.java8", false);
50-
isViaBackwardsEnabled = config.getBoolean("ViaBackwards.enabled", true);
51-
isViaBackwardsSnapshot = config.getBoolean("ViaBackwards.snapshot", true);
52-
isViaBackwardsDev = config.getBoolean("ViaBackwards.dev", false);
53-
isViaBackwardsJava8 = config.getBoolean("ViaBackwards.java8", false);
54-
isViaRewindEnabled = config.getBoolean("ViaRewind.enabled", true);
55-
isViaRewindSnapshot = config.getBoolean("ViaRewind.snapshot", true);
56-
isViaRewindDev = config.getBoolean("ViaRewind.dev", false);
57-
isViaRewindJava8 = config.getBoolean("ViaRewind.java8", false);
46+
reloadSettings();
5847
updateChecker();
5948
ProxyServer.getInstance().getPluginManager().registerCommand(this, new UpdateCommand());
6049
}
@@ -94,9 +83,26 @@ private void loadConfiguration() {
9483
}
9584
}
9685

86+
private void reloadSettings() {
87+
loadConfiguration();
88+
isViaVersionEnabled = config.getBoolean("ViaVersion.enabled", true);
89+
isViaVersionSnapshot = config.getBoolean("ViaVersion.snapshot", true);
90+
isViaVersionDev = config.getBoolean("ViaVersion.dev", false);
91+
isViaVersionJava8 = config.getBoolean("ViaVersion.java8", false);
92+
isViaBackwardsEnabled = config.getBoolean("ViaBackwards.enabled", true);
93+
isViaBackwardsSnapshot = config.getBoolean("ViaBackwards.snapshot", true);
94+
isViaBackwardsDev = config.getBoolean("ViaBackwards.dev", false);
95+
isViaBackwardsJava8 = config.getBoolean("ViaBackwards.java8", false);
96+
isViaRewindEnabled = config.getBoolean("ViaRewind.enabled", true);
97+
isViaRewindSnapshot = config.getBoolean("ViaRewind.snapshot", true);
98+
isViaRewindDev = config.getBoolean("ViaRewind.dev", false);
99+
isViaRewindJava8 = config.getBoolean("ViaRewind.java8", false);
100+
}
101+
97102
public void checkUpdateVias() {
98103
if (!isChecking.compareAndSet(false, true)) return;
99104
try {
105+
reloadSettings();
100106
if (getProxy().getPluginManager().getPlugin("ViaVersion") == null) {
101107
updateBuildNumber("ViaVersion", -1);
102108
}
@@ -123,8 +129,7 @@ public void checkUpdateVias() {
123129
}
124130

125131
private void updateAndRestart(String pluginName, boolean isSnapshot, boolean isDev, boolean isJava8) throws IOException {
126-
String pluginKey = isDev ? pluginName + "-Dev" : (isJava8 ? pluginName + "-Java8" : pluginName);
127-
if (updateVia(pluginKey, getDataFolder().getParent(), isSnapshot, isDev, isJava8) && config.getBoolean("AutoRestart")) {
132+
if (updateVia(pluginName, getDataFolder().getParent(), isSnapshot, isDev, isJava8) && config.getBoolean("AutoRestart")) {
128133
String raw = config.getString("AutoRestart-Message");
129134
String colored = net.md_5.bungee.api.ChatColor.translateAlternateColorCodes('&', raw == null ? "" : raw);
130135
getProxy().broadcast(colored);

src/main/java/common/UpdateVias.java

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,14 @@ public class UpdateVias {
2121
public static boolean updateVia(String viaName, String dataDirectory, boolean wantSnapshot, boolean isDev, boolean isJava8) throws IOException {
2222
directory = dataDirectory;
2323

24-
String base = viaName;
25-
String jobName = base;
26-
if (isDev) {
27-
jobName = base + "-DEV";
28-
} else if (isJava8) {
29-
jobName = base + "-Java8";
24+
String jobName = viaName;
25+
String buildKey = viaName;
26+
if (isJava8) {
27+
jobName = viaName + "-Java8";
28+
buildKey = viaName + "-Java8";
29+
} else if (isDev) {
30+
jobName = viaName + "-DEV";
31+
buildKey = viaName + "-Dev";
3032
}
3133

3234
int latestBuild = getLatestBuild(jobName, wantSnapshot);
@@ -35,15 +37,17 @@ public static boolean updateVia(String viaName, String dataDirectory, boolean wa
3537
return false;
3638
}
3739

38-
if (getDownloadedBuild(viaName) == -1) {
39-
downloadUpdate(jobName, latestBuild, viaName);
40-
updateBuildNumber(viaName, latestBuild);
41-
System.out.println(viaName + " was downloaded for the first time. " + "Please restart to let the plugin take effect.");
40+
String localFileName = buildKey.replace("%20", "-");
41+
42+
if (getDownloadedBuild(buildKey) == -1) {
43+
downloadUpdate(jobName, latestBuild, localFileName);
44+
updateBuildNumber(buildKey, latestBuild);
45+
System.out.println(localFileName + " was downloaded for the first time. " + "Please restart to let the plugin take effect.");
4246
return true;
4347

44-
} else if (getDownloadedBuild(viaName) != latestBuild) {
45-
downloadUpdate(jobName, latestBuild, viaName);
46-
updateBuildNumber(viaName, latestBuild);
48+
} else if (getDownloadedBuild(buildKey) != latestBuild) {
49+
downloadUpdate(jobName, latestBuild, localFileName);
50+
updateBuildNumber(buildKey, latestBuild);
4751
return true;
4852
}
4953

@@ -55,14 +59,17 @@ private static int getLatestBuild(String jobName, boolean wantSnapshot) throws I
5559
ArrayNode builds = (ArrayNode) readJson(listUrl).get("builds");
5660
if (builds == null) return -1;
5761

62+
int snapshotBuild = -1;
5863
for (JsonNode b : builds) {
5964
int num = b.get("number").asInt();
6065
String file = getArtifactFileName(jobName, num);
6166
if (file == null) continue;
6267
boolean isSnap = file.contains("-SNAPSHOT");
63-
if (wantSnapshot == isSnap) return num;
68+
if (!wantSnapshot && !isSnap) return num;
69+
if (wantSnapshot && isSnap) return num;
70+
if (isSnap && snapshotBuild == -1) snapshotBuild = num;
6471
}
65-
return -1;
72+
return !wantSnapshot ? snapshotBuild : -1;
6673
}
6774

6875
private static String getArtifactFileName(String jobName, int build) throws IOException {
@@ -92,7 +99,6 @@ private static void downloadUpdate(String jobName, int build, String localName)
9299
f.getName().toLowerCase().contains(
93100
localName.toLowerCase()
94101
.replace("-dev", "")
95-
.replace("%20", "-")
96102
.replace("-java8", ""))) {
97103
outPath = directory + "/update/" + localName + ".jar";
98104
break;

src/main/java/spigot/AutoViaUpdater.java

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -45,21 +45,7 @@ public void onEnable() {
4545
new Metrics(this, 18603);
4646
loadConfiguration();
4747
createYamlFile(getDataFolder().getAbsolutePath(), false);
48-
isViaVersionEnabled = getConfig().getBoolean("ViaVersion.enabled");
49-
isViaVersionDev = getConfig().getBoolean("ViaVersion.dev", false);
50-
isViaVersionSnapshot = getConfig().getBoolean("ViaVersion.snapshot", true);
51-
isViaVersionJava8 = getConfig().getBoolean("ViaVersion.java8", false);
52-
isViaBackwardsEnabled = getConfig().getBoolean("ViaBackwards.enabled");
53-
isViaBackwardsDev = getConfig().getBoolean("ViaBackwards.dev", false);
54-
isViaBackwardsSnapshot = getConfig().getBoolean("ViaBackwards.snapshot", true);
55-
isViaBackwardsJava8 = getConfig().getBoolean("ViaBackwards.java8", false);
56-
isViaRewindEnabled = getConfig().getBoolean("ViaRewind.enabled");
57-
isViaRewindDev = getConfig().getBoolean("ViaRewind.dev", false);
58-
isViaRewindSnapshot = getConfig().getBoolean("ViaRewind.snapshot", true);
59-
isViaRewindJava8 = getConfig().getBoolean("ViaRewind.java8", false);
60-
isViaRewindLegacyEnabled = getConfig().getBoolean("ViaRewind-Legacy.enabled");
61-
isViaRewindLegacyDev = getConfig().getBoolean("ViaRewind-Legacy.dev", false);
62-
isViaRewindLegacySnapshot = getConfig().getBoolean("ViaRewind-Legacy.snapshot", true);
48+
reloadSettings();
6349
ThreadFactory tf = r -> {
6450
Thread t = new Thread(r, "AutoViaUpdater-Worker");
6551
t.setDaemon(true);
@@ -86,9 +72,30 @@ public void updateChecker() {
8672
}
8773
}
8874

75+
private void reloadSettings() {
76+
reloadConfig();
77+
config = getConfig();
78+
isViaVersionEnabled = config.getBoolean("ViaVersion.enabled");
79+
isViaVersionDev = config.getBoolean("ViaVersion.dev", false);
80+
isViaVersionSnapshot = config.getBoolean("ViaVersion.snapshot", true);
81+
isViaVersionJava8 = config.getBoolean("ViaVersion.java8", false);
82+
isViaBackwardsEnabled = config.getBoolean("ViaBackwards.enabled");
83+
isViaBackwardsDev = config.getBoolean("ViaBackwards.dev", false);
84+
isViaBackwardsSnapshot = config.getBoolean("ViaBackwards.snapshot", true);
85+
isViaBackwardsJava8 = config.getBoolean("ViaBackwards.java8", false);
86+
isViaRewindEnabled = config.getBoolean("ViaRewind.enabled");
87+
isViaRewindDev = config.getBoolean("ViaRewind.dev", false);
88+
isViaRewindSnapshot = config.getBoolean("ViaRewind.snapshot", true);
89+
isViaRewindJava8 = config.getBoolean("ViaRewind.java8", false);
90+
isViaRewindLegacyEnabled = config.getBoolean("ViaRewind-Legacy.enabled");
91+
isViaRewindLegacyDev = config.getBoolean("ViaRewind-Legacy.dev", false);
92+
isViaRewindLegacySnapshot = config.getBoolean("ViaRewind-Legacy.snapshot", true);
93+
}
94+
8995
public void checkUpdateVias() {
9096
if (!isChecking.compareAndSet(false, true)) return;
9197
try {
98+
reloadSettings();
9299
AtomicBoolean hasVV = new AtomicBoolean(false);
93100
AtomicBoolean hasVB = new AtomicBoolean(false);
94101
AtomicBoolean hasVR = new AtomicBoolean(false);
@@ -123,8 +130,7 @@ public void checkUpdateVias() {
123130
}
124131

125132
private void updateAndRestart(String pluginName, boolean isSnapshot, boolean isDev, boolean isJava8) throws IOException {
126-
String pluginKey = isDev ? pluginName + "-Dev" : (isJava8 ? pluginName + "-Java8" : pluginName);
127-
if (updateVia(pluginKey, getDataFolder().getParent(), isSnapshot, isDev, isJava8) && getConfig().getBoolean("AutoRestart")) {
133+
if (updateVia(pluginName, getDataFolder().getParent(), isSnapshot, isDev, isJava8) && getConfig().getBoolean("AutoRestart")) {
128134
String raw = config.getString("AutoRestart-Message");
129135
String msg = org.bukkit.ChatColor.translateAlternateColorCodes('&', raw == null ? "" : raw);
130136
SchedulerAdapter.runGlobal(this, () -> Bukkit.broadcastMessage(msg));

src/main/java/velocity/AutoViaUpdater.java

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
})
3737
public final class AutoViaUpdater {
3838

39-
private final Toml config;
39+
private Toml config;
4040
private final ProxyServer proxy;
4141
private File myFile;
4242
private final Path dataDirectory;
@@ -68,18 +68,7 @@ public AutoViaUpdater(ProxyServer proxy, @DataDirectory Path dataDirectory, Metr
6868
public void onProxyInitialize(ProxyInitializeEvent event) {
6969
createYamlFile(dataDirectory.toAbsolutePath().toString(), true);
7070
metricsFactory.make(this, 18604);
71-
isViaVersionEnabled = getTomlBoolean("ViaVersion", "enabled", true);
72-
isViaVersionSnapshot = getTomlBoolean("ViaVersion", "snapshot", true);
73-
isViaVersionDev = getTomlBoolean("ViaVersion", "dev", false);
74-
isViaVersionJava8 = getTomlBoolean("ViaVersion", "java8", false);
75-
isViaBackwardsEnabled = getTomlBoolean("ViaBackwards", "enabled", true);
76-
isViaBackwardsSnapshot = getTomlBoolean("ViaBackwards", "snapshot", true);
77-
isViaBackwardsDev = getTomlBoolean("ViaBackwards", "dev", false);
78-
isViaBackwardsJava8 = getTomlBoolean("ViaBackwards", "java8", false);
79-
isViaRewindEnabled = getTomlBoolean("ViaRewind", "enabled", true);
80-
isViaRewindSnapshot = getTomlBoolean("ViaRewind", "snapshot", true);
81-
isViaRewindDev = getTomlBoolean("ViaRewind", "dev", false);
82-
isViaRewindJava8 = getTomlBoolean("ViaRewind", "java8", false);
71+
reloadSettings();
8372
updateChecker();
8473
CommandManager commandManager = proxy.getCommandManager();
8574
CommandMeta commandMeta = commandManager.metaBuilder("updatevias")
@@ -112,9 +101,26 @@ public void updateChecker() {
112101
}
113102

114103

104+
private void reloadSettings() {
105+
config = loadConfig(dataDirectory);
106+
isViaVersionEnabled = getTomlBoolean("ViaVersion", "enabled", true);
107+
isViaVersionSnapshot = getTomlBoolean("ViaVersion", "snapshot", true);
108+
isViaVersionDev = getTomlBoolean("ViaVersion", "dev", false);
109+
isViaVersionJava8 = getTomlBoolean("ViaVersion", "java8", false);
110+
isViaBackwardsEnabled = getTomlBoolean("ViaBackwards", "enabled", true);
111+
isViaBackwardsSnapshot = getTomlBoolean("ViaBackwards", "snapshot", true);
112+
isViaBackwardsDev = getTomlBoolean("ViaBackwards", "dev", false);
113+
isViaBackwardsJava8 = getTomlBoolean("ViaBackwards", "java8", false);
114+
isViaRewindEnabled = getTomlBoolean("ViaRewind", "enabled", true);
115+
isViaRewindSnapshot = getTomlBoolean("ViaRewind", "snapshot", true);
116+
isViaRewindDev = getTomlBoolean("ViaRewind", "dev", false);
117+
isViaRewindJava8 = getTomlBoolean("ViaRewind", "java8", false);
118+
}
119+
115120
public void checkUpdateVias() {
116121
if (!isChecking.compareAndSet(false, true)) return;
117122
try {
123+
reloadSettings();
118124
if (proxy.getPluginManager().getPlugin("viaversion").orElse(null) == null) {
119125
updateBuildNumber("ViaVersion", -1);
120126
}
@@ -141,8 +147,7 @@ public void checkUpdateVias() {
141147
}
142148

143149
private void updateAndRestart(String pluginName, boolean isSnapshot, boolean isDev, boolean isJava8) throws IOException {
144-
String pluginKey = isDev ? pluginName + "-Dev" : (isJava8 ? pluginName + "-Java8" : pluginName);
145-
if (updateVia(pluginKey, dataDirectory.getParent().toString(), isSnapshot, isDev, isJava8) && config.getBoolean("AutoRestart")) {
150+
if (updateVia(pluginName, dataDirectory.getParent().toString(), isSnapshot, isDev, isJava8) && config.getBoolean("AutoRestart")) {
146151
String raw = config.getString("AutoRestart-Message");
147152
Component msg = LegacyComponentSerializer.legacyAmpersand().deserialize(raw == null ? "" : raw);
148153
proxy.sendMessage(msg);

0 commit comments

Comments
 (0)