Update version to 1.1.2-SNAPSHOT and add a render method using the HumanEntity that owns the GUI

This commit is contained in:
akastijn 2026-02-01 03:35:17 +01:00
parent 813d76b992
commit 3a4a1c97c2
3 changed files with 19 additions and 3 deletions

View File

@ -9,7 +9,7 @@ val nexusUser = providers.gradleProperty("alttdSnapshotUsername").orNull ?: Syst
val nexusPass = providers.gradleProperty("alttdSnapshotPassword").orNull ?: System.getenv("NEXUS_PASSWORD") val nexusPass = providers.gradleProperty("alttdSnapshotPassword").orNull ?: System.getenv("NEXUS_PASSWORD")
group = "com.alttd.inventory_gui" group = "com.alttd.inventory_gui"
version = "1.1.1-SNAPSHOT" version = "1.1.2-SNAPSHOT"
repositories { repositories {
mavenCentral() mavenCentral()

View File

@ -84,7 +84,7 @@ public final class GuiListener implements Listener {
if (!entry.ownerPluginName().equals(ownerPluginName)) { if (!entry.ownerPluginName().equals(ownerPluginName)) {
return null; return null;
} }
if (event != entry.inv()) { if (event != entry.inv()) {//FIXME: does this equality check fail, and is it necessary?
return null; return null;
} }
return entry; return entry;

View File

@ -6,6 +6,7 @@ import com.alttd.inventory_gui.pane.SimplePane;
import lombok.Builder; import lombok.Builder;
import lombok.Getter; import lombok.Getter;
import lombok.NonNull; import lombok.NonNull;
import lombok.extern.slf4j.Slf4j;
import net.kyori.adventure.text.Component; import net.kyori.adventure.text.Component;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.entity.HumanEntity; import org.bukkit.entity.HumanEntity;
@ -24,6 +25,7 @@ import org.jetbrains.annotations.NotNull;
* This class is built with flexibility and ease of use in mind, supporting various * This class is built with flexibility and ease of use in mind, supporting various
* customization options, event handling, and row validation to maintain consistency. * customization options, event handling, and row validation to maintain consistency.
*/ */
@Slf4j
@Builder @Builder
public class InventoryGui { public class InventoryGui {
@ -69,11 +71,25 @@ public class InventoryGui {
* Renders the GUI's contents into the specified inventory. * Renders the GUI's contents into the specified inventory.
* @param inv the inventory into which to render the GUI's contents * @param inv the inventory into which to render the GUI's contents
*/ */
public void render(Inventory inv) { protected void render(Inventory inv) {
inv.clear(); inv.clear();
root.render(inv); root.render(inv);
} }
/**
* Renders the GUI's contents into the open inventory of the specified human entity if it exists.
* @param humanEntity the human entity for which to render the GUI's contents
*/
public void render(HumanEntity humanEntity) {
GuiSession.Entry entry = GuiSession.get(humanEntity.getUniqueId());
if (entry == null) {
log.warn("No GUI session found for player {} during render", humanEntity.getName());
return;
}
Inventory inv = entry.inv();
render(inv);
}
/** /**
* Opens the GUI for the specified human entity. * Opens the GUI for the specified human entity.
* @param humanEntity the human entity for whom to open the GUI * @param humanEntity the human entity for whom to open the GUI