From 9a37c5413588b486870d6bd9a2902fc380e5ae57 Mon Sep 17 00:00:00 2001 From: LMBishop <13875753+LMBishop@users.noreply.github.com> Date: Thu, 13 May 2021 23:00:03 +0100 Subject: Add spacer menu element --- .../com/leonardobishop/quests/menu/CategoryQMenu.java | 11 +++++++++-- .../java/com/leonardobishop/quests/menu/QuestQMenu.java | 11 +++++++++-- .../quests/menu/element/SpacerMenuElement.java | 15 +++++++++++++++ 3 files changed, 33 insertions(+), 4 deletions(-) create mode 100644 src/main/java/com/leonardobishop/quests/menu/element/SpacerMenuElement.java (limited to 'src/main/java') diff --git a/src/main/java/com/leonardobishop/quests/menu/CategoryQMenu.java b/src/main/java/com/leonardobishop/quests/menu/CategoryQMenu.java index e389d9fa..a27b513e 100644 --- a/src/main/java/com/leonardobishop/quests/menu/CategoryQMenu.java +++ b/src/main/java/com/leonardobishop/quests/menu/CategoryQMenu.java @@ -5,6 +5,7 @@ import com.leonardobishop.quests.events.MenuController; import com.leonardobishop.quests.menu.element.CategoryMenuElement; import com.leonardobishop.quests.menu.element.CustomMenuElement; import com.leonardobishop.quests.menu.element.MenuElement; +import com.leonardobishop.quests.menu.element.SpacerMenuElement; import com.leonardobishop.quests.player.QPlayer; import com.leonardobishop.quests.util.Items; import com.leonardobishop.quests.util.Messages; @@ -45,10 +46,16 @@ public class CategoryQMenu implements QMenu { if (!NumberUtils.isNumber(s)) continue; int slot = Integer.parseInt(s); int repeat = plugin.getConfig().getInt("custom-elements.categories." + s + ".repeat"); - ItemStack is = plugin.getItemStack("custom-elements.categories." + s + ".display", plugin.getConfig()); + MenuElement menuElement; + if (plugin.getConfig().contains("custom-elements.categories." + s + ".display")) { + ItemStack is = plugin.getItemStack("custom-elements.categories." + s + ".display", plugin.getConfig()); + menuElement = new CustomMenuElement(is); + } else if (plugin.getConfig().getBoolean("custom-elements.categories." + s + ".spacer", false)) { + menuElement = new SpacerMenuElement(); + } else continue; // user = idiot for (int i = 0; i <= repeat; i++) { - menuElements.put(slot + i, new CustomMenuElement(is)); + menuElements.put(slot + i, menuElement); } } } diff --git a/src/main/java/com/leonardobishop/quests/menu/QuestQMenu.java b/src/main/java/com/leonardobishop/quests/menu/QuestQMenu.java index bfc78617..46891604 100644 --- a/src/main/java/com/leonardobishop/quests/menu/QuestQMenu.java +++ b/src/main/java/com/leonardobishop/quests/menu/QuestQMenu.java @@ -6,6 +6,7 @@ import com.leonardobishop.quests.events.MenuController; import com.leonardobishop.quests.menu.element.CustomMenuElement; import com.leonardobishop.quests.menu.element.MenuElement; import com.leonardobishop.quests.menu.element.QuestMenuElement; +import com.leonardobishop.quests.menu.element.SpacerMenuElement; import com.leonardobishop.quests.player.QPlayer; import com.leonardobishop.quests.player.questprogressfile.QuestProgress; import com.leonardobishop.quests.quests.Quest; @@ -65,10 +66,16 @@ public class QuestQMenu implements QMenu { if (!NumberUtils.isNumber(s)) continue; int slot = Integer.parseInt(s); int repeat = plugin.getConfig().getInt(path + "." + s + ".repeat"); - ItemStack is = plugin.getItemStack(path + "." + s + ".display", plugin.getConfig()); + MenuElement menuElement; + if (plugin.getConfig().contains(path + "." + s + ".display")) { + ItemStack is = plugin.getItemStack(path + "." + s + ".display", plugin.getConfig()); + menuElement = new CustomMenuElement(is); + } else if (plugin.getConfig().getBoolean(path + "." + s + ".spacer", false)) { + menuElement = new SpacerMenuElement(); + } else continue; // user = idiot for (int i = 0; i <= repeat; i++) { - menuElements.put(slot + i, new CustomMenuElement(is)); + menuElements.put(slot + i, menuElement); } } } diff --git a/src/main/java/com/leonardobishop/quests/menu/element/SpacerMenuElement.java b/src/main/java/com/leonardobishop/quests/menu/element/SpacerMenuElement.java new file mode 100644 index 00000000..e2859718 --- /dev/null +++ b/src/main/java/com/leonardobishop/quests/menu/element/SpacerMenuElement.java @@ -0,0 +1,15 @@ +package com.leonardobishop.quests.menu.element; + +import org.bukkit.Material; +import org.bukkit.inventory.ItemStack; + +/** + * literally has the sole purpose of returning Material.AIR + */ +public class SpacerMenuElement extends MenuElement { + + @Override + public ItemStack asItemStack() { + return new ItemStack(Material.AIR); + } +} -- cgit v1.2.3-70-g09d2