From 4d06bc5df123cdaeb2aa138d01c32c3f765e2b07 Mon Sep 17 00:00:00 2001 From: sk89q Date: Wed, 3 Nov 2010 17:05:05 -0700 Subject: [PATCH] WorldEdit version is now printed on load. --- manifest.mf | 2 +- src/WorldEdit.java | 32 +++++++++++++++++++++++++++++++- 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/manifest.mf b/manifest.mf index 6ba946608..324c3f145 100644 --- a/manifest.mf +++ b/manifest.mf @@ -1,3 +1,3 @@ Manifest-Version: 1.0 Class-Path: jnbt.jar truezip.jar ant.jar - +WorldEdit-Version: 1.1 \ No newline at end of file diff --git a/src/WorldEdit.java b/src/WorldEdit.java index 6dc7109c8..691348be2 100644 --- a/src/WorldEdit.java +++ b/src/WorldEdit.java @@ -20,7 +20,12 @@ import com.sk89q.worldedit.snapshots.SnapshotRepository; import java.util.Map; import java.util.HashSet; -import com.sk89q.worldedit.ServerInterface; +import java.util.jar.Manifest; +import java.util.jar.Attributes; +import java.net.URL; +import java.io.IOException; +import java.util.logging.Level; +import java.util.logging.Logger; /** * Entry point for the plugin for hey0's mod. @@ -28,6 +33,10 @@ import com.sk89q.worldedit.ServerInterface; * @author sk89q */ public class WorldEdit extends Plugin { + /** + * Logger. + */ + private static final Logger logger = Logger.getLogger("Minecraft"); /** * WorldEditLibrary's properties file. */ @@ -60,6 +69,8 @@ public class WorldEdit extends Plugin { PluginListener.Priority.MEDIUM); loader.addListener(PluginLoader.Hook.LOGIN, listener, this, PluginListener.Priority.MEDIUM); + + logger.log(Level.INFO, "WorldEdit version " + getWorldEditVersion() + " loaded."); } /** @@ -111,4 +122,23 @@ public class WorldEdit extends Plugin { worldEdit.clearSessions(); } + + /** + * Get the WorldEdit version. + * + * @return + */ + private String getWorldEditVersion() { + try { + String classContainer = WorldEdit.class.getProtectionDomain() + .getCodeSource().getLocation().toString(); + URL manifestUrl = new URL("jar:" + classContainer + "!/META-INF/MANIFEST.MF"); + Manifest manifest = new Manifest(manifestUrl.openStream()); + Attributes attrib = manifest.getMainAttributes(); + String ver = (String)attrib.getValue("WorldEdit-Version"); + return ver != null ? ver : "(unavailable)"; + } catch (IOException e) { + return "(unknown)"; + } + } }