diff --git a/invui/src/main/java/xyz/xenondevs/invui/internal/menu/CustomContainerMenu.java b/invui/src/main/java/xyz/xenondevs/invui/internal/menu/CustomContainerMenu.java index 39b20315..d31b7e3d 100644 --- a/invui/src/main/java/xyz/xenondevs/invui/internal/menu/CustomContainerMenu.java +++ b/invui/src/main/java/xyz/xenondevs/invui/internal/menu/CustomContainerMenu.java @@ -631,7 +631,15 @@ public WindowEventListener getWindowEvents() { throw new IllegalStateException("Window is not set"); return (WindowEventListener) window; } - + + /** + * Gets the container ID (window ID) for the window + * @return the container id, or -1 if the window isn't a container + */ + public int getContainerId() { + return containerId; + } + /** * A proxy {@link AbstractContainerMenu} for intercepting carried item change and general bukkit interoperability. */ diff --git a/invui/src/main/java/xyz/xenondevs/invui/window/AbstractWindow.java b/invui/src/main/java/xyz/xenondevs/invui/window/AbstractWindow.java index 2c2235ed..721cc30c 100644 --- a/invui/src/main/java/xyz/xenondevs/invui/window/AbstractWindow.java +++ b/invui/src/main/java/xyz/xenondevs/invui/window/AbstractWindow.java @@ -703,7 +703,12 @@ public int getServerWindowState() { public int getClientWindowState() { return clientWindowState; } - + + @Override + public int getContainerId() { + return menu.getContainerId(); + } + @Override public void handlePong(int id) { clientWindowState = id; diff --git a/invui/src/main/java/xyz/xenondevs/invui/window/Window.java b/invui/src/main/java/xyz/xenondevs/invui/window/Window.java index 0da3d988..0834ef2b 100644 --- a/invui/src/main/java/xyz/xenondevs/invui/window/Window.java +++ b/invui/src/main/java/xyz/xenondevs/invui/window/Window.java @@ -301,7 +301,15 @@ default void incrementWindowState() { * @param handler The window state change handler to remove */ void removeWindowStateChangeHandler(Consumer handler); - + + /** + * Gets the container ID (window ID) for the window + * @return the container id, or -1 if the window isn't a container + */ + default int getContainerId() { + return -1; + } + /** * A {@link Window} builder. *