mirror of
https://github.com/MightyPirates/OpenComputers.git
synced 2025-09-25 14:05:39 -04:00
Merge pull request #57 from GTNewHorizons/feature/versionChecker
remove version checker
This commit is contained in:
commit
f546e0f716
@ -207,14 +207,6 @@ object EventHandler {
|
||||
}
|
||||
ServerPacketSender.sendPetVisibility(None, Some(player))
|
||||
ServerPacketSender.sendLootDisks(player)
|
||||
// Do update check in local games and for OPs.
|
||||
if (!Mods.VersionChecker.isAvailable && (!MinecraftServer.getServer.isDedicatedServer || MinecraftServer.getServer.getConfigurationManager.func_152596_g(player.getGameProfile))) {
|
||||
Future {
|
||||
UpdateCheck.info onSuccess {
|
||||
case Some(release) => player.addChatMessage(Localization.Chat.InfoNewVersion(release.tag_name))
|
||||
}
|
||||
}
|
||||
}
|
||||
case _ =>
|
||||
}
|
||||
}
|
||||
|
@ -129,7 +129,6 @@ object Mods {
|
||||
integration.tis3d.ModTIS3D,
|
||||
integration.tmechworks.ModTMechworks,
|
||||
integration.vanilla.ModVanilla,
|
||||
integration.versionchecker.ModVersionChecker,
|
||||
integration.waila.ModWaila,
|
||||
integration.wrcbe.ModWRCBE,
|
||||
integration.wrsve.ModWRSVE,
|
||||
|
@ -1,28 +0,0 @@
|
||||
package li.cil.oc.integration.versionchecker
|
||||
|
||||
import cpw.mods.fml.common.event.FMLInterModComms
|
||||
import li.cil.oc.OpenComputers
|
||||
import li.cil.oc.integration.ModProxy
|
||||
import li.cil.oc.integration.Mods
|
||||
import li.cil.oc.util.UpdateCheck
|
||||
import net.minecraft.nbt.NBTTagCompound
|
||||
|
||||
import scala.concurrent.ExecutionContext.Implicits.global
|
||||
|
||||
object ModVersionChecker extends ModProxy {
|
||||
override def getMod = Mods.VersionChecker
|
||||
|
||||
override def initialize() {
|
||||
UpdateCheck.info onSuccess {
|
||||
case Some(release) =>
|
||||
val nbt = new NBTTagCompound()
|
||||
nbt.setString("newVersion", release.tag_name)
|
||||
nbt.setString("updateUrl", "https://github.com/MightyPirates/OpenComputers/releases")
|
||||
nbt.setBoolean("isDirectLink", false)
|
||||
if (release.body != null) {
|
||||
nbt.setString("changeLog", release.body.replaceAll("\r\n", "\n"))
|
||||
}
|
||||
FMLInterModComms.sendRuntimeMessage(OpenComputers.ID, Mods.IDs.VersionChecker, "addUpdate", nbt)
|
||||
}
|
||||
}
|
||||
}
|
@ -1,63 +0,0 @@
|
||||
package li.cil.oc.util
|
||||
|
||||
import java.io.InputStreamReader
|
||||
import java.net.URL
|
||||
|
||||
import com.google.gson.Gson
|
||||
import com.google.gson.stream.JsonReader
|
||||
import cpw.mods.fml.common.Loader
|
||||
import cpw.mods.fml.common.versioning.ComparableVersion
|
||||
import li.cil.oc.OpenComputers
|
||||
import li.cil.oc.Settings
|
||||
|
||||
import scala.collection.mutable
|
||||
import scala.concurrent.ExecutionContext.Implicits.global
|
||||
import scala.concurrent.Future
|
||||
|
||||
object UpdateCheck {
|
||||
private val releasesUrl = new URL("https://api.github.com/repos/MightyPirates/OpenComputers/releases")
|
||||
|
||||
var info = Future {
|
||||
initialize()
|
||||
}
|
||||
|
||||
private def initialize(): Option[Release] = {
|
||||
// Keep the version template split up so it's not replaced with the actual version...
|
||||
if (Settings.get.updateCheck && OpenComputers.Version != ("@" + "VERSION" + "@")) {
|
||||
try {
|
||||
OpenComputers.log.info("Starting OpenComputers version check.")
|
||||
val reader = new JsonReader(new InputStreamReader(releasesUrl.openStream()))
|
||||
reader.beginArray()
|
||||
val candidates = mutable.ArrayBuffer.empty[Release]
|
||||
while (reader.hasNext) {
|
||||
val release: Release = new Gson().fromJson(reader, classOf[Release])
|
||||
if (!release.prerelease) {
|
||||
candidates += release
|
||||
}
|
||||
}
|
||||
reader.endArray()
|
||||
if (candidates.nonEmpty) {
|
||||
val latest = candidates.maxBy(release => new ComparableVersion(release.tag_name.stripPrefix("v")))
|
||||
val remoteVersion = new ComparableVersion(latest.tag_name.stripPrefix("v"))
|
||||
val localVersion = new ComparableVersion(Loader.instance.getIndexedModList.get(OpenComputers.ID).getVersion)
|
||||
if (remoteVersion.compareTo(localVersion) > 0) {
|
||||
OpenComputers.log.info(s"A newer version of OpenComputers is available: ${latest.tag_name}.")
|
||||
return Some(latest)
|
||||
}
|
||||
}
|
||||
OpenComputers.log.info("Running the latest OpenComputers version.")
|
||||
}
|
||||
catch {
|
||||
case t: Throwable => OpenComputers.log.warn("Update check for OpenComputers failed.", t)
|
||||
}
|
||||
}
|
||||
None
|
||||
}
|
||||
|
||||
class Release {
|
||||
var tag_name = ""
|
||||
var body = ""
|
||||
var prerelease = false
|
||||
}
|
||||
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user