From 4d222bae85d7cffb305f3b3ff62c7d2e5d079f0f Mon Sep 17 00:00:00 2001 From: ScriptCat Date: Tue, 29 Jul 2025 00:01:31 +0300 Subject: [PATCH] i need to fix inventory... --- .../java/tokarotik/giftapi/NBT/item/ItemLoad.java | 6 +++--- src/main/java/tokarotik/giftapi/NBT/item/ItemNBT.java | 11 ++++++++--- src/main/java/tokarotik/giftapi/dev/AddCommand.java | 5 ++++- .../tokarotik/giftapi/inventory/InventoryUtil.java | 2 +- .../inventory/inventoryitems/InventoryItems.java | 2 +- .../inventory/inventoryitems/InventoryItemsUtil.java | 7 +++---- 6 files changed, 20 insertions(+), 13 deletions(-) diff --git a/src/main/java/tokarotik/giftapi/NBT/item/ItemLoad.java b/src/main/java/tokarotik/giftapi/NBT/item/ItemLoad.java index 16a5239..3474dff 100644 --- a/src/main/java/tokarotik/giftapi/NBT/item/ItemLoad.java +++ b/src/main/java/tokarotik/giftapi/NBT/item/ItemLoad.java @@ -42,7 +42,7 @@ public class ItemLoad private static short getCount(NBTTagCompound tag) { - short count = 0; + short count = 1; if (tag.hasKey("count")) { count = tag.getShort("count"); @@ -53,9 +53,9 @@ public class ItemLoad private static short getDurability(NBTTagCompound tag) { short durability = 0; - if (tag.hasKey("durability")) + if (tag.hasKey("damage")) { - durability = tag.getShort("durability"); + durability = tag.getShort("damage"); } return durability; } diff --git a/src/main/java/tokarotik/giftapi/NBT/item/ItemNBT.java b/src/main/java/tokarotik/giftapi/NBT/item/ItemNBT.java index 6cb135d..23c7009 100644 --- a/src/main/java/tokarotik/giftapi/NBT/item/ItemNBT.java +++ b/src/main/java/tokarotik/giftapi/NBT/item/ItemNBT.java @@ -26,9 +26,14 @@ public class ItemNBT private static void setBasic(ItemStack item, NBTTagCompound tag) { - tag.setShort("count", (short)item.getAmount()); - tag.setInt("id", item.getTypeId()); - tag.setShort("durability", item.getDurability()); + short count = (short)item.getAmount(); + if (count != 1) { tag.setShort("count", count); } + + int id = item.getTypeId(); + if (id != 0) { tag.setInt("id", item.getTypeId()); } + + short damage = item.getDurability(); + if (damage != 0) { tag.setShort("damage", item.getDurability()); } } private static void setMetaTag(ItemStack item, NBTTagCompound baseTag) diff --git a/src/main/java/tokarotik/giftapi/dev/AddCommand.java b/src/main/java/tokarotik/giftapi/dev/AddCommand.java index f327524..769f4ff 100644 --- a/src/main/java/tokarotik/giftapi/dev/AddCommand.java +++ b/src/main/java/tokarotik/giftapi/dev/AddCommand.java @@ -23,12 +23,15 @@ public class AddCommand implements CommandExecutor { @Override public boolean onCommand(CommandSender sender, Command command, String s, String[] strings) { - Player player = (Player) sender; + Player player; if (sender == null) { if (Bukkit.getOnlinePlayers().length == 0) { return true; } player = Bukkit.getOnlinePlayers()[0]; } + else { + player = (Player) sender; + } Material[] values = Material.values(); int id = values[ThreadLocalRandom.current().nextInt(values.length)].getId(); diff --git a/src/main/java/tokarotik/giftapi/inventory/InventoryUtil.java b/src/main/java/tokarotik/giftapi/inventory/InventoryUtil.java index 0fe7852..fa064ad 100644 --- a/src/main/java/tokarotik/giftapi/inventory/InventoryUtil.java +++ b/src/main/java/tokarotik/giftapi/inventory/InventoryUtil.java @@ -50,7 +50,7 @@ public class InventoryUtil Player player = (Player) event.getWhoClicked(); - if (!nameCurrentItem.isEmpty()) + if (nameCurrentItem != null) { if (nameCurrentItem.equals(this.nameArrowRight)) { PagesManager pagesManager = this.cacheManager.load(player); diff --git a/src/main/java/tokarotik/giftapi/inventory/inventoryitems/InventoryItems.java b/src/main/java/tokarotik/giftapi/inventory/inventoryitems/InventoryItems.java index a35be38..7aec6cd 100644 --- a/src/main/java/tokarotik/giftapi/inventory/inventoryitems/InventoryItems.java +++ b/src/main/java/tokarotik/giftapi/inventory/inventoryitems/InventoryItems.java @@ -15,6 +15,6 @@ public class InventoryItems public synchronized void renderPage(PagesManager pagesManager, Inventory inventory) { List array = InventoryItemsUtil.getArrayToRender(pagesManager, items_slots); - InventoryItemsUtil.renderList(array, inventory); + InventoryItemsUtil.renderList(array, inventory, this.items_slots); } } diff --git a/src/main/java/tokarotik/giftapi/inventory/inventoryitems/InventoryItemsUtil.java b/src/main/java/tokarotik/giftapi/inventory/inventoryitems/InventoryItemsUtil.java index 95b59c3..eb45a6a 100644 --- a/src/main/java/tokarotik/giftapi/inventory/inventoryitems/InventoryItemsUtil.java +++ b/src/main/java/tokarotik/giftapi/inventory/inventoryitems/InventoryItemsUtil.java @@ -19,15 +19,13 @@ public class InventoryItemsUtil int start_item = getStartItemIndex(current_page, items_slots); int end_item = getEndItemIndex(current_page, items_slots, items_count); - System.out.print("\nStart " + start_item + " End " + end_item); - return Arrays.asList(items).subList(start_item, end_item); } - public synchronized static void renderList(List array, Inventory inventory) + public synchronized static void renderList(List array, Inventory inventory, int items_slots) { + for (ItemStack item : array) { - System.out.println("\nitem " + item.toString()); inventory.addItem(item); } } @@ -40,6 +38,7 @@ public class InventoryItemsUtil private synchronized static int getEndItemIndex(int current_page, int items_slots, int items_count) { int literly_end_page = (current_page + 1) * items_slots; + System.out.println("Cur page " + current_page + " Items Slots " + items_slots + " Items Count " + items_count + " Lit End Page " + literly_end_page); if (literly_end_page < items_count) { return literly_end_page; }