diff --git a/src/main/java/io/github/fisher2911/hmccosmetics/command/CosmeticsCommand.java b/src/main/java/io/github/fisher2911/hmccosmetics/command/CosmeticsCommand.java index 15351b75..ce10a0f9 100644 --- a/src/main/java/io/github/fisher2911/hmccosmetics/command/CosmeticsCommand.java +++ b/src/main/java/io/github/fisher2911/hmccosmetics/command/CosmeticsCommand.java @@ -149,7 +149,7 @@ public class CosmeticsCommand extends CommandBase { try { final ArmorItem.Type type = ArmorItem.Type.valueOf(typeString.toUpperCase()); - final Message setMessage = Messages.getSetMessage(type); + final Message setMessage = Messages.getRemovedMessage(type); final Message setOtherMessage = Messages.getSetOtherMessage(type); this.userManager.removeItem(user, type); this.messageHandler.sendMessage( diff --git a/src/main/java/io/github/fisher2911/hmccosmetics/config/ItemSerializer.java b/src/main/java/io/github/fisher2911/hmccosmetics/config/ItemSerializer.java index fb8a0eb9..60555de4 100644 --- a/src/main/java/io/github/fisher2911/hmccosmetics/config/ItemSerializer.java +++ b/src/main/java/io/github/fisher2911/hmccosmetics/config/ItemSerializer.java @@ -36,6 +36,12 @@ import java.util.stream.Collectors; public class ItemSerializer implements TypeSerializer { + private static final HMCCosmetics plugin; + + static { + plugin = HMCCosmetics.getPlugin(HMCCosmetics.class); + } + public static final ItemSerializer INSTANCE = new ItemSerializer(); private static final String MATERIAL = "material"; @@ -221,10 +227,7 @@ public class ItemSerializer implements TypeSerializer { return new ArmorItem( itemStack, - event -> { - final HMCCosmetics plugin = HMCCosmetics.getPlugin(HMCCosmetics.class); - plugin.getCosmeticsMenu().openMenu(openMenu, event.getWhoClicked()); - }, + event -> plugin.getCosmeticsMenu().openMenu(openMenu, event.getWhoClicked()), Utils.replaceIfNull(idNode.getString(), ""), lockedLore, permission, @@ -237,7 +240,6 @@ public class ItemSerializer implements TypeSerializer { return dev.triumphteam.gui.builder.item.ItemBuilder.from( itemStack). asGuiItem(event -> { - final HMCCosmetics plugin = HMCCosmetics.getPlugin(HMCCosmetics.class); plugin.getCosmeticsMenu().openMenu(openMenu, event.getWhoClicked()); }); } diff --git a/src/main/java/io/github/fisher2911/hmccosmetics/gui/CosmeticGui.java b/src/main/java/io/github/fisher2911/hmccosmetics/gui/CosmeticGui.java index 262c67df..87def14b 100644 --- a/src/main/java/io/github/fisher2911/hmccosmetics/gui/CosmeticGui.java +++ b/src/main/java/io/github/fisher2911/hmccosmetics/gui/CosmeticGui.java @@ -1,5 +1,6 @@ package io.github.fisher2911.hmccosmetics.gui; +import com.comphenix.net.bytebuddy.jar.asm.Type; import dev.triumphteam.gui.components.GuiAction; import dev.triumphteam.gui.guis.Gui; import dev.triumphteam.gui.guis.GuiItem; diff --git a/src/main/java/io/github/fisher2911/hmccosmetics/listener/ClickListener.java b/src/main/java/io/github/fisher2911/hmccosmetics/listener/ClickListener.java index 293f6c3d..ee3c36ad 100644 --- a/src/main/java/io/github/fisher2911/hmccosmetics/listener/ClickListener.java +++ b/src/main/java/io/github/fisher2911/hmccosmetics/listener/ClickListener.java @@ -14,6 +14,7 @@ import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.block.Action; import org.bukkit.event.inventory.InventoryClickEvent; +import org.bukkit.event.inventory.InventoryCloseEvent; import org.bukkit.event.inventory.InventoryDragEvent; import org.bukkit.event.inventory.InventoryInteractEvent; import org.bukkit.event.player.PlayerInteractEvent; @@ -66,6 +67,12 @@ public class ClickListener implements Listener { this.doRunnable(optionalUser.get()); } + @EventHandler + public void onInventoryClose(final InventoryCloseEvent event) { + final HumanEntity player = event.getPlayer(); + this.userManager.get(player.getUniqueId()).ifPresent(this::doRunnable); + } + private void fixInventory(final Player player, final Set slotsClicked, final Inventory inventory) { final Optional optionalUser = this.userManager.get(player.getUniqueId()); @@ -78,6 +85,7 @@ public class ClickListener implements Listener { for (int i : slotsClicked) { if (this.equipmentSlots.contains(i)) { this.doRunnable(user); + break; } } } diff --git a/src/main/resources/menus/main.yml b/src/main/resources/menus/main.yml index f3e2351b..7dde6df5 100644 --- a/src/main/resources/menus/main.yml +++ b/src/main/resources/menus/main.yml @@ -37,7 +37,7 @@ items: id: backpack 3: material: END_ROD - name: "Backpack" + name: "Off Hand" lore: - "" - "Enabled: <#6D9DC5>%enabled%"