From e19447f7b907a2bab0e9f292a4e7074afdfcc87a Mon Sep 17 00:00:00 2001 From: NichtStudioCode <51272202+NichtStudioCode@users.noreply.github.com> Date: Sun, 11 Jun 2023 16:38:00 +0200 Subject: [PATCH] Save viewer instance in AbstractWindow --- .../xenondevs/invui/window/AbstractDoubleWindow.java | 2 +- .../xenondevs/invui/window/AbstractSingleWindow.java | 4 ++-- .../xyz/xenondevs/invui/window/AbstractWindow.java | 10 ++++++---- .../xenondevs/invui/window/AnvilSingleWindowImpl.java | 2 +- .../invui/window/CartographySingleWindowImpl.java | 2 +- .../xenondevs/invui/window/NormalSingleWindowImpl.java | 2 +- 6 files changed, 12 insertions(+), 10 deletions(-) diff --git a/invui-core/src/main/java/xyz/xenondevs/invui/window/AbstractDoubleWindow.java b/invui-core/src/main/java/xyz/xenondevs/invui/window/AbstractDoubleWindow.java index 4fc99bb..88c292b 100644 --- a/invui-core/src/main/java/xyz/xenondevs/invui/window/AbstractDoubleWindow.java +++ b/invui-core/src/main/java/xyz/xenondevs/invui/window/AbstractDoubleWindow.java @@ -27,7 +27,7 @@ public abstract class AbstractDoubleWindow extends AbstractWindow { protected Inventory upperInventory; public AbstractDoubleWindow(Player player, ComponentWrapper title, int size, Inventory upperInventory, boolean closeable) { - super(player.getUniqueId(), title, size, closeable); + super(player, title, size, closeable); this.upperInventory = upperInventory; this.playerInventory = player.getInventory(); } diff --git a/invui-core/src/main/java/xyz/xenondevs/invui/window/AbstractSingleWindow.java b/invui-core/src/main/java/xyz/xenondevs/invui/window/AbstractSingleWindow.java index 6c8b76b..e6986c0 100644 --- a/invui-core/src/main/java/xyz/xenondevs/invui/window/AbstractSingleWindow.java +++ b/invui-core/src/main/java/xyz/xenondevs/invui/window/AbstractSingleWindow.java @@ -31,8 +31,8 @@ public abstract class AbstractSingleWindow extends AbstractWindow { private final int size; protected org.bukkit.inventory.Inventory inventory; - public AbstractSingleWindow(UUID viewerUUID, ComponentWrapper title, AbstractGui gui, org.bukkit.inventory.Inventory inventory, boolean closeable) { - super(viewerUUID, title, gui.getSize(), closeable); + public AbstractSingleWindow(Player viewer, ComponentWrapper title, AbstractGui gui, org.bukkit.inventory.Inventory inventory, boolean closeable) { + super(viewer, title, gui.getSize(), closeable); this.gui = gui; this.size = gui.getSize(); this.inventory = inventory; diff --git a/invui-core/src/main/java/xyz/xenondevs/invui/window/AbstractWindow.java b/invui-core/src/main/java/xyz/xenondevs/invui/window/AbstractWindow.java index 9fde276..f8d8cdf 100644 --- a/invui-core/src/main/java/xyz/xenondevs/invui/window/AbstractWindow.java +++ b/invui-core/src/main/java/xyz/xenondevs/invui/window/AbstractWindow.java @@ -41,6 +41,7 @@ public abstract class AbstractWindow implements Window, GuiParent { private static final NamespacedKey SLOT_KEY = new NamespacedKey(InvUI.getInstance().getPlugin(), "slot"); + private final Player viewer; private final UUID viewerUUID; private final SlotElement[] elementsDisplayed; private List openHandlers; @@ -51,8 +52,9 @@ public abstract class AbstractWindow implements Window, GuiParent { private boolean currentlyOpen; private boolean hasHandledClose; - public AbstractWindow(UUID viewerUUID, ComponentWrapper title, int size, boolean closeable) { - this.viewerUUID = viewerUUID; + public AbstractWindow(Player viewer, ComponentWrapper title, int size, boolean closeable) { + this.viewer = viewer; + this.viewerUUID = viewer.getUniqueId(); this.title = title; this.closeable = closeable; this.elementsDisplayed = new SlotElement[size]; @@ -389,8 +391,8 @@ public abstract class AbstractWindow implements Window, GuiParent { } @Override - public @Nullable Player getViewer() { - return Bukkit.getPlayer(viewerUUID); + public @NotNull Player getViewer() { + return viewer; } public @NotNull String getLang() { diff --git a/invui-core/src/main/java/xyz/xenondevs/invui/window/AnvilSingleWindowImpl.java b/invui-core/src/main/java/xyz/xenondevs/invui/window/AnvilSingleWindowImpl.java index bf3e4d1..11dcfde 100644 --- a/invui-core/src/main/java/xyz/xenondevs/invui/window/AnvilSingleWindowImpl.java +++ b/invui-core/src/main/java/xyz/xenondevs/invui/window/AnvilSingleWindowImpl.java @@ -24,7 +24,7 @@ final class AnvilSingleWindowImpl extends AbstractSingleWindow implements AnvilW @Nullable List<@NotNull Consumer<@NotNull String>> renameHandlers, boolean closable ) { - super(player.getUniqueId(), title, gui, null, closable); + super(player, title, gui, null, closable); anvilInventory = InventoryAccess.createAnvilInventory(player, title.localized(player), renameHandlers); inventory = anvilInventory.getBukkitInventory(); } diff --git a/invui-core/src/main/java/xyz/xenondevs/invui/window/CartographySingleWindowImpl.java b/invui-core/src/main/java/xyz/xenondevs/invui/window/CartographySingleWindowImpl.java index a836f2a..cd7a66d 100644 --- a/invui-core/src/main/java/xyz/xenondevs/invui/window/CartographySingleWindowImpl.java +++ b/invui-core/src/main/java/xyz/xenondevs/invui/window/CartographySingleWindowImpl.java @@ -30,7 +30,7 @@ final class CartographySingleWindowImpl extends AbstractSingleWindow implements @NotNull AbstractGui gui, boolean closeable ) { - super(player.getUniqueId(), title, createWrappingGui(gui), null, closeable); + super(player, title, createWrappingGui(gui), null, closeable); if (gui.getWidth() != 2 || gui.getHeight() != 1) throw new IllegalArgumentException("Gui has to be 2x1"); cartographyInventory = InventoryAccess.createCartographyInventory(player, title.localized(player)); diff --git a/invui-core/src/main/java/xyz/xenondevs/invui/window/NormalSingleWindowImpl.java b/invui-core/src/main/java/xyz/xenondevs/invui/window/NormalSingleWindowImpl.java index 981321f..5b3f1f7 100644 --- a/invui-core/src/main/java/xyz/xenondevs/invui/window/NormalSingleWindowImpl.java +++ b/invui-core/src/main/java/xyz/xenondevs/invui/window/NormalSingleWindowImpl.java @@ -15,7 +15,7 @@ final class NormalSingleWindowImpl extends AbstractSingleWindow { @NotNull AbstractGui gui, boolean closeable ) { - super(player.getUniqueId(), title, gui, InventoryUtils.createMatchingInventory(gui, ""), closeable); + super(player, title, gui, InventoryUtils.createMatchingInventory(gui, ""), closeable); } public static final class BuilderImpl