mirror of
https://github.com/CarmJos/EasyPlugin.git
synced 2024-09-19 19:25:45 +00:00
修复在GUI中打开另一个GUI时监听器失效问题
This commit is contained in:
parent
12ff00e1d9
commit
892371f702
@ -132,31 +132,23 @@ public class GUI {
|
||||
}
|
||||
|
||||
public void addFlag(String flag, Object obj) {
|
||||
if (this.flags == null) {
|
||||
this.flags = new HashMap<>();
|
||||
}
|
||||
if (this.flags == null) this.flags = new HashMap<>();
|
||||
this.flags.put(flag, obj);
|
||||
}
|
||||
|
||||
public Object getFlag(String flag) {
|
||||
if (this.flags == null) {
|
||||
return null;
|
||||
} else {
|
||||
if (this.flags == null) return null;
|
||||
else
|
||||
return this.flags.get(flag);
|
||||
}
|
||||
}
|
||||
|
||||
public void setFlag(String flag, Object obj) {
|
||||
if (this.flags == null) {
|
||||
this.flags = new HashMap<>();
|
||||
}
|
||||
if (this.flags == null) this.flags = new HashMap<>();
|
||||
this.flags.replace(flag, obj);
|
||||
}
|
||||
|
||||
public void removeFlag(String flag) {
|
||||
if (this.flags == null) {
|
||||
this.flags = new HashMap<>();
|
||||
}
|
||||
if (this.flags == null) this.flags = new HashMap<>();
|
||||
this.flags.remove(flag);
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,5 @@
|
||||
package cc.carm.lib.easyplugin.gui;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.HandlerList;
|
||||
@ -24,10 +23,10 @@ public class GUIListener implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void onInventoryClickEvent(InventoryClickEvent event) {
|
||||
if (!(event.getWhoClicked() instanceof Player)) { return; }
|
||||
if (!(event.getWhoClicked() instanceof Player)) return;
|
||||
Player player = (Player) event.getWhoClicked();
|
||||
if (!GUI.hasOpenedGUI(player)) { return;}
|
||||
if (GUI.getOpenedGUI(player) != getCurrentGUI()) { return; }
|
||||
if (!GUI.hasOpenedGUI(player)) return;
|
||||
if (GUI.getOpenedGUI(player) != getCurrentGUI()) return;
|
||||
|
||||
getCurrentGUI().rawClickListener(event);
|
||||
|
||||
@ -36,11 +35,11 @@ public class GUIListener implements Listener {
|
||||
return;
|
||||
}
|
||||
|
||||
if (event.getClickedInventory() == null) { return; }
|
||||
if (event.getClickedInventory() == null) return;
|
||||
|
||||
if (event.getClickedInventory().equals(getCurrentGUI().inv)) {
|
||||
|
||||
if (getCurrentGUI().cancelOnTarget) { event.setCancelled(true); }
|
||||
if (getCurrentGUI().cancelOnTarget) event.setCancelled(true);
|
||||
|
||||
if (event.getSlot() != -999) {
|
||||
GUIItem clickedItem = getCurrentGUI().getItem(event.getSlot());
|
||||
@ -62,7 +61,7 @@ public class GUIListener implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void onDrag(InventoryDragEvent e) {
|
||||
if (!(e.getWhoClicked() instanceof Player)) { return; }
|
||||
if (!(e.getWhoClicked() instanceof Player)) return;
|
||||
if (e.getInventory().equals(getCurrentGUI().inv)
|
||||
|| e.getInventory().equals(e.getWhoClicked().getInventory())) {
|
||||
getCurrentGUI().onDrag(e);
|
||||
@ -71,8 +70,8 @@ public class GUIListener implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void onInventoryCloseEvent(InventoryCloseEvent event) {
|
||||
if (!(event.getPlayer() instanceof Player)) { return; }
|
||||
if (!event.getInventory().equals(getCurrentGUI().inv)) { return; }
|
||||
if (!(event.getPlayer() instanceof Player)) return;
|
||||
if (!event.getInventory().equals(getCurrentGUI().inv)) return;
|
||||
|
||||
close((Player) event.getPlayer());
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user