aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/gregtech/api/util/GT_Utility.java27
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_ItemMeter.java16
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_LiquidMeter.java16
3 files changed, 25 insertions, 34 deletions
diff --git a/src/main/java/gregtech/api/util/GT_Utility.java b/src/main/java/gregtech/api/util/GT_Utility.java
index 706694d6dd..f7fd9ce914 100644
--- a/src/main/java/gregtech/api/util/GT_Utility.java
+++ b/src/main/java/gregtech/api/util/GT_Utility.java
@@ -4254,10 +4254,29 @@ public class GT_Utility {
return Textures.BlockIcons.ERROR_TEXTURE_INDEX;
}
- public static byte convertRatioToRedstone(long value, long max) {
- if (value <= 0) return 0; // Empty
- if (value >= max) return 15; // Full
- return (byte) (1 + (14 * value) / max); // Range 1-14
+ public static byte convertRatioToRedstone(long used, long max, int threshold, boolean inverted) {
+ byte signal;
+ if (used <= 0) { // Empty
+ signal = 0;
+ } else if (used >= max) { // Full
+ signal = 15;
+ } else { // Range 1-14
+ signal = (byte) (1 + (14 * used) / max);
+ }
+
+ if (inverted) {
+ signal = (byte) (15 - signal);
+ }
+
+ if (threshold > 0) {
+ if (inverted && used >= threshold) {
+ return 0;
+ } else if (!inverted && used < threshold) {
+ return 0;
+ }
+ }
+
+ return signal;
}
@AutoValue
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_ItemMeter.java b/src/main/java/gregtech/common/covers/GT_Cover_ItemMeter.java
index 953318c455..e4de13b65d 100644
--- a/src/main/java/gregtech/common/covers/GT_Cover_ItemMeter.java
+++ b/src/main/java/gregtech/common/covers/GT_Cover_ItemMeter.java
@@ -100,21 +100,7 @@ public class GT_Cover_ItemMeter extends GT_CoverBehaviorBase<GT_Cover_ItemMeter.
}
}
- byte signal = GT_Utility.convertRatioToRedstone(used, max);
-
- if (inverted) {
- signal = (byte) (15 - signal);
- }
-
- if (threshold > 0) {
- if (inverted && used >= threshold) {
- return 0;
- } else if (!inverted && used < threshold) {
- return 0;
- }
- }
-
- return signal;
+ return GT_Utility.convertRatioToRedstone(used, max, threshold, inverted);
}
@Override
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_LiquidMeter.java b/src/main/java/gregtech/common/covers/GT_Cover_LiquidMeter.java
index 7816e3dd48..48304d3fed 100644
--- a/src/main/java/gregtech/common/covers/GT_Cover_LiquidMeter.java
+++ b/src/main/java/gregtech/common/covers/GT_Cover_LiquidMeter.java
@@ -70,21 +70,7 @@ public class GT_Cover_LiquidMeter extends GT_CoverBehaviorBase<GT_Cover_LiquidMe
}
}
- byte signal = GT_Utility.convertRatioToRedstone(used, max);
-
- if (inverted) {
- signal = (byte) (15 - signal);
- }
-
- if (threshold > 0) {
- if (inverted && used >= threshold) {
- return 0;
- } else if (!inverted && used < threshold) {
- return 0;
- }
- }
-
- return signal;
+ return GT_Utility.convertRatioToRedstone(used, max, threshold, inverted);
} else {
return 0;
}