diff --git a/src/main/java/com/alttd/easter/gui/TurnInGuiManager.java b/src/main/java/com/alttd/easter/gui/TurnInGuiManager.java index 441616e..318b0fb 100644 --- a/src/main/java/com/alttd/easter/gui/TurnInGuiManager.java +++ b/src/main/java/com/alttd/easter/gui/TurnInGuiManager.java @@ -5,10 +5,12 @@ import com.alttd.easter.config.Messages; import com.alttd.easter.data.DataManager; import com.alttd.easter.egg.EggType; import com.alttd.easter.util.ItemUtils; +import lombok.extern.slf4j.Slf4j; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.minimessage.MiniMessage; import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder; import org.bukkit.Bukkit; +import org.bukkit.entity.Item; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; @@ -19,6 +21,7 @@ import org.bukkit.inventory.ItemStack; import java.util.*; +@Slf4j public class TurnInGuiManager implements Listener { private final DataManager dataManager; @@ -73,14 +76,17 @@ public class TurnInGuiManager implements Listener { @EventHandler public void onClose(InventoryCloseEvent event) { Player player = (Player) event.getPlayer(); - Inventory top = openInventories.remove(player.getUniqueId()); + Inventory top = openInventories.get(player.getUniqueId()); if (top == null) { return; } - if (!event.getInventory().equals(top)) { + if (!event.getView().getTopInventory().equals(top)) { return; } - // collect egg items and clear them from the GUI so they don't drop + + openInventories.remove(player.getUniqueId()); + + // collect egg items for submission and then clear GUI so eggs don't drop Set submitted = new HashSet<>(); for (ItemStack item : top.getContents()) { if (ItemUtils.isEggItem(item)) {