aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/nei/dumper
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/nei/dumper')
-rw-r--r--src/main/java/gregtech/nei/dumper/BatchModeSupportDumper.java10
-rw-r--r--src/main/java/gregtech/nei/dumper/InputSeparationSupportDumper.java10
-rw-r--r--src/main/java/gregtech/nei/dumper/MultiBlockFeatureSupportDumper.java46
-rw-r--r--src/main/java/gregtech/nei/dumper/RecipeLockingSupportDumper.java10
-rw-r--r--src/main/java/gregtech/nei/dumper/VoidProtectionSupportDumper.java10
5 files changed, 86 insertions, 0 deletions
diff --git a/src/main/java/gregtech/nei/dumper/BatchModeSupportDumper.java b/src/main/java/gregtech/nei/dumper/BatchModeSupportDumper.java
new file mode 100644
index 0000000000..ea0168073a
--- /dev/null
+++ b/src/main/java/gregtech/nei/dumper/BatchModeSupportDumper.java
@@ -0,0 +1,10 @@
+package gregtech.nei.dumper;
+
+import gregtech.api.interfaces.modularui.ControllerWithOptionalFeatures;
+
+public class BatchModeSupportDumper extends MultiBlockFeatureSupportDumper {
+
+ public BatchModeSupportDumper() {
+ super("batch_mode", ControllerWithOptionalFeatures::supportsBatchMode);
+ }
+}
diff --git a/src/main/java/gregtech/nei/dumper/InputSeparationSupportDumper.java b/src/main/java/gregtech/nei/dumper/InputSeparationSupportDumper.java
new file mode 100644
index 0000000000..5b0d293827
--- /dev/null
+++ b/src/main/java/gregtech/nei/dumper/InputSeparationSupportDumper.java
@@ -0,0 +1,10 @@
+package gregtech.nei.dumper;
+
+import gregtech.api.interfaces.modularui.ControllerWithOptionalFeatures;
+
+public class InputSeparationSupportDumper extends MultiBlockFeatureSupportDumper {
+
+ public InputSeparationSupportDumper() {
+ super("input_separation", ControllerWithOptionalFeatures::supportsInputSeparation);
+ }
+}
diff --git a/src/main/java/gregtech/nei/dumper/MultiBlockFeatureSupportDumper.java b/src/main/java/gregtech/nei/dumper/MultiBlockFeatureSupportDumper.java
new file mode 100644
index 0000000000..dc378ff9ad
--- /dev/null
+++ b/src/main/java/gregtech/nei/dumper/MultiBlockFeatureSupportDumper.java
@@ -0,0 +1,46 @@
+package gregtech.nei.dumper;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.function.Function;
+
+import codechicken.nei.config.DataDumper;
+import gregtech.api.GregTech_API;
+import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
+import gregtech.api.interfaces.modularui.ControllerWithOptionalFeatures;
+
+public abstract class MultiBlockFeatureSupportDumper extends DataDumper {
+
+ private final Function<ControllerWithOptionalFeatures, Boolean> isFeatureSupported;
+
+ public MultiBlockFeatureSupportDumper(String name,
+ Function<ControllerWithOptionalFeatures, Boolean> isFeatureSupported) {
+ super("tools.dump.gt5u." + name);
+ this.isFeatureSupported = isFeatureSupported;
+ }
+
+ @Override
+ public String[] header() {
+ return new String[] { "className" };
+ }
+
+ @Override
+ public Iterable<String[]> dump(int mode) {
+ List<String[]> list = new ArrayList<>();
+ for (int i = 1; i < GregTech_API.METATILEENTITIES.length; i++) {
+ IMetaTileEntity mte = GregTech_API.METATILEENTITIES[i];
+ if (!(mte instanceof ControllerWithOptionalFeatures controller)) continue;
+ if (!isFeatureSupported.apply(controller)) {
+ list.add(
+ new String[] { controller.getClass()
+ .getName() });
+ }
+ }
+ return list;
+ }
+
+ @Override
+ public int modeCount() {
+ return 1;
+ }
+}
diff --git a/src/main/java/gregtech/nei/dumper/RecipeLockingSupportDumper.java b/src/main/java/gregtech/nei/dumper/RecipeLockingSupportDumper.java
new file mode 100644
index 0000000000..05deba6c39
--- /dev/null
+++ b/src/main/java/gregtech/nei/dumper/RecipeLockingSupportDumper.java
@@ -0,0 +1,10 @@
+package gregtech.nei.dumper;
+
+import gregtech.api.interfaces.modularui.ControllerWithOptionalFeatures;
+
+public class RecipeLockingSupportDumper extends MultiBlockFeatureSupportDumper {
+
+ public RecipeLockingSupportDumper() {
+ super("recipe_locking", ControllerWithOptionalFeatures::supportsSingleRecipeLocking);
+ }
+}
diff --git a/src/main/java/gregtech/nei/dumper/VoidProtectionSupportDumper.java b/src/main/java/gregtech/nei/dumper/VoidProtectionSupportDumper.java
new file mode 100644
index 0000000000..b48efb2cdc
--- /dev/null
+++ b/src/main/java/gregtech/nei/dumper/VoidProtectionSupportDumper.java
@@ -0,0 +1,10 @@
+package gregtech.nei.dumper;
+
+import gregtech.api.interfaces.modularui.ControllerWithOptionalFeatures;
+
+public class VoidProtectionSupportDumper extends MultiBlockFeatureSupportDumper {
+
+ public VoidProtectionSupportDumper() {
+ super("void_protection", ControllerWithOptionalFeatures::supportsVoidProtection);
+ }
+}