diff --git a/pom.xml b/pom.xml
index bee2213..d0b0d51 100644
--- a/pom.xml
+++ b/pom.xml
@@ -12,6 +12,18 @@
https://hub.spigotmc.org/nexus/content/repositories/snapshots/
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+ 14
+ 14
+
+
+
+
diff --git a/src/main/java/net/hexa/MythicItems/CommandMythicEssence.java b/src/main/java/net/hexa/MythicItems/CommandMythicEssence.java
index 39a3824..6c0b8e4 100644
--- a/src/main/java/net/hexa/MythicItems/CommandMythicEssence.java
+++ b/src/main/java/net/hexa/MythicItems/CommandMythicEssence.java
@@ -1,6 +1,7 @@
package net.hexa.MythicItems;
import net.hexa.MythicItems.Mythics.MythicEssence;
+import net.hexa.MythicItems.Mythics.MythicItem;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
@@ -14,7 +15,7 @@ public class CommandMythicEssence implements CommandExecutor {
if (sender instanceof Player) {
Player player = (Player) sender;
- ItemStack item = new MythicEssence().item;
+ ItemStack item = MythicItem.getMythicById(0).item;
player.getInventory().addItem(item);
}
diff --git a/src/main/java/net/hexa/MythicItems/Mythics/MythicEssence.java b/src/main/java/net/hexa/MythicItems/Mythics/MythicEssence.java
index b957aaf..9f575bc 100644
--- a/src/main/java/net/hexa/MythicItems/Mythics/MythicEssence.java
+++ b/src/main/java/net/hexa/MythicItems/Mythics/MythicEssence.java
@@ -1,39 +1,18 @@
package net.hexa.MythicItems.Mythics;
import org.bukkit.Material;
-import org.bukkit.enchantments.Enchantment;
import org.bukkit.inventory.ItemStack;
-import org.bukkit.inventory.meta.ItemMeta;
-import java.util.Arrays;
+import java.util.List;
import java.util.Random;
-public class MythicEssence extends MythicItem {
+public class MythicEssence {
private static final Random random = new Random();
-
- public MythicEssence() {
- item = new ItemStack(Material.CLAY_BALL);
-
- item.addUnsafeEnchantment(Enchantment.FORTUNE, 7);
-
- ItemMeta itemData = item.getItemMeta();
- itemData.setItemName("§4Mythic Essence");
- itemData.setLore(Arrays.asList("§o§aMaybe this will give you something nice?"));
-
- item.setItemMeta(itemData);
-
- setMythicId(0);
- }
+ private static final List mythics = MythicItem.getMythics();
public static ItemStack rollMythic() {
- int mythic_id = random.nextInt(2) + 1;
- switch (mythic_id) {
- case 1:
- return new Terra().item;
- case 2:
- return new RockCracker().item;
- }
- return new ItemStack(Material.GRAVEL);
+ int mythic_id = random.nextInt(mythics.size() + 1);
+ return mythics.get(mythic_id).item;
}
}
diff --git a/src/main/java/net/hexa/MythicItems/Mythics/MythicItem.java b/src/main/java/net/hexa/MythicItems/Mythics/MythicItem.java
index 88c7242..fc01fd2 100644
--- a/src/main/java/net/hexa/MythicItems/Mythics/MythicItem.java
+++ b/src/main/java/net/hexa/MythicItems/Mythics/MythicItem.java
@@ -2,8 +2,8 @@ package net.hexa.MythicItems.Mythics;
import org.json.*;
-import com.google.gson.JsonObject;
-
+import org.bukkit.Bukkit;
+import org.bukkit.enchantments.Enchantment;
import org.bukkit.Material;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
@@ -11,28 +11,112 @@ import org.bukkit.persistence.PersistentDataContainer;
import org.bukkit.persistence.PersistentDataType;
import java.io.File;
+import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
+import java.util.logging.Logger;
public class MythicItem {
private static final String MYTHIC_DIR = "resources/mythic-items";
+
public ItemStack item;
+ private static final Logger logger = Bukkit.getServer().getPluginManager().getPlugin("MythicItems").getLogger();
public MythicItem() {}
// Parse a mythic item from a json file
public MythicItem(JSONObject json) {
+ if (json == null) {
+ item = new ItemStack(Material.GRAVEL);
+ logger.warning("Constructor was passed a NULL JSONObject.");
+ return;
+ }
+
String item_id = json.getString("item_id");
this.item = new ItemStack(Material.getMaterial(item_id));
ItemMeta item_metadata = item.getItemMeta();
- JSONObject enchantments = json.getJSONObject("Enchantments");
- for (String enchanment_key : enchantments.keySet()) {
+ if (json.has("Unbreakable"))
+ item_metadata.setUnbreakable(json.getBoolean("Unbreakable"));
+ if (json.has("Name"))
+ item_metadata.setItemName(json.getString("Name"));
+
+ if (json.has("Lore")) {
+ List