diff --git a/CHANGELOG.md b/CHANGELOG.md index ed74406a0..5d6c10f5b 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ - Fixed issue where Crafters may fail to recognize an inventory/tank for some patterns (Darkere) - Fixed issue where the Crafter Manager can crash on invalid patterns (raoulvdberge) - Fixed issue where alternatives in the Pattern Grid weren't being saved properly (raoulvdberge) +- Fixed not being able to change the Exporter filter slot count with regulator mode without closing and re-opening the container (raoulvdberge) ### 1.9.8 diff --git a/src/main/java/com/refinedmods/refinedstorage/container/ExporterContainer.java b/src/main/java/com/refinedmods/refinedstorage/container/ExporterContainer.java index dc60acd7a..af628df31 100644 --- a/src/main/java/com/refinedmods/refinedstorage/container/ExporterContainer.java +++ b/src/main/java/com/refinedmods/refinedstorage/container/ExporterContainer.java @@ -11,15 +11,33 @@ import net.minecraftforge.items.SlotItemHandler; public class ExporterContainer extends BaseContainer { private final ExporterTile exporter; + private boolean hasRegulatorMode; public ExporterContainer(ExporterTile exporter, PlayerEntity player, int windowId) { super(RSContainers.EXPORTER, exporter, player, windowId); this.exporter = exporter; + this.hasRegulatorMode = hasRegulatorMode(); initSlots(); } + private boolean hasRegulatorMode() { + return exporter.getNode().getUpgrades().hasUpgrade(UpgradeItem.Type.REGULATOR); + } + + @Override + public void detectAndSendChanges() { + super.detectAndSendChanges(); + + boolean updatedHasRegulatorMode = hasRegulatorMode(); + if (hasRegulatorMode != updatedHasRegulatorMode) { + hasRegulatorMode = updatedHasRegulatorMode; + + initSlots(); + } + } + public void initSlots() { this.inventorySlots.clear(); this.inventoryItemStacks.clear();