diff options
Diffstat (limited to 'src/main/java/gregtech/nei/dumper')
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); + } +} |
