3
0
KCauldronX/src/main/java/kcauldron/updater/DefaultUpdateCallback.java

88 lines
2.7 KiB
Java
Raw Normal View History

2015-05-31 11:21:26 +00:00
package kcauldron.updater;
import kcauldron.KCauldron;
import kcauldron.KCauldronCommand;
import kcauldron.updater.KVersionRetriever.IVersionCheckCallback;
import net.minecraft.server.MinecraftServer;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
2015-05-31 11:21:26 +00:00
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.player.PlayerJoinEvent;
public class DefaultUpdateCallback implements IVersionCheckCallback {
2015-06-27 09:32:21 +00:00
public static DefaultUpdateCallback INSTANCE;
2015-05-31 11:21:26 +00:00
2015-06-27 09:32:21 +00:00
static {
2015-06-27 12:47:27 +00:00
INSTANCE = new DefaultUpdateCallback();
2015-06-27 09:32:21 +00:00
}
2015-05-31 11:21:26 +00:00
2015-06-27 09:32:21 +00:00
public void onPlayerJoin(PlayerJoinEvent event) {
2015-06-27 12:47:27 +00:00
Player player = event.getPlayer();
if (hasPermission(player)) {
2017-07-22 11:55:46 +00:00
/*
if (KCauldron.isLegacy()) {
player.sendMessage(ChatColor.YELLOW + "We're running on legacy version on KCauldron, please update your version");
}
if (!KCauldron.isOfficial()) {
player.sendMessage(ChatColor.YELLOW + "We're running on non-official version on KCauldron, please update your version");
}
if (mHasUpdate) {
sendUpdate(player);
}
2017-07-22 11:55:46 +00:00
*/
2015-06-27 12:47:27 +00:00
}
2015-06-27 09:32:21 +00:00
}
2015-05-31 11:21:26 +00:00
2015-06-27 09:32:21 +00:00
private boolean hasPermission(CommandSender player) {
return player.hasPermission(KCauldronCommand.UPDATE) || player.isOp();
2015-06-27 09:32:21 +00:00
}
2015-05-31 11:21:26 +00:00
2015-06-27 09:32:21 +00:00
private void sendUpdate(CommandSender player) {
2015-06-27 12:47:27 +00:00
CommandSenderUpdateCallback.newVersion(player, mCurrentVersion,
mNewVersion);
2015-06-27 09:32:21 +00:00
}
2015-05-31 11:21:26 +00:00
2015-06-27 09:32:21 +00:00
private boolean mHasUpdate;
private String mCurrentVersion;
private String mNewVersion;
2015-05-31 11:21:26 +00:00
2015-06-27 09:32:21 +00:00
private DefaultUpdateCallback() {
}
2015-05-31 11:21:26 +00:00
2015-06-27 09:32:21 +00:00
@Override
public void upToDate() {
2015-06-27 12:47:27 +00:00
mHasUpdate = false;
mCurrentVersion = KCauldron.getCurrentVersion();
mNewVersion = null;
2015-06-27 09:32:21 +00:00
}
2015-05-31 11:21:26 +00:00
2015-06-27 09:32:21 +00:00
@Override
public void newVersion(String newVersion) {
2015-06-27 12:47:27 +00:00
mCurrentVersion = KCauldron.getCurrentVersion();
mNewVersion = newVersion;
if (!mHasUpdate) {
Bukkit.getConsoleSender().sendMessage(
"New version of KCauldron avaiable: " + newVersion);
for (Player player : Bukkit.getOnlinePlayers()) {
if (hasPermission(player)) {
sendUpdate(player);
}
}
}
mHasUpdate = true;
if (MinecraftServer.kcauldronConfig.updatecheckerAutoinstall.getValue()
&& !mNewVersion.equals(KCauldron.sNewServerVersion)
&& !KCauldron.sUpdateInProgress) {
Bukkit.getConsoleSender().sendMessage("Triggering auto update");
KCauldronUpdater.initUpdate(Bukkit.getConsoleSender(), newVersion);
}
2015-06-27 09:32:21 +00:00
}
2015-05-31 11:21:26 +00:00
2015-06-27 09:32:21 +00:00
@Override
public void error(Throwable t) {
2015-05-31 11:21:26 +00:00
2015-06-27 09:32:21 +00:00
}
2015-05-31 11:21:26 +00:00
}