diff --git a/vMinecraft.java b/vMinecraft.java index fd7336dd7..65bb1fdc8 100644 --- a/vMinecraft.java +++ b/vMinecraft.java @@ -11,7 +11,9 @@ public class vMinecraft extends Plugin { public void enable() { vMinecraftSettings.getInstance().loadSettings(); + vMinecraftUsers.getInstance().loadUsers(); vMinecraftCommands.loadCommands(); + } public void disable() { @@ -21,6 +23,7 @@ public class vMinecraft extends Plugin { public void initialize() { //Here we add the hook we're going to use. In this case it's the arm swing event. etc.getLoader().addListener(PluginLoader.Hook.CHAT, listener, this, PluginListener.Priority.MEDIUM); + etc.getLoader().addListener(PluginLoader.Hook.LOGIN, listener, this, PluginListener.Priority.MEDIUM); etc.getLoader().addListener(PluginLoader.Hook.COMMAND, listener, this, PluginListener.Priority.HIGH); etc.getLoader().addListener(PluginLoader.Hook.IGNITE, listener, this, PluginListener.Priority.HIGH); etc.getLoader().addListener(PluginLoader.Hook.DAMAGE, listener, this, PluginListener.Priority.MEDIUM); diff --git a/vMinecraftListener.java b/vMinecraftListener.java index 6c4add0ec..ba3bfcc4e 100644 --- a/vMinecraftListener.java +++ b/vMinecraftListener.java @@ -90,6 +90,10 @@ public class vMinecraftListener extends PluginListener { } return false; } + + public void onLogin(Player player){ + vMinecraftUsers.addUser(player); + } /** Not working yet, I posted the issue to hMod on github though public boolean onDamage(DamageType type, BaseEntity attacker, BaseEntity defender, int amount) { diff --git a/vMinecraftUsers.java b/vMinecraftUsers.java new file mode 100644 index 000000000..4d7b5675d --- /dev/null +++ b/vMinecraftUsers.java @@ -0,0 +1,58 @@ +import java.io.*; +import java.util.ArrayList; +import java.util.logging.Level; +import java.util.logging.Logger; +public class vMinecraftUsers { + private static volatile vMinecraftUsers instance; + protected static final Logger log = Logger.getLogger("Minecraft"); + String file = "vminecraftusers.txt"; + private PropertiesFile properties; + String location = "vminecraftusers.txt"; + public void loadUsers(){ + File theDir = new File("vminecraftusers.txt"); + if(!theDir.exists()){ + properties = new PropertiesFile("vminecraftusers.txt"); + FileWriter writer = null; + try { + writer = new FileWriter(location); + writer.write("#Storage place for user information\r\n"); + writer.write("#username:nickname:suffix:ignore,list,names:alias,commands,here\r\n"); + } catch (Exception e) { + log.log(Level.SEVERE, "Exception while creating " + location, e); + } finally { + try { + if (writer != null) { + writer.close(); + } + } catch (IOException e) { + log.log(Level.SEVERE, "Exception while closing writer for " + location, e); + } + } + + } else { + properties = new PropertiesFile("vminecraftusers.txt"); + try { + properties.load(); + } catch (IOException e) { + log.log(Level.SEVERE, "Exception while loading vminecraftusers.txt", e); + } + } + } + public static void addUser(Player player){ + FileWriter writer = null; + String location = "vminecraftusers.txt"; + try { + writer = new FileWriter(location); + writer.write(player.getName()+"::::"); + } catch (Exception e) { + log.log(Level.SEVERE, "Exception while trying to add user with writer to " + location, e); + } + + } + public static vMinecraftUsers getInstance() { + if (instance == null) { + instance = new vMinecraftUsers(); + } + return instance; + } +}