From 8b65db8fc1b6e36c155774ed4f1b2fc75640bdde Mon Sep 17 00:00:00 2001 From: Matt Baxter Date: Fri, 9 Oct 2020 22:56:41 -0400 Subject: [PATCH] Fix inventory quirk (#419) --- .../com/drtshock/playervaults/listeners/Listeners.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/drtshock/playervaults/listeners/Listeners.java b/src/main/java/com/drtshock/playervaults/listeners/Listeners.java index b945318..ef5f7e5 100644 --- a/src/main/java/com/drtshock/playervaults/listeners/Listeners.java +++ b/src/main/java/com/drtshock/playervaults/listeners/Listeners.java @@ -24,6 +24,7 @@ import com.drtshock.playervaults.vaultmanagement.VaultManager; import com.drtshock.playervaults.vaultmanagement.VaultViewInfo; import org.bukkit.Bukkit; import org.bukkit.entity.EntityType; +import org.bukkit.entity.HumanEntity; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; @@ -38,6 +39,8 @@ import org.bukkit.event.player.PlayerTeleportEvent; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; +import java.util.stream.Collectors; + public class Listeners implements Listener { public final PlayerVaults plugin; @@ -53,10 +56,14 @@ public class Listeners implements Listener { Inventory inv = Bukkit.createInventory(null, 6 * 9); inv.setContents(inventory.getContents().clone()); - if (inventory.getViewers().size() == 1) { + PlayerVaults.debug(inventory.getType() + " " + inventory.getClass().getSimpleName()); + if (inventory.getViewers().size() <= 1) { + PlayerVaults.debug("Saving!"); VaultViewInfo info = plugin.getInVault().get(player.getUniqueId().toString()); vaultManager.saveVault(inv, info.getVaultName(), info.getNumber()); plugin.getOpenInventories().remove(info.toString()); + } else { + PlayerVaults.debug("Other viewers found, not saving! " + inventory.getViewers().stream().map(HumanEntity::getName).collect(Collectors.joining(" "))); } plugin.getInVault().remove(player.getUniqueId().toString());