16
16
import org .bukkit .event .Listener ;
17
17
import org .bukkit .event .inventory .InventoryClickEvent ;
18
18
import org .bukkit .inventory .Inventory ;
19
+ import org .bukkit .inventory .InventoryHolder ;
19
20
import org .bukkit .inventory .ItemStack ;
20
21
import org .jetbrains .annotations .NotNull ;
21
22
22
- public class SettingsCommand implements CommandExecutor , Listener {
23
+ public class SettingsCommand implements CommandExecutor , Listener , InventoryHolder {
23
24
24
25
@ Override
25
26
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
38
39
39
40
@ EventHandler (ignoreCancelled = true )
40
41
public void onInventoryClick (InventoryClickEvent event ) {
42
+ if (!(event .getInventory ().getHolder () instanceof SettingsCommand )) return ;
41
43
if (event .getView ().getTitle ().contains ("Settings" )) {
42
44
if (!event .getWhoClicked ().hasPermission ("allitems.settings.settings" )) {
43
45
event .getWhoClicked ().sendMessage (ChatColor .RED + "Lacking permission: 'allitems.settings.settings'" );
@@ -55,6 +57,7 @@ public void onInventoryClick(InventoryClickEvent event) {
55
57
break ;
56
58
}
57
59
}
60
+ return ;
58
61
}
59
62
if (event .getView ().getTitle ().contains ("Timer settings" )) {
60
63
if (!event .getWhoClicked ().hasPermission ("allitems.settings.timer" )) {
@@ -85,6 +88,7 @@ public void onInventoryClick(InventoryClickEvent event) {
85
88
}
86
89
}
87
90
event .getWhoClicked ().openInventory (getTimerInv ());
91
+ return ;
88
92
}
89
93
if (event .getView ().getTitle ().contains ("Game settings" )) {
90
94
if (!event .getWhoClicked ().hasPermission ("allitems.settings.game" )) {
@@ -116,7 +120,7 @@ public void onInventoryClick(InventoryClickEvent event) {
116
120
}
117
121
118
122
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" );
120
124
inventory .setItem (0 , ItemBuilder .buildItem (new ItemStack (Material .CLOCK ), ChatColor .BLUE + "Timer" , true ,
121
125
ChatColor .GRAY + "Open Timer settings" ));
122
126
inventory .setItem (1 , ItemBuilder .buildItem (new ItemStack (Material .ARROW ), ChatColor .BLUE + "Game" , true ,
@@ -125,7 +129,7 @@ private Inventory getSettingsInv() {
125
129
}
126
130
127
131
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" );
129
133
inventory .setItem (0 , ItemBuilder .buildItem (new ItemStack (Material .CLOCK ), ChatColor .BLUE + "Toggle" , true ,
130
134
ChatColor .GRAY + "Click to toggle the timer" , "" , ChatColor .GRAY + "Timer is currently " + ChatColor .BLUE +
131
135
(AllItems .getInstance ().getTimer ().isRunning () ? "running" : "paused" )));
@@ -139,7 +143,7 @@ private Inventory getTimerInv() {
139
143
}
140
144
141
145
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" );
143
147
inventory .setItem (0 , ItemBuilder .buildItem (new ItemStack (Material .BARRIER ), ChatColor .BLUE + "Skip" , true ,
144
148
ChatColor .GRAY + "Click to skip the current item" , "" , ChatColor .GRAY + "Current item: " + ChatColor .BLUE +
145
149
(ItemManager .getCurrentItem () != null ? Format .formatItemName (ItemManager .getCurrentItem ().name ().replace ("_" , " " ))
@@ -148,4 +152,10 @@ private Inventory getGameInv() {
148
152
ChatColor .GRAY + "Click to open the stats" ));
149
153
return inventory ;
150
154
}
155
+
156
+ @ NotNull
157
+ @ Override
158
+ public Inventory getInventory () {
159
+ return getSettingsInv ();
160
+ }
151
161
}
0 commit comments