summaryrefslogtreecommitdiff
path: root/src/main/java/com/redstoner/misc/ModuleInfo.java
diff options
context:
space:
mode:
authorLogan Fick <logaldeveloper@protonmail.com>2019-02-08 11:29:54 -0500
committerLogan Fick <logaldeveloper@protonmail.com>2019-02-08 11:29:54 -0500
commit2a094897a0226cc286b3be52342663b9ac0d8d86 (patch)
tree9c65a9d6d1a655d519eceaeda60d464a1c921b83 /src/main/java/com/redstoner/misc/ModuleInfo.java
parentbc4ec4561ed1200497a5edcd03738ec9c0a16072 (diff)
parent335a5b57d322a0a9e3b43729e240206af05c09bb (diff)
Merged pull request #8.v5.2.0
Diffstat (limited to 'src/main/java/com/redstoner/misc/ModuleInfo.java')
-rw-r--r--src/main/java/com/redstoner/misc/ModuleInfo.java81
1 files changed, 81 insertions, 0 deletions
diff --git a/src/main/java/com/redstoner/misc/ModuleInfo.java b/src/main/java/com/redstoner/misc/ModuleInfo.java
new file mode 100644
index 0000000..e96e813
--- /dev/null
+++ b/src/main/java/com/redstoner/misc/ModuleInfo.java
@@ -0,0 +1,81 @@
+package com.redstoner.misc;
+
+import java.io.InputStream;
+import java.io.InputStreamReader;
+
+import org.bukkit.configuration.file.FileConfiguration;
+import org.bukkit.configuration.file.YamlConfiguration;
+
+import com.redstoner.coremods.moduleLoader.ModuleLoader;
+import com.redstoner.exceptions.MissingVersionException;
+import com.redstoner.modules.Module;
+
+public class ModuleInfo {
+
+ private String simpleName;
+ private String displayName;
+ private String category;
+ private String description;
+ private String version;
+
+ private String warning;
+
+ public ModuleInfo(InputStream descriptor, Module module) {
+ try {
+ InputStreamReader reader = new InputStreamReader(descriptor);
+ FileConfiguration config = YamlConfiguration.loadConfiguration(reader);
+
+ displayName = config.getString("displayName");
+ category = config.getString("category");
+ description = config.getString("description");
+ }
+ catch (Exception e) {
+ warning = "Descriptor file could not be loaded, using the class's name.";
+ }
+
+ simpleName = module.getClass().getSimpleName();
+
+ if (displayName == null)
+ displayName = simpleName;
+
+ if (category == null)
+ category = "Other";
+
+ try {
+ version = VersionHelper.getVersion(module.getClass());
+ } catch (MissingVersionException e) {}
+ }
+
+ public String getSimpleName() {
+ return simpleName;
+ }
+
+ public String getDisplayName() {
+ return displayName;
+ }
+
+ public String getCategory() {
+ return category;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public String getWarning() {
+ return warning;
+ }
+
+ public String getVersion() {
+ return version;
+ }
+
+ public String getModuleInfoHover() {
+ return "&8&o" + getSimpleName() + "\n"
+ + "&r&e" + (getVersion() == null? "&cVersion Missing" : getVersion())
+ + "&r&9" + (ModuleLoader.hasCategories()? "\n" + getCategory() : "")
+ + "&r&7" + (getDescription() == null? "" : "\n\n" + getDescription());
+ }
+
+
+}