aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/Ic2ExpReactorPlanner/TaloniusDecoder.java
diff options
context:
space:
mode:
authorAlkalus <3060479+draknyte1@users.noreply.github.com>2022-01-29 19:15:48 +0000
committerAlkalus <3060479+draknyte1@users.noreply.github.com>2022-01-29 19:15:48 +0000
commitc0da5cc4ea19dfb2a05e64ce09d808b4efdc95b1 (patch)
tree2b549b5dfe3f80421ae2d45e041f929ea46d59aa /src/main/java/Ic2ExpReactorPlanner/TaloniusDecoder.java
parentb926dfb3bc67b74b53749a3e420a8a6ce0fba6a7 (diff)
parent0de849179b344dfddc68393aaa23b3b75b307670 (diff)
downloadGT5-Unofficial-c0da5cc4ea19dfb2a05e64ce09d808b4efdc95b1.tar.gz
GT5-Unofficial-c0da5cc4ea19dfb2a05e64ce09d808b4efdc95b1.tar.bz2
GT5-Unofficial-c0da5cc4ea19dfb2a05e64ce09d808b4efdc95b1.zip
Merge branch 'master' of https://github.com/GTNewHorizons/GTplusplus into St00f
# Conflicts: # .gitignore # dependencies.gradle # src/main/java/gtPlusPlus/core/config/ConfigHandler.java # src/main/java/gtPlusPlus/core/item/base/BaseItemComponent.java # src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaWirelessCharger.java # src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_MassFabricator.java # src/main/resources/assets/miscutils/lang/en_US.lang
Diffstat (limited to 'src/main/java/Ic2ExpReactorPlanner/TaloniusDecoder.java')
-rw-r--r--src/main/java/Ic2ExpReactorPlanner/TaloniusDecoder.java26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/main/java/Ic2ExpReactorPlanner/TaloniusDecoder.java b/src/main/java/Ic2ExpReactorPlanner/TaloniusDecoder.java
new file mode 100644
index 0000000000..89232eb007
--- /dev/null
+++ b/src/main/java/Ic2ExpReactorPlanner/TaloniusDecoder.java
@@ -0,0 +1,26 @@
+
+package Ic2ExpReactorPlanner;
+
+import java.math.BigInteger;
+
+/**
+ * Pulls values out of codes from Talonius's old reactor planner.
+ * @author Brian McCloud
+ */
+public class TaloniusDecoder {
+ private BigInteger dataStack = null;
+
+ public TaloniusDecoder(final String dataCode) {
+ dataStack = new BigInteger(dataCode, 36);
+ }
+
+ public int readInt(final int bits) {
+ return readBigInteger(bits).intValue();
+ }
+
+ private BigInteger readBigInteger(final int bits) {
+ BigInteger data = dataStack.and(BigInteger.ONE.shiftLeft(bits).subtract(BigInteger.ONE));
+ dataStack = dataStack.shiftRight(bits);
+ return data;
+ }
+}