Skip to content

Commit 0888085

Browse files
committed
Refactor plugin update and restart logic
Replaces the updateAndRestart method with updatePlugin in AutoViaUpdater for BungeeCord, Spigot, and Velocity. The restart logic is now centralized and only triggers if any plugin was updated, improving code clarity and reducing duplication.
1 parent aa8da36 commit 0888085

3 files changed

Lines changed: 49 additions & 43 deletions

File tree

src/main/java/bungeecord/AutoViaUpdater.java

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -112,14 +112,21 @@ public void checkUpdateVias() {
112112
if (getProxy().getPluginManager().getPlugin("ViaRewind") == null) {
113113
updateBuildNumber("ViaRewind", -1);
114114
}
115-
if (isViaVersionEnabled) {
116-
updateAndRestart("ViaVersion", isViaVersionSnapshot, isViaVersionDev, isViaVersionJava8);
115+
boolean shouldRestart = false;
116+
if (isViaVersionEnabled && updatePlugin("ViaVersion", isViaVersionSnapshot, isViaVersionDev, isViaVersionJava8)) {
117+
shouldRestart = true;
117118
}
118-
if (isViaBackwardsEnabled) {
119-
updateAndRestart("ViaBackwards", isViaBackwardsSnapshot, isViaBackwardsDev, isViaBackwardsJava8);
119+
if (isViaBackwardsEnabled && updatePlugin("ViaBackwards", isViaBackwardsSnapshot, isViaBackwardsDev, isViaBackwardsJava8)) {
120+
shouldRestart = true;
120121
}
121-
if (isViaRewindEnabled) {
122-
updateAndRestart("ViaRewind", isViaRewindSnapshot, isViaRewindDev, isViaRewindJava8);
122+
if (isViaRewindEnabled && updatePlugin("ViaRewind", isViaRewindSnapshot, isViaRewindDev, isViaRewindJava8)) {
123+
shouldRestart = true;
124+
}
125+
if (shouldRestart && config.getBoolean("AutoRestart")) {
126+
String raw = config.getString("AutoRestart-Message");
127+
String colored = net.md_5.bungee.api.ChatColor.translateAlternateColorCodes('&', raw == null ? "" : raw);
128+
getProxy().broadcast(colored);
129+
getProxy().getScheduler().schedule(this, () -> getProxy().stop(), config.getLong("AutoRestart-Delay"), TimeUnit.SECONDS);
123130
}
124131
} catch (IOException e) {
125132
e.printStackTrace();
@@ -128,13 +135,8 @@ public void checkUpdateVias() {
128135
}
129136
}
130137

131-
private void updateAndRestart(String pluginName, boolean isSnapshot, boolean isDev, boolean isJava8) throws IOException {
132-
if (updateVia(pluginName, getDataFolder().getParent(), isSnapshot, isDev, isJava8) && config.getBoolean("AutoRestart")) {
133-
String raw = config.getString("AutoRestart-Message");
134-
String colored = net.md_5.bungee.api.ChatColor.translateAlternateColorCodes('&', raw == null ? "" : raw);
135-
getProxy().broadcast(colored);
136-
getProxy().getScheduler().schedule(this, () -> getProxy().stop(), config.getLong("AutoRestart-Delay"), TimeUnit.SECONDS);
137-
}
138+
private boolean updatePlugin(String pluginName, boolean isSnapshot, boolean isDev, boolean isJava8) throws IOException {
139+
return updateVia(pluginName, getDataFolder().getParent(), isSnapshot, isDev, isJava8);
138140
}
139141

140142
public class UpdateCommand extends Command {

src/main/java/spigot/AutoViaUpdater.java

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -110,17 +110,24 @@ public void checkUpdateVias() {
110110
if (!hasVB.get()) updateBuildNumber("ViaBackwards", -1);
111111
if (!hasVR.get()) updateBuildNumber("ViaRewind", -1);
112112
if (!hasVRL.get()) updateBuildNumber("ViaRewind%20Legacy%20Support", -1);
113-
if (isViaVersionEnabled) {
114-
updateAndRestart("ViaVersion", isViaVersionSnapshot, isViaVersionDev, isViaVersionJava8);
113+
boolean shouldRestart = false;
114+
if (isViaVersionEnabled && updatePlugin("ViaVersion", isViaVersionSnapshot, isViaVersionDev, isViaVersionJava8)) {
115+
shouldRestart = true;
115116
}
116-
if (isViaBackwardsEnabled) {
117-
updateAndRestart("ViaBackwards", isViaBackwardsSnapshot, isViaBackwardsDev, isViaBackwardsJava8);
117+
if (isViaBackwardsEnabled && updatePlugin("ViaBackwards", isViaBackwardsSnapshot, isViaBackwardsDev, isViaBackwardsJava8)) {
118+
shouldRestart = true;
118119
}
119-
if (isViaRewindEnabled) {
120-
updateAndRestart("ViaRewind", isViaRewindSnapshot, isViaRewindDev, isViaRewindJava8);
120+
if (isViaRewindEnabled && updatePlugin("ViaRewind", isViaRewindSnapshot, isViaRewindDev, isViaRewindJava8)) {
121+
shouldRestart = true;
121122
}
122-
if (isViaRewindLegacyEnabled) {
123-
updateAndRestart("ViaRewind%20Legacy%20Support", isViaRewindLegacySnapshot, isViaRewindLegacyDev, false);
123+
if (isViaRewindLegacyEnabled && updatePlugin("ViaRewind%20Legacy%20Support", isViaRewindLegacySnapshot, isViaRewindLegacyDev, false)) {
124+
shouldRestart = true;
125+
}
126+
if (shouldRestart && config.getBoolean("AutoRestart")) {
127+
String raw = config.getString("AutoRestart-Message");
128+
String msg = org.bukkit.ChatColor.translateAlternateColorCodes('&', raw == null ? "" : raw);
129+
SchedulerAdapter.runGlobal(this, () -> Bukkit.broadcastMessage(msg));
130+
SchedulerAdapter.runGlobalDelayed(this, Bukkit::shutdown, config.getLong("AutoRestart-Delay") * 20L);
124131
}
125132
} catch (IOException e) {
126133
e.printStackTrace();
@@ -129,13 +136,8 @@ public void checkUpdateVias() {
129136
}
130137
}
131138

132-
private void updateAndRestart(String pluginName, boolean isSnapshot, boolean isDev, boolean isJava8) throws IOException {
133-
if (updateVia(pluginName, getDataFolder().getParent(), isSnapshot, isDev, isJava8) && getConfig().getBoolean("AutoRestart")) {
134-
String raw = config.getString("AutoRestart-Message");
135-
String msg = org.bukkit.ChatColor.translateAlternateColorCodes('&', raw == null ? "" : raw);
136-
SchedulerAdapter.runGlobal(this, () -> Bukkit.broadcastMessage(msg));
137-
SchedulerAdapter.runGlobalDelayed(this, Bukkit::shutdown, config.getLong("AutoRestart-Delay") * 20L);
138-
}
139+
private boolean updatePlugin(String pluginName, boolean isSnapshot, boolean isDev, boolean isJava8) throws IOException {
140+
return updateVia(pluginName, getDataFolder().getParent(), isSnapshot, isDev, isJava8);
139141
}
140142

141143
public void loadConfiguration() {

src/main/java/velocity/AutoViaUpdater.java

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -130,14 +130,23 @@ public void checkUpdateVias() {
130130
if (proxy.getPluginManager().getPlugin("viarewind").orElse(null) == null) {
131131
updateBuildNumber("ViaRewind", -1);
132132
}
133-
if (isViaVersionEnabled) {
134-
updateAndRestart("ViaVersion", isViaVersionSnapshot, isViaVersionDev, isViaVersionJava8);
133+
boolean shouldRestart = false;
134+
if (isViaVersionEnabled && updatePlugin("ViaVersion", isViaVersionSnapshot, isViaVersionDev, isViaVersionJava8)) {
135+
shouldRestart = true;
135136
}
136-
if (isViaBackwardsEnabled) {
137-
updateAndRestart("ViaBackwards", isViaBackwardsSnapshot, isViaBackwardsDev, isViaBackwardsJava8);
137+
if (isViaBackwardsEnabled && updatePlugin("ViaBackwards", isViaBackwardsSnapshot, isViaBackwardsDev, isViaBackwardsJava8)) {
138+
shouldRestart = true;
138139
}
139-
if (isViaRewindEnabled) {
140-
updateAndRestart("ViaRewind", isViaRewindSnapshot, isViaRewindDev, isViaRewindJava8);
140+
if (isViaRewindEnabled && updatePlugin("ViaRewind", isViaRewindSnapshot, isViaRewindDev, isViaRewindJava8)) {
141+
shouldRestart = true;
142+
}
143+
if (shouldRestart && config.getBoolean("AutoRestart")) {
144+
String raw = config.getString("AutoRestart-Message");
145+
Component msg = LegacyComponentSerializer.legacyAmpersand().deserialize(raw == null ? "" : raw);
146+
proxy.sendMessage(msg);
147+
proxy.getScheduler().buildTask(this, proxy::shutdown)
148+
.delay(Duration.ofSeconds(config.getLong("AutoRestart-Delay")))
149+
.schedule();
141150
}
142151
} catch (IOException e) {
143152
e.printStackTrace();
@@ -146,15 +155,8 @@ public void checkUpdateVias() {
146155
}
147156
}
148157

149-
private void updateAndRestart(String pluginName, boolean isSnapshot, boolean isDev, boolean isJava8) throws IOException {
150-
if (updateVia(pluginName, dataDirectory.getParent().toString(), isSnapshot, isDev, isJava8) && config.getBoolean("AutoRestart")) {
151-
String raw = config.getString("AutoRestart-Message");
152-
Component msg = LegacyComponentSerializer.legacyAmpersand().deserialize(raw == null ? "" : raw);
153-
proxy.sendMessage(msg);
154-
proxy.getScheduler().buildTask(this, proxy::shutdown)
155-
.delay(Duration.ofSeconds(config.getLong("AutoRestart-Delay")))
156-
.schedule();
157-
}
158+
private boolean updatePlugin(String pluginName, boolean isSnapshot, boolean isDev, boolean isJava8) throws IOException {
159+
return updateVia(pluginName, dataDirectory.getParent().toString(), isSnapshot, isDev, isJava8);
158160
}
159161

160162
private Toml loadConfig(Path path) {

0 commit comments

Comments
 (0)