aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/util
diff options
context:
space:
mode:
authorMatej Dipčár <492666@mail.muni.cz>2022-09-22 03:14:01 +0200
committerMatej Dipčár <492666@mail.muni.cz>2022-09-23 02:15:55 +0200
commit16dc222b95a9b45258a678f7b884121c4ba25a8a (patch)
treef118e3f4d47f87c51d66edb29d4acbfbd1f90014 /src/main/java/gregtech/api/util
parent9b4ca40de856f5cad609d44c0ec680b253f5a4bc (diff)
downloadGT5-Unofficial-16dc222b95a9b45258a678f7b884121c4ba25a8a.tar.gz
GT5-Unofficial-16dc222b95a9b45258a678f7b884121c4ba25a8a.tar.bz2
GT5-Unofficial-16dc222b95a9b45258a678f7b884121c4ba25a8a.zip
Abstract `convertRatioToRedstone` properly
Diffstat (limited to 'src/main/java/gregtech/api/util')
-rw-r--r--src/main/java/gregtech/api/util/GT_Utility.java27
1 files changed, 23 insertions, 4 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