mirror of
https://github.com/HibiscusMC/HMCCosmetics.git
synced 2025-12-21 07:59: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 {
|
try {
|
||||||
final ArmorItem.Type type = ArmorItem.Type.valueOf(typeString.toUpperCase());
|
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);
|
final Message setOtherMessage = Messages.getSetOtherMessage(type);
|
||||||
this.userManager.removeItem(user, type);
|
this.userManager.removeItem(user, type);
|
||||||
this.messageHandler.sendMessage(
|
this.messageHandler.sendMessage(
|
||||||
|
|||||||
@@ -36,6 +36,12 @@ import java.util.stream.Collectors;
|
|||||||
|
|
||||||
public class ItemSerializer implements TypeSerializer<GuiItem> {
|
public class ItemSerializer implements TypeSerializer<GuiItem> {
|
||||||
|
|
||||||
|
private static final HMCCosmetics plugin;
|
||||||
|
|
||||||
|
static {
|
||||||
|
plugin = HMCCosmetics.getPlugin(HMCCosmetics.class);
|
||||||
|
}
|
||||||
|
|
||||||
public static final ItemSerializer INSTANCE = new ItemSerializer();
|
public static final ItemSerializer INSTANCE = new ItemSerializer();
|
||||||
|
|
||||||
private static final String MATERIAL = "material";
|
private static final String MATERIAL = "material";
|
||||||
@@ -221,10 +227,7 @@ public class ItemSerializer implements TypeSerializer<GuiItem> {
|
|||||||
|
|
||||||
return new ArmorItem(
|
return new ArmorItem(
|
||||||
itemStack,
|
itemStack,
|
||||||
event -> {
|
event -> plugin.getCosmeticsMenu().openMenu(openMenu, event.getWhoClicked()),
|
||||||
final HMCCosmetics plugin = HMCCosmetics.getPlugin(HMCCosmetics.class);
|
|
||||||
plugin.getCosmeticsMenu().openMenu(openMenu, event.getWhoClicked());
|
|
||||||
},
|
|
||||||
Utils.replaceIfNull(idNode.getString(), ""),
|
Utils.replaceIfNull(idNode.getString(), ""),
|
||||||
lockedLore,
|
lockedLore,
|
||||||
permission,
|
permission,
|
||||||
@@ -237,7 +240,6 @@ public class ItemSerializer implements TypeSerializer<GuiItem> {
|
|||||||
return dev.triumphteam.gui.builder.item.ItemBuilder.from(
|
return dev.triumphteam.gui.builder.item.ItemBuilder.from(
|
||||||
itemStack).
|
itemStack).
|
||||||
asGuiItem(event -> {
|
asGuiItem(event -> {
|
||||||
final HMCCosmetics plugin = HMCCosmetics.getPlugin(HMCCosmetics.class);
|
|
||||||
plugin.getCosmeticsMenu().openMenu(openMenu, event.getWhoClicked());
|
plugin.getCosmeticsMenu().openMenu(openMenu, event.getWhoClicked());
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package io.github.fisher2911.hmccosmetics.gui;
|
package io.github.fisher2911.hmccosmetics.gui;
|
||||||
|
|
||||||
|
import com.comphenix.net.bytebuddy.jar.asm.Type;
|
||||||
import dev.triumphteam.gui.components.GuiAction;
|
import dev.triumphteam.gui.components.GuiAction;
|
||||||
import dev.triumphteam.gui.guis.Gui;
|
import dev.triumphteam.gui.guis.Gui;
|
||||||
import dev.triumphteam.gui.guis.GuiItem;
|
import dev.triumphteam.gui.guis.GuiItem;
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ import org.bukkit.event.EventHandler;
|
|||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
import org.bukkit.event.block.Action;
|
import org.bukkit.event.block.Action;
|
||||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||||
|
import org.bukkit.event.inventory.InventoryCloseEvent;
|
||||||
import org.bukkit.event.inventory.InventoryDragEvent;
|
import org.bukkit.event.inventory.InventoryDragEvent;
|
||||||
import org.bukkit.event.inventory.InventoryInteractEvent;
|
import org.bukkit.event.inventory.InventoryInteractEvent;
|
||||||
import org.bukkit.event.player.PlayerInteractEvent;
|
import org.bukkit.event.player.PlayerInteractEvent;
|
||||||
@@ -66,6 +67,12 @@ public class ClickListener implements Listener {
|
|||||||
this.doRunnable(optionalUser.get());
|
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) {
|
private void fixInventory(final Player player, final Set<Integer> slotsClicked, final Inventory inventory) {
|
||||||
final Optional<User> optionalUser = this.userManager.get(player.getUniqueId());
|
final Optional<User> optionalUser = this.userManager.get(player.getUniqueId());
|
||||||
|
|
||||||
@@ -78,6 +85,7 @@ public class ClickListener implements Listener {
|
|||||||
for (int i : slotsClicked) {
|
for (int i : slotsClicked) {
|
||||||
if (this.equipmentSlots.contains(i)) {
|
if (this.equipmentSlots.contains(i)) {
|
||||||
this.doRunnable(user);
|
this.doRunnable(user);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ items:
|
|||||||
id: backpack
|
id: backpack
|
||||||
3:
|
3:
|
||||||
material: END_ROD
|
material: END_ROD
|
||||||
name: "<blue>Backpack"
|
name: "<blue>Off Hand"
|
||||||
lore:
|
lore:
|
||||||
- ""
|
- ""
|
||||||
- "<gray>Enabled: <#6D9DC5>%enabled%"
|
- "<gray>Enabled: <#6D9DC5>%enabled%"
|
||||||
|
|||||||
Reference in New Issue
Block a user