mirror of
https://github.com/MilkBowl/Vault.git
synced 2025-02-11 18:02:31 +01:00
added vault.admin permission - and an upate check during login
This commit is contained in:
parent
cfd61c35c2
commit
530a636df7
@ -56,6 +56,10 @@ import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.command.ConsoleCommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.Event.Priority;
|
||||
import org.bukkit.event.Event.Type;
|
||||
import org.bukkit.event.player.PlayerJoinEvent;
|
||||
import org.bukkit.event.player.PlayerListener;
|
||||
import org.bukkit.plugin.RegisteredServiceProvider;
|
||||
import org.bukkit.plugin.ServicePriority;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
@ -67,6 +71,7 @@ import org.w3c.dom.NodeList;
|
||||
public class Vault extends JavaPlugin {
|
||||
|
||||
private static final Logger log = Logger.getLogger("Minecraft");
|
||||
private Permission perms;
|
||||
|
||||
@Override
|
||||
public void onDisable() {
|
||||
@ -79,7 +84,12 @@ public class Vault extends JavaPlugin {
|
||||
@Override
|
||||
public void onEnable() {
|
||||
try {
|
||||
updateCheck();
|
||||
String newVersion = updateCheck();
|
||||
String oldVersion = getDescription().getVersion().substring(0, 5);
|
||||
if (!oldVersion.equalsIgnoreCase(newVersion)) {
|
||||
log.warning(newVersion + " is out! You are running " + oldVersion);
|
||||
log.warning("Update Vault at: http://dev.bukkit.org/server-mods/vault");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
// ignore exceptions
|
||||
}
|
||||
@ -90,6 +100,7 @@ public class Vault extends JavaPlugin {
|
||||
|
||||
getCommand("vault-info").setExecutor(this);
|
||||
getCommand("vault-reload").setExecutor(this);
|
||||
this.getServer().getPluginManager().registerEvent(Type.PLAYER_JOIN, new VaultPlayerListener(), Priority.Monitor, this);
|
||||
log.info(String.format("[%s] Enabled Version %s", getDescription().getName(), getDescription().getVersion()));
|
||||
}
|
||||
|
||||
@ -97,7 +108,6 @@ public class Vault extends JavaPlugin {
|
||||
* Attempts to load Chat Addons
|
||||
*/
|
||||
private void loadChat() {
|
||||
Permission perms = getServer().getServicesManager().getRegistration(Permission.class).getProvider();
|
||||
// Try to load PermissionsEx
|
||||
if (packageExists(new String[] { "ru.tehkode.permissions.bukkit.PermissionsEx" })) {
|
||||
Chat eChat = new Chat_PermissionsEx(this, perms);
|
||||
@ -267,6 +277,7 @@ public class Vault extends JavaPlugin {
|
||||
getServer().getServicesManager().register(Permission.class, perms, this, ServicePriority.Lowest);
|
||||
log.info(String.format("[%s][Permission] SuperPermissions loaded as backup permission system.", getDescription().getName()));
|
||||
|
||||
this.perms = getServer().getServicesManager().getRegistration(Permission.class).getProvider();
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -346,7 +357,7 @@ public class Vault extends JavaPlugin {
|
||||
}
|
||||
}
|
||||
|
||||
public void updateCheck() throws Exception {
|
||||
public String updateCheck() throws Exception {
|
||||
String pluginUrlString = "http://dev.bukkit.org/server-mods/vault/files.rss";
|
||||
try {
|
||||
URL url = new URL(pluginUrlString);
|
||||
@ -359,15 +370,32 @@ public class Vault extends JavaPlugin {
|
||||
NodeList firstElementTagName = firstElement.getElementsByTagName("title");
|
||||
Element firstNameElement = (Element) firstElementTagName.item(0);
|
||||
NodeList firstNodes = firstNameElement.getChildNodes();
|
||||
String newVersion = firstNodes.item(0).getNodeValue();
|
||||
String oldVersion = getDescription().getVersion().substring(0, 5);
|
||||
if (!newVersion.contains(oldVersion)) {
|
||||
log.warning(newVersion + " is out! You are running v" + oldVersion);
|
||||
log.warning("Update Vault at: http://dev.bukkit.org/server-mods/vault");
|
||||
}
|
||||
return firstNodes.item(0).getNodeValue();
|
||||
}
|
||||
}
|
||||
catch (Exception localException) {
|
||||
return getDescription().getVersion().substring(0, 5);
|
||||
}
|
||||
return getDescription().getVersion().substring(0, 5);
|
||||
}
|
||||
|
||||
public class VaultPlayerListener extends PlayerListener {
|
||||
|
||||
@Override
|
||||
public void onPlayerJoin(PlayerJoinEvent event) {
|
||||
Player player = event.getPlayer();
|
||||
if (perms.has(player, "vault.admin")) {
|
||||
try {
|
||||
String newVersion = updateCheck();
|
||||
String oldVersion = getDescription().getVersion().substring(0, 5);
|
||||
if (!newVersion.contains(oldVersion)) {
|
||||
player.sendMessage(newVersion + " is out! You are running " + oldVersion);
|
||||
player.sendMessage("Update Vault at: http://dev.bukkit.org/server-mods/vault");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
// Ignore exceptions
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user