9
0
mirror of https://github.com/WiIIiam278/HuskSync.git synced 2025-12-25 09:39:18 +00:00

Fix inventory and ender chest commands

This commit is contained in:
William
2022-07-11 12:32:51 +01:00
parent e5e848126a
commit bc9d31abc8
7 changed files with 44 additions and 27 deletions

View File

@@ -23,6 +23,7 @@ import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.event.world.WorldSaveEvent;
import org.jetbrains.annotations.NotNull;
import java.util.Arrays;
import java.util.logging.Level;
import java.util.stream.Collectors;
@@ -55,7 +56,8 @@ public class BukkitEventListener extends EventListener implements Listener {
final OnlineUser user = BukkitPlayer.adapt(player);
if (plugin.getDataEditor().isEditingInventoryData(user)) {
try {
BukkitSerializer.serializeItemStackArray(event.getInventory().getContents()).thenAccept(
BukkitSerializer.serializeItemStackArray(Arrays.copyOf(event.getInventory().getContents(),
event.getPlayer().getInventory().getSize())).thenAccept(
serializedInventory -> super.handleMenuClose(user, new ItemData(serializedInventory)));
} catch (DataSerializationException e) {
plugin.getLoggingAdapter().log(Level.SEVERE,

View File

@@ -452,12 +452,13 @@ public class BukkitPlayer extends OnlineUser {
final Inventory inventory = Bukkit.createInventory(player, menu.slotCount,
BaseComponent.toLegacyText(menu.menuTitle.toComponent()));
inventory.setContents(inventoryContents);
Bukkit.getScheduler().runTask(BukkitHuskSync.getInstance(), () -> {
player.closeInventory();
player.openInventory(inventory);
});
Bukkit.getScheduler().runTask(BukkitHuskSync.getInstance(), () -> player.openInventory(inventory));
});
}
@Override
public void closeOpenInventories() {
Bukkit.getScheduler().runTask(BukkitHuskSync.getInstance(), player::closeInventory);
}
@Override