diff options
author | Nathan Adams <dinnerbone@dinnerbone.com> | 2011-10-31 04:02:54 +0000 |
---|---|---|
committer | Nathan Adams <dinnerbone@dinnerbone.com> | 2011-10-31 04:03:47 +0000 |
commit | b1671be8750ad3226196d94b546df2bd6f8c1537 (patch) | |
tree | b598ead1bbfa09036c766a95c4473b37f888c3c5 | |
parent | 6c9cb5a95e680a8f0dc282c18e5b493e67cd2136 (diff) | |
download | craftbukkit-b1671be8750ad3226196d94b546df2bd6f8c1537.tar craftbukkit-b1671be8750ad3226196d94b546df2bd6f8c1537.tar.gz craftbukkit-b1671be8750ad3226196d94b546df2bd6f8c1537.tar.lz craftbukkit-b1671be8750ad3226196d94b546df2bd6f8c1537.tar.xz craftbukkit-b1671be8750ad3226196d94b546df2bd6f8c1537.zip |
Implemented bukkit versioning
-rw-r--r-- | src/main/java/org/bukkit/craftbukkit/CraftServer.java | 6 | ||||
-rw-r--r-- | src/main/java/org/bukkit/craftbukkit/util/Versioning.java | 29 |
2 files changed, 35 insertions, 0 deletions
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java index 1fcc2aed..6f69bd7b 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -70,6 +70,7 @@ import org.bukkit.craftbukkit.inventory.CraftShapelessRecipe; import org.bukkit.craftbukkit.map.CraftMapView; import org.bukkit.scheduler.BukkitWorker; import org.bukkit.craftbukkit.scheduler.CraftScheduler; +import org.bukkit.craftbukkit.util.Versioning; import org.bukkit.util.permissions.DefaultPermissions; import org.bukkit.event.world.WorldInitEvent; import org.bukkit.permissions.Permission; @@ -82,6 +83,7 @@ public final class CraftServer implements Server { private final String serverName = "Craftbukkit"; private final String serverVersion; private final String protocolVersion = "1.8.1"; + private final String bukkitVersion = Versioning.getBukkitVersion(); private final ServicesManager servicesManager = new SimpleServicesManager(); private final BukkitScheduler scheduler = new CraftScheduler(this); private final SimpleCommandMap commandMap = new SimpleCommandMap(this); @@ -191,6 +193,10 @@ public final class CraftServer implements Server { public String getVersion() { return serverVersion + " (MC: " + protocolVersion + ")"; } + + public String getBukkitVersion() { + return bukkitVersion; + } @SuppressWarnings("unchecked") public Player[] getOnlinePlayers() { diff --git a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java new file mode 100644 index 00000000..157b532a --- /dev/null +++ b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java @@ -0,0 +1,29 @@ +package org.bukkit.craftbukkit.util; + +import java.io.IOException; +import java.io.InputStream; +import java.util.Properties; +import java.util.logging.Level; +import java.util.logging.Logger; +import org.bukkit.Bukkit; + +public final class Versioning { + public static String getBukkitVersion() { + String result = "Unknown-Version"; + + InputStream stream = Bukkit.class.getClassLoader().getResourceAsStream("META-INF/maven/org.bukkit/bukkit/pom.properties"); + Properties properties = new Properties(); + + if (stream != null) { + try { + properties.load(stream); + + result = properties.getProperty("version"); + } catch (IOException ex) { + Logger.getLogger(Versioning.class.getName()).log(Level.SEVERE, "Could not get Bukkit version!", ex); + } + } + + return result; + } +} |