diff --git a/CHANGELOG.md b/CHANGELOG.md index 501073397..1c92c50b4 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ - Fixed Grid crash with search history (raoulvdberge) - Fixed Grid crash with search field (raoulvdberge) - Fixed External Storage not working without Storage Drawers (raoulvdberge) +- Fixed External Storage not calculating max stack size in the calculation of it's capacity display in the GUI (raoulvdberge) ### 1.5.14 - Updated Forge to 2426 (raoulvdberge) diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/externalstorage/StorageItemItemHandler.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/externalstorage/StorageItemItemHandler.java index e783c5fd0..e58754b66 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/externalstorage/StorageItemItemHandler.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/externalstorage/StorageItemItemHandler.java @@ -43,7 +43,17 @@ public class StorageItemItemHandler extends StorageItemExternal { public int getCapacity() { IItemHandler handler = handlerSupplier.get(); - return handler != null ? handler.getSlots() * 64 : 0; + if (handler == null) { + return 0; + } + + int capacity = 0; + + for (int i = 0; i < handler.getSlots(); ++i) { + capacity += Math.min(handler.getSlotLimit(i), handler.getStackInSlot(i).getMaxStackSize()); + } + + return capacity; } @Override @@ -122,9 +132,7 @@ public class StorageItemItemHandler extends StorageItemExternal { int size = 0; for (int i = 0; i < handler.getSlots(); ++i) { - if (!handler.getStackInSlot(i).isEmpty()) { - size += handler.getStackInSlot(i).getCount(); - } + size += handler.getStackInSlot(i).getCount(); } return size; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiStorage.java b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiStorage.java index 24527424c..1c5c404d8 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiStorage.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiStorage.java @@ -6,6 +6,7 @@ import com.raoulvdberge.refinedstorage.container.ContainerBase; import com.raoulvdberge.refinedstorage.gui.sidebutton.*; import com.raoulvdberge.refinedstorage.util.RenderUtils; import net.minecraft.client.gui.GuiButton; +import net.minecraft.util.text.TextFormatting; import net.minecraftforge.fml.common.FMLCommonHandler; import java.io.IOException; @@ -104,7 +105,7 @@ public class GuiStorage extends GuiBase { drawTooltip(mouseX, mouseY, (gui.getCapacity() == -1 ? t("misc.refinedstorage:storage.stored_minimal", gui.getStored()) : t("misc.refinedstorage:storage.stored_capacity_minimal", gui.getStored(), gui.getCapacity()) - ) + "\n" + t("misc.refinedstorage:storage.full", full)); + ) + "\n" + TextFormatting.GRAY + t("misc.refinedstorage:storage.full", full)); } }