1
mirror of https://github.com/StarWishsama/Slimefun4.git synced 2024-09-20 03:35:51 +00:00

Slimefun book GUI dupe fix

Adds a player to a List when they have the guide open and cancels all inventory clicks until the menu is closed.
This commit is contained in:
VoidAngel 2018-04-17 23:35:33 -07:00
parent 5b51953423
commit 19f4666235
3 changed files with 21 additions and 0 deletions

View File

@ -236,6 +236,7 @@ public class SlimefunGuide {
} }
}); });
Variables.usingGuide.add(p.getUniqueId());
menu.open(p); menu.open(p);
} }
@ -328,6 +329,7 @@ public class SlimefunGuide {
}); });
} }
Variables.usingGuide.add(p.getUniqueId());
menu.open(p); menu.open(p);
} }
@ -646,6 +648,7 @@ public class SlimefunGuide {
} }
}); });
Variables.usingGuide.add(p.getUniqueId());
menu.open(p); menu.open(p);
} }
} }
@ -925,6 +928,7 @@ public class SlimefunGuide {
} }
} }
Variables.usingGuide.add(p.getUniqueId());
menu.open(p); menu.open(p);
} }
@ -1317,6 +1321,7 @@ public class SlimefunGuide {
} }
} }
Variables.usingGuide.add(p.getUniqueId());
menu.build().open(p); menu.build().open(p);
} }

View File

@ -23,5 +23,6 @@ public class Variables {
public static List<UUID> blocks = new ArrayList<UUID>(); public static List<UUID> blocks = new ArrayList<UUID>();
public static List<UUID> cancelPlace = new ArrayList<UUID>(); public static List<UUID> cancelPlace = new ArrayList<UUID>();
public static Map<UUID, ItemStack> arrows = new HashMap<UUID, ItemStack>(); public static Map<UUID, ItemStack> arrows = new HashMap<UUID, ItemStack>();
public static List<UUID> usingGuide = new ArrayList<UUID>();
} }

View File

@ -20,6 +20,7 @@ import org.bukkit.event.block.Action;
import org.bukkit.event.entity.EntityChangeBlockEvent; import org.bukkit.event.entity.EntityChangeBlockEvent;
import org.bukkit.event.inventory.CraftItemEvent; import org.bukkit.event.inventory.CraftItemEvent;
import org.bukkit.event.inventory.InventoryClickEvent; import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.event.inventory.InventoryCloseEvent;
import org.bukkit.event.inventory.InventoryMoveItemEvent; import org.bukkit.event.inventory.InventoryMoveItemEvent;
import org.bukkit.event.inventory.InventoryType; import org.bukkit.event.inventory.InventoryType;
import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.event.player.PlayerInteractEvent;
@ -386,4 +387,18 @@ public class ItemListener implements Listener {
} }
} }
} }
@EventHandler
public void onClose(InventoryCloseEvent e) {
if (Variables.usingGuide.contains(e.getPlayer().getUniqueId())) {
Variables.usingGuide.remove(e.getPlayer().getUniqueId());
}
}
@EventHandler
public void inventoryClickEvent(final InventoryClickEvent e) {
if (Variables.usingGuide.contains(e.getWhoClicked().getUniqueId())) {
e.setCancelled(true);
}
}
} }