Don't close other inventories for opened player during close
This commit is contained in:
@@ -522,6 +522,11 @@ public class OpenInv extends JavaPlugin implements IOpenInv {
|
|||||||
static void ejectViewers(@NotNull ISpecialInventory inventory, @NotNull Predicate<@NotNull HumanEntity> predicate) {
|
static void ejectViewers(@NotNull ISpecialInventory inventory, @NotNull Predicate<@NotNull HumanEntity> predicate) {
|
||||||
Inventory bukkitInventory = inventory.getBukkitInventory();
|
Inventory bukkitInventory = inventory.getBukkitInventory();
|
||||||
for (HumanEntity viewer : new ArrayList<>(bukkitInventory.getViewers())) {
|
for (HumanEntity viewer : new ArrayList<>(bukkitInventory.getViewers())) {
|
||||||
|
if (viewer.getUniqueId().equals(inventory.getPlayer().getUniqueId())
|
||||||
|
&& !viewer.getOpenInventory().getTopInventory().equals(bukkitInventory)) {
|
||||||
|
// Skip owner with other inventory open. They aren't actually a viewer.
|
||||||
|
continue;
|
||||||
|
}
|
||||||
if (predicate.test(viewer)) {
|
if (predicate.test(viewer)) {
|
||||||
viewer.closeInventory();
|
viewer.closeInventory();
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user