diff --git a/pom.xml b/pom.xml
index 2b97699..49c3a79 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
4.0.0
me.puyodead1
RPBookGUI
- 2.9.5
+ 2.9.6
RPBookGUI
diff --git a/src/main/java/io/github/puyodead1/rpbookgui/Commands/BookGUICommand.java b/src/main/java/io/github/puyodead1/rpbookgui/Commands/BookGUICommand.java
index 4805891..0d74115 100644
--- a/src/main/java/io/github/puyodead1/rpbookgui/Commands/BookGUICommand.java
+++ b/src/main/java/io/github/puyodead1/rpbookgui/Commands/BookGUICommand.java
@@ -48,7 +48,7 @@ public boolean onCommand(CommandSender sender, Command command, String label, St
}
} else if (args[0].equalsIgnoreCase("settings")) {
if (player.hasPermission(rpbgConfig.getString("permissions.bookgui settings")) || player.isOp()) {
- player.openInventory(Inventories.SettingsInv());
+ player.openInventory(Inventories.Settings());
return true;
} else {
player.sendMessage(RPBookGUIUtils.ChatColor(rpbgConfig.getString("messages.no permission")));
diff --git a/src/main/java/io/github/puyodead1/rpbookgui/EnchantConstructor.java b/src/main/java/io/github/puyodead1/rpbookgui/EnchantConstructor.java
new file mode 100644
index 0000000..541686d
--- /dev/null
+++ b/src/main/java/io/github/puyodead1/rpbookgui/EnchantConstructor.java
@@ -0,0 +1,84 @@
+package io.github.puyodead1.rpbookgui;
+
+import java.util.HashMap;
+
+import org.bukkit.Bukkit;
+import org.bukkit.inventory.ItemStack;
+
+import me.randomhashtags.randompackage.addons.CustomEnchant;
+import me.randomhashtags.randompackage.addons.EnchantRarity;
+import me.randomhashtags.randompackage.api.CustomEnchants;
+
+public class EnchantConstructor {
+ private CustomEnchant customEnchant;
+ private EnchantRarity enchantRarity;
+ private int enchantLevel;
+ private ItemStack revealItem;
+ private int success;
+ private int destroy;
+
+ private static HashMap enchants = new HashMap();
+
+ public EnchantConstructor(CustomEnchant customEnchant, EnchantRarity enchantRarity, int enchantLevel, int success, int destroy) {
+ this.customEnchant = customEnchant;
+ this.enchantRarity = enchantRarity;
+ this.enchantLevel = enchantLevel;
+ this.revealItem = CustomEnchants.getCustomEnchants().getRevealedItem(customEnchant, enchantLevel, success, destroy, true, true);
+ this.success = success;
+ this.destroy = destroy;
+
+ enchants.put(customEnchant.getIdentifier(), this);
+
+ Bukkit.broadcastMessage("EnchantConstructor added: " + customEnchant.getIdentifier() + " " + enchantLevel);
+ }
+
+ public CustomEnchant getCustomEnchant() {
+ return customEnchant;
+ }
+
+ public void setCustomEnchant(CustomEnchant customEnchant) {
+ this.customEnchant = customEnchant;
+ }
+
+ public EnchantRarity getEnchantRarity() {
+ return enchantRarity;
+ }
+
+ public void setEnchantRarity(EnchantRarity enchantRarity) {
+ this.enchantRarity = enchantRarity;
+ }
+
+ public int getEnchantLevel() {
+ return enchantLevel;
+ }
+
+ public void setEnchantLevel(int enchantLevel) {
+ this.enchantLevel = enchantLevel;
+ }
+
+
+ public ItemStack getRevealItem() {
+ return revealItem;
+ }
+
+ public int getSuccess() {
+ return success;
+ }
+
+ public void setSuccess(int success) {
+ this.success = success;
+ }
+
+ public int getDestroy() {
+ return destroy;
+ }
+
+ public void setDestroy(int destroy) {
+ this.destroy = destroy;
+ }
+
+ public static HashMap getEnchants() {
+ return enchants;
+ }
+
+}
diff --git a/src/main/java/io/github/puyodead1/rpbookgui/Events/InventoryClick.java b/src/main/java/io/github/puyodead1/rpbookgui/Events/InventoryClick.java
index 0dee70d..7091c46 100644
--- a/src/main/java/io/github/puyodead1/rpbookgui/Events/InventoryClick.java
+++ b/src/main/java/io/github/puyodead1/rpbookgui/Events/InventoryClick.java
@@ -2,6 +2,7 @@
import java.util.ArrayList;
+import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.entity.Player;
@@ -12,6 +13,7 @@
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
+import io.github.puyodead1.rpbookgui.EnchantConstructor;
import io.github.puyodead1.rpbookgui.Inventories;
import io.github.puyodead1.rpbookgui.ItemStacks;
import io.github.puyodead1.rpbookgui.RPBookGUI;
@@ -22,7 +24,7 @@
import me.randomhashtags.randompackage.utils.universal.UMaterial;
public class InventoryClick implements Listener {
-
+
private static RandomPackageAPI rpapi = new RandomPackageAPI();
@EventHandler
@@ -84,7 +86,7 @@ public void InventoryClickEvent(InventoryClickEvent e) {
!RPBookGUI.getPlugin.getConfig().getBoolean("settings.keepinvopen"));
player.closeInventory();
- player.openInventory(Inventories.SettingsInv());
+ player.openInventory(Inventories.Settings());
}
if (ci.getItemMeta().getDisplayName()
.equals(ItemStacks.UsePermissionsSetting().clone().getItemMeta().getDisplayName())) {
@@ -92,7 +94,7 @@ public void InventoryClickEvent(InventoryClickEvent e) {
!RPBookGUI.getPlugin.getConfig().getBoolean("settings.usepermissions"));
player.closeInventory();
- player.openInventory(Inventories.SettingsInv());
+ player.openInventory(Inventories.Settings());
}
}
@@ -107,9 +109,10 @@ public void InventoryClickEvent(InventoryClickEvent e) {
player.openInventory(Inventories.MainGUI());
}
if (e.getCurrentItem().getType().equals(UMaterial.match("BOOK").getMaterial())) {
- CustomEnchant ce = rpapi.valueOfCustomEnchant(ChatColor.stripColor(e.getCurrentItem().getItemMeta().getDisplayName()));
+ CustomEnchant ce = rpapi.valueOfCustomEnchant(
+ ChatColor.stripColor(e.getCurrentItem().getItemMeta().getDisplayName()));
player.closeInventory();
- player.openInventory(Inventories.EnchantInv(ce));
+ player.openInventory(Inventories.Enchant(ce));
}
}
@@ -124,9 +127,10 @@ public void InventoryClickEvent(InventoryClickEvent e) {
player.openInventory(Inventories.MainGUI());
}
if (e.getCurrentItem().getType().equals(UMaterial.match("BOOK").getMaterial())) {
- CustomEnchant ce = rpapi.valueOfCustomEnchant(ChatColor.stripColor(e.getCurrentItem().getItemMeta().getDisplayName()));
+ CustomEnchant ce = rpapi.valueOfCustomEnchant(
+ ChatColor.stripColor(e.getCurrentItem().getItemMeta().getDisplayName()));
player.closeInventory();
- player.openInventory(Inventories.EnchantInv(ce));
+ player.openInventory(Inventories.Enchant(ce));
}
}
/*
@@ -140,9 +144,10 @@ public void InventoryClickEvent(InventoryClickEvent e) {
player.openInventory(Inventories.MainGUI());
}
if (e.getCurrentItem().getType().equals(UMaterial.match("BOOK").getMaterial())) {
- CustomEnchant ce = rpapi.valueOfCustomEnchant(ChatColor.stripColor(e.getCurrentItem().getItemMeta().getDisplayName()));
+ CustomEnchant ce = rpapi.valueOfCustomEnchant(
+ ChatColor.stripColor(e.getCurrentItem().getItemMeta().getDisplayName()));
player.closeInventory();
- player.openInventory(Inventories.EnchantInv(ce));
+ player.openInventory(Inventories.Enchant(ce));
}
}
@@ -157,9 +162,10 @@ public void InventoryClickEvent(InventoryClickEvent e) {
player.openInventory(Inventories.MainGUI());
}
if (e.getCurrentItem().getType().equals(UMaterial.match("BOOK").getMaterial())) {
- CustomEnchant ce = rpapi.valueOfCustomEnchant(ChatColor.stripColor(e.getCurrentItem().getItemMeta().getDisplayName()));
+ CustomEnchant ce = rpapi.valueOfCustomEnchant(
+ ChatColor.stripColor(e.getCurrentItem().getItemMeta().getDisplayName()));
player.closeInventory();
- player.openInventory(Inventories.EnchantInv(ce));
+ player.openInventory(Inventories.Enchant(ce));
}
}
/*
@@ -173,9 +179,10 @@ public void InventoryClickEvent(InventoryClickEvent e) {
player.openInventory(Inventories.MainGUI());
}
if (e.getCurrentItem().getType().equals(UMaterial.match("BOOK").getMaterial())) {
- CustomEnchant ce = rpapi.valueOfCustomEnchant(ChatColor.stripColor(e.getCurrentItem().getItemMeta().getDisplayName()));
+ CustomEnchant ce = rpapi.valueOfCustomEnchant(
+ ChatColor.stripColor(e.getCurrentItem().getItemMeta().getDisplayName()));
player.closeInventory();
- player.openInventory(Inventories.EnchantInv(ce));
+ player.openInventory(Inventories.Enchant(ce));
}
}
@@ -190,9 +197,10 @@ public void InventoryClickEvent(InventoryClickEvent e) {
player.openInventory(Inventories.MainGUI());
}
if (e.getCurrentItem().getType().equals(UMaterial.match("BOOK").getMaterial())) {
- CustomEnchant ce = rpapi.valueOfCustomEnchant(ChatColor.stripColor(e.getCurrentItem().getItemMeta().getDisplayName()));
+ CustomEnchant ce = rpapi.valueOfCustomEnchant(
+ ChatColor.stripColor(e.getCurrentItem().getItemMeta().getDisplayName()));
player.closeInventory();
- player.openInventory(Inventories.EnchantInv(ce));
+ player.openInventory(Inventories.Enchant(ce));
}
}
/*
@@ -206,9 +214,10 @@ public void InventoryClickEvent(InventoryClickEvent e) {
player.openInventory(Inventories.MainGUI());
}
if (e.getCurrentItem().getType().equals(UMaterial.match("BOOK").getMaterial())) {
- CustomEnchant ce = rpapi.valueOfCustomEnchant(ChatColor.stripColor(e.getCurrentItem().getItemMeta().getDisplayName()));
+ CustomEnchant ce = rpapi.valueOfCustomEnchant(
+ ChatColor.stripColor(e.getCurrentItem().getItemMeta().getDisplayName()));
player.closeInventory();
- player.openInventory(Inventories.EnchantInv(ce));
+ player.openInventory(Inventories.Enchant(ce));
}
}
@@ -278,12 +287,22 @@ public void InventoryClickEvent(InventoryClickEvent e) {
.replace("{NAME}", ci.getItemMeta().getDisplayName())
.replace("{ITEM}", player.getItemInHand().getType().name())));
} else {
- player.getInventory().addItem(ci);
- if (!RPBookGUI.getPlugin.getConfig().getBoolean("settings.keep inventory open"))
- player.closeInventory();
- player.sendMessage(RPBookGUIUtils
- .ChatColor(RPBookGUI.getPlugin.getConfig().getString("messages.added book")
- .replace("{NAME}", ci.getItemMeta().getDisplayName())));
+
+ for(EnchantConstructor ec : EnchantConstructor.getEnchants().values()) {
+ if(ec.getRevealItem() != ci) {
+ Bukkit.broadcastMessage("Removing EnchantConstructor: " + ec.getCustomEnchant().getIdentifier() + " " + ec.getEnchantLevel());
+ EnchantConstructor.getEnchants().remove(ec.getCustomEnchant().getIdentifier());
+ }
+ }
+
+ player.closeInventory();
+ player.openInventory(Inventories.SuccessDestroySelection(ci));
+// player.getInventory().addItem(ci);
+// if (!RPBookGUI.getPlugin.getConfig().getBoolean("settings.keep inventory open"))
+// player.closeInventory();
+// player.sendMessage(RPBookGUIUtils
+// .ChatColor(RPBookGUI.getPlugin.getConfig().getString("messages.added book")
+// .replace("{NAME}", ci.getItemMeta().getDisplayName())));
}
}
}
diff --git a/src/main/java/io/github/puyodead1/rpbookgui/Inventories.java b/src/main/java/io/github/puyodead1/rpbookgui/Inventories.java
index 2ff2eb1..75cdc0a 100644
--- a/src/main/java/io/github/puyodead1/rpbookgui/Inventories.java
+++ b/src/main/java/io/github/puyodead1/rpbookgui/Inventories.java
@@ -19,6 +19,7 @@
import java.util.List;
import org.bukkit.Bukkit;
+import org.bukkit.Material;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
@@ -27,8 +28,6 @@
import me.randomhashtags.randompackage.addons.CustomEnchant;
import me.randomhashtags.randompackage.addons.EnchantRarity;
import me.randomhashtags.randompackage.api.CustomEnchants;
-import me.randomhashtags.randompackage.utils.CustomEnchantUtils;
-import me.randomhashtags.randompackage.utils.RPStorage;
public class Inventories {
@@ -300,21 +299,24 @@ public static Inventory HeroicEnchants(ItemStack itemApplyTo) {
inv.setItem(53, ItemStacks.Back().clone());
return inv;
}
-
- public static Inventory EnchantInv(CustomEnchant ce) {
+
+ public static Inventory Enchant(CustomEnchant ce) {
EnchantRarity rarity = rpapi.valueOfEnchantRarity(ce);
Inventory inv = Bukkit.createInventory(null, 18, rarity.getNameColors() + ce.getName());
int x = 0;
for (int i = 1; i < ce.getMaxLevel() + 1; i++) {
ItemStack is = CustomEnchants.getCustomEnchants().getRevealedItem(ce, i, 100, 0, true, true).clone();
+ new EnchantConstructor(ce, rarity, i, 0, 0);
+ Bukkit.broadcastMessage("EnchantConstructor size: " + EnchantConstructor.getEnchants().size());
inv.setItem(x, is);
x++;
}
+ Bukkit.broadcastMessage("Final EnchantConstructor size: " + EnchantConstructor.getEnchants().size());
inv.setItem(17, ItemStacks.Back().clone());
return inv;
}
- public static Inventory SettingsInv() {
+ public static Inventory Settings() {
Inventory inv = Bukkit.createInventory(null, 36, "RPBookGUI Settings");
for (int i = 0; i < 10; i++)
@@ -336,4 +338,25 @@ public static Inventory SettingsInv() {
inv.setItem(22, ItemStacks.Back().clone());
return inv;
}
+
+ public static Inventory SuccessDestroySelection(ItemStack book) {
+ Inventory inv = Bukkit.createInventory(null, 54, "Success & Destry Configuration");
+ CustomEnchant ce = rpapi.valueOfCustomEnchant(book);
+ // slot 10 - increase success
+ // slot 28 - decrease success
+ // slot 21 - book
+
+ ItemStack addSuccess = new ItemStack(Material.GREEN_WOOL);
+ ItemStack removeSuccess = new ItemStack(Material.RED_WOOL);
+
+ inv.setItem(10, addSuccess);
+// inv.setItem(21, CustomEnchants.getCustomEnchants().getRevealedItem(ce, EnchantConstructor.getEnchants().get(ce.getName()).getEnchantLevel(), 0, 0, true, true));
+ inv.setItem(28, removeSuccess);
+
+ for(EnchantConstructor ec : EnchantConstructor.getEnchants().values()) {
+ Bukkit.broadcastMessage(ec.getCustomEnchant().getIdentifier() + " " + ec.getEnchantLevel());
+ }
+
+ return inv;
+ }
}
diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml
index a36ae81..f180709 100644
--- a/src/main/resources/plugin.yml
+++ b/src/main/resources/plugin.yml
@@ -1,5 +1,5 @@
name: RPBookGUI
-version: 2.9.5
+version: 2.9.6
author: Puyodead1
main: io.github.puyodead1.rpbookgui.RPBookGUI
depend: [RandomPackage]