Fix inventory quirk (#419)
This commit is contained in:
@@ -24,6 +24,7 @@ import com.drtshock.playervaults.vaultmanagement.VaultManager;
|
|||||||
import com.drtshock.playervaults.vaultmanagement.VaultViewInfo;
|
import com.drtshock.playervaults.vaultmanagement.VaultViewInfo;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.entity.EntityType;
|
import org.bukkit.entity.EntityType;
|
||||||
|
import org.bukkit.entity.HumanEntity;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.EventPriority;
|
import org.bukkit.event.EventPriority;
|
||||||
@@ -38,6 +39,8 @@ import org.bukkit.event.player.PlayerTeleportEvent;
|
|||||||
import org.bukkit.inventory.Inventory;
|
import org.bukkit.inventory.Inventory;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
public class Listeners implements Listener {
|
public class Listeners implements Listener {
|
||||||
|
|
||||||
public final PlayerVaults plugin;
|
public final PlayerVaults plugin;
|
||||||
@@ -53,10 +56,14 @@ public class Listeners implements Listener {
|
|||||||
Inventory inv = Bukkit.createInventory(null, 6 * 9);
|
Inventory inv = Bukkit.createInventory(null, 6 * 9);
|
||||||
inv.setContents(inventory.getContents().clone());
|
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());
|
VaultViewInfo info = plugin.getInVault().get(player.getUniqueId().toString());
|
||||||
vaultManager.saveVault(inv, info.getVaultName(), info.getNumber());
|
vaultManager.saveVault(inv, info.getVaultName(), info.getNumber());
|
||||||
plugin.getOpenInventories().remove(info.toString());
|
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());
|
plugin.getInVault().remove(player.getUniqueId().toString());
|
||||||
|
|||||||
Reference in New Issue
Block a user