package codechicken.nei.config; import net.minecraft.util.RegistryNamespaced; import java.util.LinkedList; public abstract class RegistryDumper<T> extends DataDumper { public RegistryDumper(String name) { super(name); } @Override public Iterable<String[]> dump(int mode) { LinkedList<String[]> list = new LinkedList<String[]>(); RegistryNamespaced registry = registry(); for (T obj : (Iterable<T>) registry) { list.add(dump(obj, registry.getIDForObject(obj), (String) registry.getNameForObject(obj))); } return list; } public abstract RegistryNamespaced registry(); public abstract String[] dump(T obj, int id, String name); @Override public int modeCount() { return 1; } }