diff options
Diffstat (limited to 'src/main/java/gregtech/nei/dumper/GregTechIDDumper.java')
-rw-r--r-- | src/main/java/gregtech/nei/dumper/GregTechIDDumper.java | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/src/main/java/gregtech/nei/dumper/GregTechIDDumper.java b/src/main/java/gregtech/nei/dumper/GregTechIDDumper.java new file mode 100644 index 0000000000..896ec8f83b --- /dev/null +++ b/src/main/java/gregtech/nei/dumper/GregTechIDDumper.java @@ -0,0 +1,60 @@ +package gregtech.nei.dumper; + +import net.minecraft.util.ChatComponentTranslation; +import net.minecraft.util.ChatStyle; +import net.minecraft.util.EnumChatFormatting; + +import codechicken.nei.NEIClientUtils; +import codechicken.nei.config.DataDumper; +import cpw.mods.fml.common.Loader; + +public abstract class GregTechIDDumper extends DataDumper { + + public GregTechIDDumper(String name) { + super("tools.dump.gt5u." + name); + } + + @Override + public Iterable<String[]> dump(int modeInt) { + return dump(getMode(modeInt)); + } + + protected abstract Iterable<String[]> dump(Mode mode); + + @Override + public String modeButtonText() { + return NEIClientUtils.lang.translate("options.tools.dump.gt5u.mode." + getMode()); + } + + @Override + public void dumpFile() { + super.dumpFile(); + logWarn(); + } + + protected void super$dumpFile() { + super.dumpFile(); + } + + protected void logWarn() { + if (!Loader.isModLoaded("dreamcraft")) { + NEIClientUtils.printChatMessage( + new ChatComponentTranslation("nei.options.tools.dump.gt5u.warn_env") + .setChatStyle(new ChatStyle().setColor(EnumChatFormatting.DARK_RED))); + } + } + + @Override + public int modeCount() { + return Mode.values().length; + } + + protected Mode getMode(int modeInt) { + return Mode.values()[modeInt]; + } + + protected enum Mode { + FREE, + USED + } +} |