diff options
author | KHobbits <rob@khobbits.co.uk> | 2013-02-14 03:05:41 -0800 |
---|---|---|
committer | KHobbits <rob@khobbits.co.uk> | 2013-02-14 03:05:41 -0800 |
commit | cfe1244774004ed8ca6ef33bdaae32c8cea234d8 (patch) | |
tree | c051bf22678c88bc07c35d872382cb46b718b88f | |
parent | 9613404fbfe244f669239ccaa1cfdc66915e6527 (diff) | |
parent | 4079a69864db9587c9f310eb94fa4a51c597e3c0 (diff) | |
download | Essentials-cfe1244774004ed8ca6ef33bdaae32c8cea234d8.tar Essentials-cfe1244774004ed8ca6ef33bdaae32c8cea234d8.tar.gz Essentials-cfe1244774004ed8ca6ef33bdaae32c8cea234d8.tar.lz Essentials-cfe1244774004ed8ca6ef33bdaae32c8cea234d8.tar.xz Essentials-cfe1244774004ed8ca6ef33bdaae32c8cea234d8.zip |
Merge pull request #331 from kukelekuuk00/2.9
Add methods to UserData and IUser for accessing and writing of data from other plugins.
-rw-r--r-- | Essentials/src/com/earth2me/essentials/IUser.java | 10 | ||||
-rw-r--r-- | Essentials/src/com/earth2me/essentials/UserData.java | 54 |
2 files changed, 64 insertions, 0 deletions
diff --git a/Essentials/src/com/earth2me/essentials/IUser.java b/Essentials/src/com/earth2me/essentials/IUser.java index 972165a39..00c4f328f 100644 --- a/Essentials/src/com/earth2me/essentials/IUser.java +++ b/Essentials/src/com/earth2me/essentials/IUser.java @@ -1,6 +1,8 @@ package com.earth2me.essentials; import com.earth2me.essentials.commands.IEssentialsCommand; +import java.util.Map; +import java.util.Set; import org.bukkit.Location; import org.bukkit.entity.Player; @@ -52,4 +54,12 @@ public interface IUser extends Player void setLogoutLocation(); Location getLogoutLocation(); + + void setConfigProperty(String node, Object object); + + Set<String> getConfigKeys(); + + Map<String, Object> getConfigMap(); + + Map<String, Object> getConfigMap(String node); } diff --git a/Essentials/src/com/earth2me/essentials/UserData.java b/Essentials/src/com/earth2me/essentials/UserData.java index 023214a13..13a8a9eb5 100644 --- a/Essentials/src/com/earth2me/essentials/UserData.java +++ b/Essentials/src/com/earth2me/essentials/UserData.java @@ -867,6 +867,60 @@ public abstract class UserData extends PlayerExtension implements IConf config.save(); } + public void setConfigProperty(String node, Object object) + { + final String prefix = "info."; + node = prefix+node; + if (object instanceof Map) + { + config.setProperty(node, (Map) object); + } + else if (object instanceof List) + { + config.setProperty(node, (List<String>) object); + } + else if (object instanceof Location) + { + config.setProperty(node, (Location) object); + } + else if (object instanceof ItemStack) + { + config.setProperty(node, (ItemStack) object); + } + else + { + config.setProperty(node, object); + } + config.save(); + } + + public Set<String> getConfigKeys() + { + if (config.isConfigurationSection("info")) + { + return config.getConfigurationSection("info").getKeys(true); + } + return new HashSet<String>(); + } + + public Map<String, Object> getConfigMap() + { + if (config.isConfigurationSection("info")) + { + return config.getConfigurationSection("info").getValues(true); + } + return new HashMap<String, Object>(); + } + + public Map<String, Object> getConfigMap(String node) + { + if (config.isConfigurationSection("info."+node)) + { + return config.getConfigurationSection("info."+node).getValues(true); + } + return new HashMap<String, Object>(); + } + public void save() { config.save(); |