aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/nei/dumper/MetaItemDumper.java
diff options
context:
space:
mode:
authormiozune <miozune@gmail.com>2023-02-14 00:34:50 +0900
committerGitHub <noreply@github.com>2023-02-13 16:34:50 +0100
commit47a58d03cdbfbb9b072d5f0703b4a702baede591 (patch)
treee5505f3568020fe3751d03e6c5ca5b6905dfe160 /src/main/java/gregtech/nei/dumper/MetaItemDumper.java
parentaed35ccb1b62836737d09ce476376b14e2c8d33a (diff)
downloadGT5-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.java60
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);
+ }
+}