mirror of
https://github.com/BentoBoxWorld/BentoBox.git
synced 2024-11-05 18:40:06 +01:00
Added option to close panel on click outside of it
This is related to commit #8d596c5f1d24ea2e319e5172b2c954a8caa46f67
This commit is contained in:
parent
9202cacb12
commit
63dd2d95b2
@ -412,6 +412,9 @@ public class Settings implements DataObject, WorldSettings {
|
|||||||
@ConfigEntry(path = "island.require-confirmation.leave-wait")
|
@ConfigEntry(path = "island.require-confirmation.leave-wait")
|
||||||
private long leaveWait = 10L;
|
private long leaveWait = 10L;
|
||||||
|
|
||||||
|
@ConfigEntry(path = "panel.close-on-click-outside")
|
||||||
|
private boolean closePanelOnClickOutside = true;
|
||||||
|
|
||||||
private String uniqueId = "config";
|
private String uniqueId = "config";
|
||||||
|
|
||||||
// Getters and setters
|
// Getters and setters
|
||||||
@ -1482,4 +1485,12 @@ public class Settings implements DataObject, WorldSettings {
|
|||||||
this.worldFlags = worldFlags;
|
this.worldFlags = worldFlags;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean getClosePanelOnClickOutside() {
|
||||||
|
return closePanelOnClickOutside;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setClosePanelOnClickOutside(boolean closePanelOnClickOutside) {
|
||||||
|
this.closePanelOnClickOutside = closePanelOnClickOutside;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -13,6 +13,7 @@ import org.bukkit.event.inventory.InventoryType.SlotType;
|
|||||||
import org.bukkit.event.player.PlayerQuitEvent;
|
import org.bukkit.event.player.PlayerQuitEvent;
|
||||||
import org.bukkit.inventory.Inventory;
|
import org.bukkit.inventory.Inventory;
|
||||||
|
|
||||||
|
import us.tastybento.bskyblock.BSkyBlock;
|
||||||
import us.tastybento.bskyblock.api.panels.Panel;
|
import us.tastybento.bskyblock.api.panels.Panel;
|
||||||
import us.tastybento.bskyblock.api.panels.PanelItem;
|
import us.tastybento.bskyblock.api.panels.PanelItem;
|
||||||
import us.tastybento.bskyblock.api.user.User;
|
import us.tastybento.bskyblock.api.user.User;
|
||||||
@ -23,13 +24,12 @@ public class PanelListenerManager implements Listener {
|
|||||||
|
|
||||||
@EventHandler(priority = EventPriority.LOWEST)
|
@EventHandler(priority = EventPriority.LOWEST)
|
||||||
public void onInventoryClick(InventoryClickEvent event) {
|
public void onInventoryClick(InventoryClickEvent event) {
|
||||||
// Close inventory if clicked outside
|
// Close inventory if clicked outside and if setting is true
|
||||||
if (event.getSlotType().equals(SlotType.OUTSIDE)) {
|
if (BSkyBlock.getInstance().getSettings().getClosePanelOnClickOutside() && event.getSlotType().equals(SlotType.OUTSIDE)) {
|
||||||
event.getWhoClicked().closeInventory();
|
event.getWhoClicked().closeInventory();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
User user = User.getInstance(event.getWhoClicked()); // The player that
|
User user = User.getInstance(event.getWhoClicked()); // The player that clicked the item
|
||||||
// clicked the item
|
|
||||||
Inventory inventory = event.getInventory(); // The inventory that was
|
Inventory inventory = event.getInventory(); // The inventory that was
|
||||||
// Open the inventory panel that this player has open (they can only ever have one)
|
// Open the inventory panel that this player has open (they can only ever have one)
|
||||||
if (openPanels.containsKey(user.getUniqueId())) {
|
if (openPanels.containsKey(user.getUniqueId())) {
|
||||||
|
Loading…
Reference in New Issue
Block a user