aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common/covers/redstone
diff options
context:
space:
mode:
authormiozune <miozune@gmail.com>2023-05-29 19:11:57 +0900
committerGitHub <noreply@github.com>2023-05-29 12:11:57 +0200
commit6968f15a7190f6a97ad598cbb9e6dd1e18a594de (patch)
tree6079630f941161307c6996d62bd6531497029513 /src/main/java/gregtech/common/covers/redstone
parent34597af2b1c4869e97ce83586fcfc82c88cdb401 (diff)
downloadGT5-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.java27
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) {