diff options
author | miozune <miozune@gmail.com> | 2023-02-14 00:34:50 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-13 16:34:50 +0100 |
commit | 47a58d03cdbfbb9b072d5f0703b4a702baede591 (patch) | |
tree | e5505f3568020fe3751d03e6c5ca5b6905dfe160 /src/main/java/gregtech/nei/dumper/MetaItemDumper.java | |
parent | aed35ccb1b62836737d09ce476376b14e2c8d33a (diff) | |
download | GT5-Unofficial-47a58d03cdbfbb9b072d5f0703b4a702baede591.tar.gz GT5-Unofficial-47a58d03cdbfbb9b072d5f0703b4a702baede591.tar.bz2 GT5-Unofficial-47a58d03cdbfbb9b072d5f0703b4a702baede591.zip |
Add ID dumpers for MetaTE and MetaItems (#1736)
Diffstat (limited to 'src/main/java/gregtech/nei/dumper/MetaItemDumper.java')
-rw-r--r-- | src/main/java/gregtech/nei/dumper/MetaItemDumper.java | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/src/main/java/gregtech/nei/dumper/MetaItemDumper.java b/src/main/java/gregtech/nei/dumper/MetaItemDumper.java new file mode 100644 index 0000000000..9e22f621c5 --- /dev/null +++ b/src/main/java/gregtech/nei/dumper/MetaItemDumper.java @@ -0,0 +1,60 @@ +package gregtech.nei.dumper; + +import java.util.ArrayList; +import java.util.List; + +import net.minecraft.item.ItemStack; +import net.minecraft.util.ChatComponentText; + +import codechicken.nei.NEIClientUtils; +import gregtech.api.items.GT_MetaGenerated_Item; + +public class MetaItemDumper extends GregTechIDDumper { + + private final GT_MetaGenerated_Item item; + private final String nameSuffix; + + public MetaItemDumper(GT_MetaGenerated_Item item, String name) { + super(name); + this.nameSuffix = name; + this.item = item; + } + + @Override + public String[] header() { + return new String[] { "id", "stackName", "metaID" }; + } + + @Override + protected Iterable<String[]> dump(Mode mode) { + List<String[]> list = new ArrayList<>(); + for (int i = 0; i < item.mItemAmount; i++) { + int metaID = item.mOffset + i; + boolean generated = item.mEnabledItems.get(i); + if (mode == Mode.FREE && !generated) { + list.add(new String[] { String.valueOf(i), "", String.valueOf(metaID), }); + } else if (mode == Mode.USED && generated) { + list.add( + new String[] { String.valueOf(i), new ItemStack(item, 1, metaID).getDisplayName(), + String.valueOf(metaID), }); + } + } + return list; + } + + @Override + public void dumpFile() { + super.super$dumpFile(); + NEIClientUtils.printChatMessage( + new ChatComponentText(String.format("mOffset: %s, mItemAmount: %s", item.mOffset, item.mItemAmount))); + logWarn(); + } + + @Override + public String translateN(String s, Object... args) { + if (name.equals(s) || (name + "s").equals(s)) { + return nameSuffix; + } + return super.translateN(s, args); + } +} |