From f78a5b4fbacb588fbc25c3413c6065e4eff47ce2 Mon Sep 17 00:00:00 2001 From: Jikoo Date: Thu, 27 Jan 2022 11:37:53 -0500 Subject: [PATCH] Ignore PlayerInventory owner as a viewer If online, owner is always a viewer. If offline, they are never a viewer. There's no reason to count them - keeps inventory permanently cached while online if opened, even if not in use. --- .../openinv/internal/v1_17_R1/SpecialPlayerInventory.java | 5 +++-- .../openinv/internal/v1_18_R1/SpecialPlayerInventory.java | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/internal/v1_17_R1/src/main/java/com/lishid/openinv/internal/v1_17_R1/SpecialPlayerInventory.java b/internal/v1_17_R1/src/main/java/com/lishid/openinv/internal/v1_17_R1/SpecialPlayerInventory.java index 3fc5c02..1a85469 100644 --- a/internal/v1_17_R1/src/main/java/com/lishid/openinv/internal/v1_17_R1/SpecialPlayerInventory.java +++ b/internal/v1_17_R1/src/main/java/com/lishid/openinv/internal/v1_17_R1/SpecialPlayerInventory.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2011-2021 lishid. All rights reserved. + * Copyright (C) 2011-2022 lishid. All rights reserved. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -105,7 +105,8 @@ public class SpecialPlayerInventory extends Inventory implements ISpecialPlayerI @Override public boolean isInUse() { - return !this.getViewers().isEmpty(); + List viewers = this.getViewers(); + return viewers.size() > 1 || !viewers.isEmpty() && !viewers.get(0).getUniqueId().equals(this.player.getUUID()); } @Override diff --git a/internal/v1_18_R1/src/main/java/com/lishid/openinv/internal/v1_18_R1/SpecialPlayerInventory.java b/internal/v1_18_R1/src/main/java/com/lishid/openinv/internal/v1_18_R1/SpecialPlayerInventory.java index 9324231..7133f80 100644 --- a/internal/v1_18_R1/src/main/java/com/lishid/openinv/internal/v1_18_R1/SpecialPlayerInventory.java +++ b/internal/v1_18_R1/src/main/java/com/lishid/openinv/internal/v1_18_R1/SpecialPlayerInventory.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2011-2021 lishid. All rights reserved. + * Copyright (C) 2011-2022 lishid. All rights reserved. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -105,7 +105,8 @@ public class SpecialPlayerInventory extends Inventory implements ISpecialPlayerI @Override public boolean isInUse() { - return !this.getViewers().isEmpty(); + List viewers = this.getViewers(); + return viewers.size() > 1 || !viewers.isEmpty() && !viewers.get(0).getUniqueId().equals(this.player.getUUID()); } @Override