Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion src/main/java/com/Lino/battlePass/gui/BaseGui.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,14 @@ public BaseGui(BattlePass plugin, String title, int size) {
}

public Inventory createInventory() {
return Bukkit.createInventory(null, size, title);
return BaseGui.createInventory(size, title);
}

public static Inventory createInventory(int size, String title) {
BaseHolder holder = new BaseHolder();
Inventory inv = Bukkit.createInventory(holder, size, title);
holder.setInventory(inv);
return inv;
}

protected ItemStack createItem(Material material, String displayName, List<String> lore) {
Expand Down
21 changes: 21 additions & 0 deletions src/main/java/com/Lino/battlePass/gui/BaseHolder.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package com.Lino.battlePass.gui;

import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.InventoryHolder;

public class BaseHolder implements InventoryHolder {
private Inventory inventory;

@Override
public Inventory getInventory() {
return inventory;
}

public void setInventory(Inventory inventory) {
this.inventory = inventory;
}

public static boolean isBattlePassInventory(Inventory inventory) {
return inventory.getHolder() instanceof BaseHolder;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ public void open() {
String title = GradientColorParser.parse(gradient + "Edit Level " + level + " " +
(isPremium ? "Premium" : "Free") + " Rewards</gradient>");

Inventory gui = Bukkit.createInventory(null, 54, title);
Inventory gui = BaseGui.createInventory(54, title);

int slot = 0;
for (EditableReward reward : currentRewards) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ public MissionDetailsGui(BattlePass plugin, Player player, String missionKey) {
}

public void open() {
Inventory gui = Bukkit.createInventory(null, 36, GradientColorParser.parse("<gradient:#4ECDC4:#45B7D1>Editing: " + missionKey + "</gradient>"));
Inventory gui = BaseGui.createInventory(36, GradientColorParser.parse("<gradient:#4ECDC4:#45B7D1>Editing: " + missionKey + "</gradient>"));
ConfigurationSection section = plugin.getConfigManager().getMissionsConfig().getConfigurationSection("mission-pools." + missionKey);

if (section == null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ public MissionEditorGui(BattlePass plugin, Player player, int page) {
}

public void open() {
Inventory gui = Bukkit.createInventory(null, 54, GradientColorParser.parse("<gradient:#FFD700:#FF6B6B>Mission Editor - Page " + page + "</gradient>"));
Inventory gui = BaseGui.createInventory(54, GradientColorParser.parse("<gradient:#FFD700:#FF6B6B>Mission Editor - Page " + page + "</gradient>"));

ConfigurationSection pools = plugin.getConfigManager().getMissionsConfig().getConfigurationSection("mission-pools");
List<String> keys = pools != null ? new ArrayList<>(pools.getKeys(false)) : new ArrayList<>();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ public MissionTypeSelectionGui(BattlePass plugin, Player player) {
}

public void open() {
Inventory gui = Bukkit.createInventory(null, 54, GradientColorParser.parse("<gradient:#FFD700:#FFA500>Select Mission Type</gradient>"));
Inventory gui = BaseGui.createInventory(54, GradientColorParser.parse("<gradient:#FFD700:#FFA500>Select Mission Type</gradient>"));

int slot = 0;
for (Map.Entry<String, Material> entry : MISSION_TYPES.entrySet()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ public void open() {
GradientColorParser.parse("<gradient:#FFD700:#FF6B6B>★ Premium Rewards</gradient> &8- &7Page " + page) :
GradientColorParser.parse("<gradient:#4ECDC4:#45B7D1>⚡ Free Rewards</gradient> &8- &7Page " + page);

Inventory gui = Bukkit.createInventory(null, 54, title);
Inventory gui = BaseGui.createInventory(54, title);

int startLevel = (page - 1) * LEVELS_PER_PAGE + 1;
int endLevel = startLevel + LEVELS_PER_PAGE - 1;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.Lino.battlePass.listeners;

import com.Lino.battlePass.BattlePass;
import com.Lino.battlePass.gui.BaseHolder;
import com.Lino.battlePass.models.PlayerData;
import org.bukkit.Material;
import org.bukkit.Sound;
Expand All @@ -24,6 +25,8 @@ public GuiClickListener(BattlePass plugin) {

@EventHandler(priority = EventPriority.HIGHEST)
public void onInventoryClick(InventoryClickEvent event) {
if (!BaseHolder.isBattlePassInventory(event.getView().getTopInventory())) return;

String title = event.getView().getTitle();
Player player = (Player) event.getWhoClicked();

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.Lino.battlePass.listeners;

import com.Lino.battlePass.BattlePass;
import com.Lino.battlePass.gui.BaseHolder;
import com.Lino.battlePass.managers.MissionEditorManager;
import org.bukkit.ChatColor;
import org.bukkit.Material;
Expand Down Expand Up @@ -37,6 +38,8 @@ public void onChat(AsyncPlayerChatEvent event) {

@EventHandler
public void onInventoryClick(InventoryClickEvent event) {
if (!BaseHolder.isBattlePassInventory(event.getView().getTopInventory())) return;

if (!(event.getWhoClicked() instanceof Player)) return;
Player player = (Player) event.getWhoClicked();
String title = ChatColor.stripColor(event.getView().getTitle());
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.Lino.battlePass.listeners;

import com.Lino.battlePass.BattlePass;
import com.Lino.battlePass.gui.BaseHolder;
import com.Lino.battlePass.gui.LevelRewardEditGui;
import com.Lino.battlePass.gui.RewardsCategoryGui;
import com.Lino.battlePass.gui.RewardsEditorGui;
Expand Down Expand Up @@ -35,6 +36,8 @@ public RewardsEditorListener(BattlePass plugin) {

@EventHandler(priority = EventPriority.HIGHEST)
public void onInventoryClick(InventoryClickEvent event) {
if (!BaseHolder.isBattlePassInventory(event.getView().getTopInventory())) return;

if (!(event.getWhoClicked() instanceof Player)) return;

Player player = (Player) event.getWhoClicked();
Expand All @@ -57,6 +60,8 @@ else if (title.startsWith(EDIT_LEVEL_START) && title.endsWith(EDIT_LEVEL_END)) {

@EventHandler
public void onInventoryDrag(InventoryDragEvent event) {
if (!BaseHolder.isBattlePassInventory(event.getView().getTopInventory())) return;

if (!(event.getWhoClicked() instanceof Player)) return;

String title = ChatColor.stripColor(event.getView().getTitle());
Expand Down