Skip to content

Commit 490cec6

Browse files
committed
1.0.4
1 parent 3470616 commit 490cec6

File tree

5 files changed

+40
-13
lines changed

5 files changed

+40
-13
lines changed

pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
<groupId>net.fameless</groupId>
77
<artifactId>AllItems</artifactId>
8-
<version>1.0.3</version>
8+
<version>1.0.4</version>
99
<packaging>jar</packaging>
1010

1111
<name>AllItems</name>

src/main/java/net/fameless/allitems/command/PlayerStatsCommand.java

+11-3
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import org.bukkit.event.Listener;
1515
import org.bukkit.event.inventory.InventoryClickEvent;
1616
import org.bukkit.inventory.Inventory;
17+
import org.bukkit.inventory.InventoryHolder;
1718
import org.bukkit.inventory.ItemStack;
1819
import org.bukkit.inventory.meta.ItemMeta;
1920
import org.bukkit.inventory.meta.SkullMeta;
@@ -37,9 +38,10 @@ public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command
3738
return false;
3839
}
3940

40-
static class GUI {
41+
static class GUI implements InventoryHolder {
42+
private Inventory gui;
4143
public GUI(Player player, int page) {
42-
Inventory gui = Bukkit.createInventory(null, 54, "Player Stats | Page " + page);
44+
gui = Bukkit.createInventory(this, 54, "Player Stats | Page " + page);
4345

4446
List<UUID> playerList = new ArrayList<>();
4547

@@ -85,6 +87,12 @@ public GUI(Player player, int page) {
8587
player.closeInventory();
8688
player.openInventory(gui);
8789
}
90+
91+
@NotNull
92+
@Override
93+
public Inventory getInventory() {
94+
return gui;
95+
}
8896
}
8997

9098
static class PageUtil {
@@ -125,7 +133,7 @@ public static boolean isPageValid(List<UUID> players, int page, int spaces) {
125133

126134
@EventHandler(ignoreCancelled = true)
127135
public void onInventoryClick(InventoryClickEvent event) {
128-
if (!event.getView().getTitle().contains("Player Stats")) return;
136+
if (!(event.getInventory().getHolder() instanceof GUI)) return;
129137
if (event.getCurrentItem() == null) return;
130138

131139
int page = Integer.parseInt(event.getInventory().getItem(0).getItemMeta().getLocalizedName());

src/main/java/net/fameless/allitems/command/SettingsCommand.java

+14-4
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,11 @@
1616
import org.bukkit.event.Listener;
1717
import org.bukkit.event.inventory.InventoryClickEvent;
1818
import org.bukkit.inventory.Inventory;
19+
import org.bukkit.inventory.InventoryHolder;
1920
import org.bukkit.inventory.ItemStack;
2021
import org.jetbrains.annotations.NotNull;
2122

22-
public class SettingsCommand implements CommandExecutor, Listener {
23+
public class SettingsCommand implements CommandExecutor, Listener, InventoryHolder {
2324

2425
@Override
2526
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
@@ -38,6 +39,7 @@ public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command
3839

3940
@EventHandler(ignoreCancelled = true)
4041
public void onInventoryClick(InventoryClickEvent event) {
42+
if (!(event.getInventory().getHolder() instanceof SettingsCommand)) return;
4143
if (event.getView().getTitle().contains("Settings")) {
4244
if (!event.getWhoClicked().hasPermission("allitems.settings.settings")) {
4345
event.getWhoClicked().sendMessage(ChatColor.RED + "Lacking permission: 'allitems.settings.settings'");
@@ -55,6 +57,7 @@ public void onInventoryClick(InventoryClickEvent event) {
5557
break;
5658
}
5759
}
60+
return;
5861
}
5962
if (event.getView().getTitle().contains("Timer settings")) {
6063
if (!event.getWhoClicked().hasPermission("allitems.settings.timer")) {
@@ -85,6 +88,7 @@ public void onInventoryClick(InventoryClickEvent event) {
8588
}
8689
}
8790
event.getWhoClicked().openInventory(getTimerInv());
91+
return;
8892
}
8993
if (event.getView().getTitle().contains("Game settings")) {
9094
if (!event.getWhoClicked().hasPermission("allitems.settings.game")) {
@@ -116,7 +120,7 @@ public void onInventoryClick(InventoryClickEvent event) {
116120
}
117121

118122
private Inventory getSettingsInv() {
119-
Inventory inventory = Bukkit.createInventory(null, 9, ChatColor.BLUE.toString() + ChatColor.BOLD + "Settings");
123+
Inventory inventory = Bukkit.createInventory(this, 9, ChatColor.BLUE.toString() + ChatColor.BOLD + "Settings");
120124
inventory.setItem(0, ItemBuilder.buildItem(new ItemStack(Material.CLOCK), ChatColor.BLUE + "Timer", true,
121125
ChatColor.GRAY + "Open Timer settings"));
122126
inventory.setItem(1, ItemBuilder.buildItem(new ItemStack(Material.ARROW), ChatColor.BLUE + "Game", true,
@@ -125,7 +129,7 @@ private Inventory getSettingsInv() {
125129
}
126130

127131
private Inventory getTimerInv() {
128-
Inventory inventory = Bukkit.createInventory(null, 9, ChatColor.BLUE.toString() + ChatColor.BOLD + "Timer settings");
132+
Inventory inventory = Bukkit.createInventory(this, 9, ChatColor.BLUE.toString() + ChatColor.BOLD + "Timer settings");
129133
inventory.setItem(0, ItemBuilder.buildItem(new ItemStack(Material.CLOCK), ChatColor.BLUE + "Toggle", true,
130134
ChatColor.GRAY + "Click to toggle the timer", "", ChatColor.GRAY + "Timer is currently " + ChatColor.BLUE +
131135
(AllItems.getInstance().getTimer().isRunning() ? "running" : "paused")));
@@ -139,7 +143,7 @@ private Inventory getTimerInv() {
139143
}
140144

141145
private Inventory getGameInv() {
142-
Inventory inventory = Bukkit.createInventory(null, 9, ChatColor.BLUE.toString() + ChatColor.BOLD + "Game settings");
146+
Inventory inventory = Bukkit.createInventory(this, 9, ChatColor.BLUE.toString() + ChatColor.BOLD + "Game settings");
143147
inventory.setItem(0, ItemBuilder.buildItem(new ItemStack(Material.BARRIER), ChatColor.BLUE + "Skip", true,
144148
ChatColor.GRAY + "Click to skip the current item", "", ChatColor.GRAY + "Current item: " + ChatColor.BLUE +
145149
(ItemManager.getCurrentItem() != null ? Format.formatItemName(ItemManager.getCurrentItem().name().replace("_", " "))
@@ -148,4 +152,10 @@ private Inventory getGameInv() {
148152
ChatColor.GRAY + "Click to open the stats"));
149153
return inventory;
150154
}
155+
156+
@NotNull
157+
@Override
158+
public Inventory getInventory() {
159+
return getSettingsInv();
160+
}
151161
}

src/main/java/net/fameless/allitems/command/StatsCommand.java

+13-4
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,10 @@
1616
import org.bukkit.event.Listener;
1717
import org.bukkit.event.inventory.InventoryClickEvent;
1818
import org.bukkit.inventory.Inventory;
19+
import org.bukkit.inventory.InventoryHolder;
1920
import org.bukkit.inventory.ItemStack;
2021
import org.bukkit.inventory.meta.ItemMeta;
22+
import org.jetbrains.annotations.NotNull;
2123

2224
import java.util.ArrayList;
2325
import java.util.List;
@@ -39,10 +41,11 @@ public boolean onCommand(CommandSender sender, Command command, String label, St
3941
return false;
4042
}
4143

42-
static class GUI {
43-
public GUI(Player player, int page) {
44+
static class GUI implements InventoryHolder {
45+
private Inventory gui;
4446

45-
Inventory gui = Bukkit.createInventory(null, 54, "Results | Page " + page);
47+
public GUI(Player player, int page) {
48+
gui = Bukkit.createInventory(this, 54, "Results | Page " + page);
4649

4750
List<Material> finishedItems = new ArrayList<>();
4851

@@ -90,6 +93,12 @@ public GUI(Player player, int page) {
9093
player.closeInventory();
9194
player.openInventory(gui);
9295
}
96+
97+
@NotNull
98+
@Override
99+
public Inventory getInventory() {
100+
return gui;
101+
}
93102
}
94103

95104
static class PageUtil {
@@ -129,7 +138,7 @@ public static boolean isPageValid(List<Material> items, int page, int spaces) {
129138

130139
@EventHandler(ignoreCancelled = true)
131140
public void onInventoryClick(InventoryClickEvent event) {
132-
if (!event.getView().getTitle().contains("Results")) return;
141+
if (!(event.getInventory().getHolder() instanceof GUI)) return;
133142
if (event.getCurrentItem() == null) return;
134143

135144
int page = Integer.parseInt(event.getInventory().getItem(0).getItemMeta().getLocalizedName());

src/main/resources/plugin.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: AllItems
2-
version: '1.0.3'
2+
version: '1.0.4'
33
main: net.fameless.allitems.AllItems
44
api-version: '1.20'
55
author: Fameless9

0 commit comments

Comments
 (0)