aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/recipe
diff options
context:
space:
mode:
authorMaxim <maxim235@gmx.de>2023-07-19 16:28:02 +0200
committerGitHub <noreply@github.com>2023-07-19 16:28:02 +0200
commit0275ea72b964afbd4281a759dd7f23975a20d100 (patch)
treeee7c8cf2e98bfd69d929cb95ccb06115cb3dec19 /src/main/java/gregtech/api/recipe
parent6656848378abe5e9bfb66e3f7b06a9f55789e9b6 (diff)
downloadGT5-Unofficial-0275ea72b964afbd4281a759dd7f23975a20d100.tar.gz
GT5-Unofficial-0275ea72b964afbd4281a759dd7f23975a20d100.tar.bz2
GT5-Unofficial-0275ea72b964afbd4281a759dd7f23975a20d100.zip
Migrate fusion reactor to proper generic processing logic (#2145)
* Migrate fusion to generic processing logic * Adjusted OC calculator to allow max number of OCs * Fixed typo * Fix buffer consumption logic * Fix oversight * Addressed reviews
Diffstat (limited to 'src/main/java/gregtech/api/recipe')
-rw-r--r--src/main/java/gregtech/api/recipe/check/CheckRecipeResultRegistry.java8
-rw-r--r--src/main/java/gregtech/api/recipe/check/ResultInsufficientStartupPower.java54
2 files changed, 62 insertions, 0 deletions
diff --git a/src/main/java/gregtech/api/recipe/check/CheckRecipeResultRegistry.java b/src/main/java/gregtech/api/recipe/check/CheckRecipeResultRegistry.java
index 26f9dedd7d..7a2d8661dd 100644
--- a/src/main/java/gregtech/api/recipe/check/CheckRecipeResultRegistry.java
+++ b/src/main/java/gregtech/api/recipe/check/CheckRecipeResultRegistry.java
@@ -102,10 +102,18 @@ public final class CheckRecipeResultRegistry {
return new ResultInsufficientMachineTier(required);
}
+ /**
+ * Cannot process recipe because the machine doesn't have enough startup power.
+ */
+ public static CheckRecipeResult insufficientStartupPower(int required) {
+ return new ResultInsufficientStartupPower(required);
+ }
+
static {
register(new SimpleCheckRecipeResult(false, ""));
register(new ResultInsufficientPower(0));
register(new ResultInsufficientHeat(0));
register(new ResultInsufficientMachineTier(0));
+ register(new ResultInsufficientStartupPower(0));
}
}
diff --git a/src/main/java/gregtech/api/recipe/check/ResultInsufficientStartupPower.java b/src/main/java/gregtech/api/recipe/check/ResultInsufficientStartupPower.java
new file mode 100644
index 0000000000..42b352563d
--- /dev/null
+++ b/src/main/java/gregtech/api/recipe/check/ResultInsufficientStartupPower.java
@@ -0,0 +1,54 @@
+package gregtech.api.recipe.check;
+
+import net.minecraft.network.PacketBuffer;
+import net.minecraft.util.StatCollector;
+
+import gregtech.api.util.GT_Utility;
+
+public class ResultInsufficientStartupPower implements CheckRecipeResult {
+
+ private int required;
+
+ ResultInsufficientStartupPower(int required) {
+ this.required = required;
+ }
+
+ @Override
+ public String getID() {
+ return "insufficient_startup_power";
+ }
+
+ @Override
+ public boolean wasSuccessful() {
+ return false;
+ }
+
+ @Override
+ public String getDisplayString() {
+ return StatCollector
+ .translateToLocalFormatted("GT5U.gui.text.insufficient_startup_power", GT_Utility.formatNumbers(required));
+ }
+
+ @Override
+ public CheckRecipeResult newInstance() {
+ return new ResultInsufficientStartupPower(0);
+ }
+
+ @Override
+ public void encode(PacketBuffer buffer) {
+ buffer.writeVarIntToBuffer(required);
+ }
+
+ @Override
+ public void decode(PacketBuffer buffer) {
+ required = buffer.readVarIntFromBuffer();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ ResultInsufficientStartupPower that = (ResultInsufficientStartupPower) o;
+ return required == that.required;
+ }
+}