mirror of
https://github.com/HibiscusMC/HMCCosmetics.git
synced 2025-12-19 15:09:19 +00:00
Fixed issue with hat disappearing when closing the inventory
This commit is contained in:
@@ -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(
|
||||
|
||||
@@ -36,6 +36,12 @@ import java.util.stream.Collectors;
|
||||
|
||||
public class ItemSerializer implements TypeSerializer<GuiItem> {
|
||||
|
||||
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<GuiItem> {
|
||||
|
||||
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<GuiItem> {
|
||||
return dev.triumphteam.gui.builder.item.ItemBuilder.from(
|
||||
itemStack).
|
||||
asGuiItem(event -> {
|
||||
final HMCCosmetics plugin = HMCCosmetics.getPlugin(HMCCosmetics.class);
|
||||
plugin.getCosmeticsMenu().openMenu(openMenu, event.getWhoClicked());
|
||||
});
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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<Integer> slotsClicked, final Inventory inventory) {
|
||||
final Optional<User> 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@ items:
|
||||
id: backpack
|
||||
3:
|
||||
material: END_ROD
|
||||
name: "<blue>Backpack"
|
||||
name: "<blue>Off Hand"
|
||||
lore:
|
||||
- ""
|
||||
- "<gray>Enabled: <#6D9DC5>%enabled%"
|
||||
|
||||
Reference in New Issue
Block a user