From 2b1d5ba9b51d8a6afbf9c9f7b2cd3f244a5cd65d Mon Sep 17 00:00:00 2001 From: DoKM <mcazzyman@gmail.com> Date: Wed, 21 Jul 2021 13:16:21 +0200 Subject: Add working backpack viewer to /pv also change the max size of enderchest to represent the in game view more --- .../profileviewer/GuiProfileViewer.java | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/GuiProfileViewer.java b/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/GuiProfileViewer.java index 8f1b47d1..fd70dadc 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/GuiProfileViewer.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/GuiProfileViewer.java @@ -1665,6 +1665,8 @@ public class GuiProfileViewer extends GuiScreen { return 4; case "backpack_contents": return 5; + case "ender_chest_contents": + return 5; } return 6; } @@ -1759,22 +1761,27 @@ public class GuiProfileViewer extends GuiScreen { ItemStack[][][] inventories = new ItemStack[numInventories][][]; //int availableSlots = getAvailableSlotsForInventory(inventoryInfo, collectionInfo, invName); + int startNumberJ = 0; for(int i=0; i<numInventories; i++) { int thisRows = Math.min(maxRowsPerPage, rows-maxRowsPerPage*i); + int invSize =0; + + if(invName.equals("backpack_contents")) { thisRows = backPackSizes.get(i).getAsInt()/9; + invSize = startNumberJ+(thisRows*9); + maxInvSize = thisRows*9; + } else { + startNumberJ = maxInvSize*i; + invSize = Math.min(jsonInvSize, maxInvSize + maxInvSize * i); } if(thisRows <= 0) break; ItemStack[][] items = new ItemStack[thisRows][rowSize]; - int invSize =0; - invSize = Math.min(jsonInvSize, maxInvSize + maxInvSize * i); + for(int j=startNumberJ; j<invSize; j++) { - - - for(int j=maxInvSize*i; j<invSize; j++) { int xIndex = (j%maxInvSize)%rowSize; int yIndex = (j%maxInvSize)/rowSize; if(invName.equals("inv_contents")) { @@ -1815,9 +1822,13 @@ public class GuiProfileViewer extends GuiScreen { stack.setTagCompound(tag); } } + items[yIndex][xIndex] = stack; } inventories[i] = items; + if(invName.equals("backpack_contents")) { + startNumberJ = startNumberJ + backPackSizes.get(i).getAsInt(); + } } inventoryItems.put(invName, inventories); -- cgit