Fix inventory quirk (#419)

This commit is contained in:
Matt Baxter
2020-10-09 22:56:41 -04:00
committed by GitHub
parent 5bf960c5a6
commit 8b65db8fc1
@@ -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());