diff options
| author | miozune <miozune@gmail.com> | 2023-05-29 19:11:57 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-05-29 12:11:57 +0200 |
| commit | 6968f15a7190f6a97ad598cbb9e6dd1e18a594de (patch) | |
| tree | 6079630f941161307c6996d62bd6531497029513 /src/main/java/gregtech/common/covers/redstone | |
| parent | 34597af2b1c4869e97ce83586fcfc82c88cdb401 (diff) | |
| download | GT5-Unofficial-6968f15a7190f6a97ad598cbb9e6dd1e18a594de.tar.gz GT5-Unofficial-6968f15a7190f6a97ad598cbb9e6dd1e18a594de.tar.bz2 GT5-Unofficial-6968f15a7190f6a97ad598cbb9e6dd1e18a594de.zip | |
Allow setting larger threshold of item detector cover for digital chests (#2035)
Diffstat (limited to 'src/main/java/gregtech/common/covers/redstone')
| -rw-r--r-- | src/main/java/gregtech/common/covers/redstone/GT_Cover_WirelessItemDetector.java | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/src/main/java/gregtech/common/covers/redstone/GT_Cover_WirelessItemDetector.java b/src/main/java/gregtech/common/covers/redstone/GT_Cover_WirelessItemDetector.java index 9f5200b6fc..fb7fa93ea7 100644 --- a/src/main/java/gregtech/common/covers/redstone/GT_Cover_WirelessItemDetector.java +++ b/src/main/java/gregtech/common/covers/redstone/GT_Cover_WirelessItemDetector.java @@ -152,6 +152,7 @@ public class GT_Cover_WirelessItemDetector private static final String ALL_TEXT = "All"; private int maxSlot; + private int maxThreshold; public WirelessItemDetectorUIFactory(GT_CoverUIBuildContext buildContext) { super(buildContext); @@ -169,7 +170,8 @@ public class GT_Cover_WirelessItemDetector @Override protected void addUIWidgets(ModularWindow.Builder builder) { - maxSlot = getMaxSlot(); + setMaxSlot(); + setMaxThreshold(); super.addUIWidgets(builder); builder.widget( new ItemWatcherSlotWidget().setGetter(this::getTargetItem) @@ -193,7 +195,7 @@ public class GT_Cover_WirelessItemDetector return coverData; }, widget -> widget.setOnScrollNumbers(1, 10, 64) - .setNumbers(() -> 0, this::getMaxItemCount) + .setNumbers(0, maxThreshold) .setPos(1, 2 + spaceY * 2) .setSize(spaceX * 5 - 4, 12)) .addFollower( @@ -218,19 +220,24 @@ public class GT_Cover_WirelessItemDetector .setSize(spaceX * 4 - 8, 12)); } - private int getMaxSlot() { + private void setMaxSlot() { final ICoverable tile = getUIBuildContext().getTile(); - if (tile instanceof TileEntity && !tile.isDead() - && tile instanceof IGregTechTileEntity - && !(((IGregTechTileEntity) tile).getMetaTileEntity() instanceof GT_MetaTileEntity_DigitalChestBase)) { - return tile.getSizeInventory() - 1; + if (!tile.isDead() && tile instanceof IGregTechTileEntity gtTile + && !(gtTile.getMetaTileEntity() instanceof GT_MetaTileEntity_DigitalChestBase)) { + maxSlot = tile.getSizeInventory() - 1; } else { - return -1; + maxSlot = -1; } } - private int getMaxItemCount() { - return maxSlot > 0 ? maxSlot * 64 : Integer.MAX_VALUE; + private void setMaxThreshold() { + final ICoverable tile = getUIBuildContext().getTile(); + if (!tile.isDead() && tile instanceof IGregTechTileEntity gtTile + && gtTile.getMetaTileEntity() instanceof GT_MetaTileEntity_DigitalChestBase) { + maxThreshold = gtTile.getMaxItemCount(); + } else { + maxThreshold = maxSlot > 0 ? maxSlot * 64 : Integer.MAX_VALUE; + } } private int getIntFromText(String text) { |
