Added OP Player JoinEvent nofication when update available
This commit is contained in:
1 parent
6c19c18523
commit
4ee6495006
3 files changed
+91
-1
No files matched your search
@@ -24,6 +24,7 @@ public class RSServerAdmin extends JavaPlugin {
|
|||||||
private WorldsDAO worldsDAO;
|
private WorldsDAO worldsDAO;
|
||||||
private CreeperSettingsDAO creeperSettingsDAO;
|
private CreeperSettingsDAO creeperSettingsDAO;
|
||||||
private MobEquipmentDropSettingsDAO equipmentDropSettingsDAO;
|
private MobEquipmentDropSettingsDAO equipmentDropSettingsDAO;
|
||||||
|
private GitHubUpdateChecker gitHubUpdateChecker;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onEnable() {
|
public void onEnable() {
|
||||||
@@ -156,6 +157,11 @@ public class RSServerAdmin extends JavaPlugin {
|
|||||||
this
|
this
|
||||||
);
|
);
|
||||||
|
|
||||||
|
getServer().getPluginManager().registerEvents(
|
||||||
|
new UpdateNotificationListener(),
|
||||||
|
this
|
||||||
|
);
|
||||||
|
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
|
|
||||||
getLogger().log(
|
getLogger().log(
|
||||||
@@ -169,9 +175,12 @@ public class RSServerAdmin extends JavaPlugin {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gitHubUpdateChecker =
|
||||||
new GitHubUpdateChecker(
|
new GitHubUpdateChecker(
|
||||||
this
|
this
|
||||||
).checkForUpdates();
|
);
|
||||||
|
|
||||||
|
gitHubUpdateChecker.checkForUpdates();
|
||||||
|
|
||||||
getLogger().info("RS-ServerAdmin enabled.");
|
getLogger().info("RS-ServerAdmin enabled.");
|
||||||
}
|
}
|
||||||
@@ -217,5 +226,10 @@ public class RSServerAdmin extends JavaPlugin {
|
|||||||
return equipmentDropSettingsDAO;
|
return equipmentDropSettingsDAO;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
public GitHubUpdateChecker getGitHubUpdateChecker() {
|
||||||
|
|
||||||
|
return gitHubUpdateChecker;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,55 @@
|
|||||||
|
package com.rsscripting.serveradmin.listeners;
|
||||||
|
|
||||||
|
import com.rsscripting.serveradmin.RSServerAdmin;
|
||||||
|
import com.rsscripting.serveradmin.update.GitHubUpdateChecker;
|
||||||
|
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.event.EventHandler;
|
||||||
|
import org.bukkit.event.Listener;
|
||||||
|
import org.bukkit.event.player.PlayerJoinEvent;
|
||||||
|
|
||||||
|
public class UpdateNotificationListener
|
||||||
|
implements Listener {
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void onPlayerJoin(
|
||||||
|
PlayerJoinEvent event
|
||||||
|
) {
|
||||||
|
|
||||||
|
Player player =
|
||||||
|
event.getPlayer();
|
||||||
|
|
||||||
|
if (!player.isOp()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
GitHubUpdateChecker checker =
|
||||||
|
RSServerAdmin.getInstance()
|
||||||
|
.getGitHubUpdateChecker();
|
||||||
|
|
||||||
|
if (checker == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!checker.isUpdateAvailable()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
player.sendMessage(
|
||||||
|
ChatColor.YELLOW
|
||||||
|
+ "[RS-ServerAdmin] "
|
||||||
|
+ ChatColor.GOLD
|
||||||
|
+ "Update Available! "
|
||||||
|
+ ChatColor.GRAY
|
||||||
|
+ "Current: "
|
||||||
|
+ RSServerAdmin.getInstance()
|
||||||
|
.getDescription()
|
||||||
|
.getVersion()
|
||||||
|
+ " Latest: "
|
||||||
|
+ checker.getLatestVersionFound()
|
||||||
|
);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -11,6 +11,8 @@ public class GitHubUpdateChecker {
|
|||||||
|
|
||||||
private final JavaPlugin plugin;
|
private final JavaPlugin plugin;
|
||||||
private final String pomUrl;
|
private final String pomUrl;
|
||||||
|
private volatile boolean updateAvailable = false;
|
||||||
|
private volatile String latestVersion = null;
|
||||||
|
|
||||||
private static final String POM_URL =
|
private static final String POM_URL =
|
||||||
"https://raw.githubusercontent.com/RS-Scripting/RS-ServerAdmin/main/pom.xml";
|
"https://raw.githubusercontent.com/RS-Scripting/RS-ServerAdmin/main/pom.xml";
|
||||||
@@ -55,12 +57,19 @@ public class GitHubUpdateChecker {
|
|||||||
latestVersion
|
latestVersion
|
||||||
)) {
|
)) {
|
||||||
|
|
||||||
|
updateAvailable = false;
|
||||||
|
|
||||||
plugin.getLogger().info(
|
plugin.getLogger().info(
|
||||||
"RS-ServerAdmin is up to date."
|
"RS-ServerAdmin is up to date."
|
||||||
);
|
);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
|
updateAvailable = true;
|
||||||
|
|
||||||
|
this.latestVersion =
|
||||||
|
latestVersion;
|
||||||
|
|
||||||
plugin.getLogger().warning(
|
plugin.getLogger().warning(
|
||||||
"Update available! Current: "
|
"Update available! Current: "
|
||||||
+ currentVersion
|
+ currentVersion
|
||||||
@@ -118,4 +127,16 @@ public class GitHubUpdateChecker {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isUpdateAvailable() {
|
||||||
|
|
||||||
|
return updateAvailable;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getLatestVersionFound() {
|
||||||
|
|
||||||
|
return latestVersion;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
Reference in new issue
Block a user