From 47a58d03cdbfbb9b072d5f0703b4a702baede591 Mon Sep 17 00:00:00 2001 From: miozune Date: Tue, 14 Feb 2023 00:34:50 +0900 Subject: Add ID dumpers for MetaTE and MetaItems (#1736) --- .../java/gregtech/nei/dumper/MetaItemDumper.java | 60 ++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 src/main/java/gregtech/nei/dumper/MetaItemDumper.java (limited to 'src/main/java/gregtech/nei/dumper/MetaItemDumper.java') 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 dump(Mode mode) { + List 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); + } +} -- cgit