package jo.sm.ent.cmd; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; import jo.sm.logic.StarMadeLogic; public class DumpBlockToImage { private static final String TEXTURE_PREFIX = "textureId=\""; private static final String TYPE_PREFIX = "type=\""; private String[] mArgs; public DumpBlockToImage(String[] argv) { mArgs = argv; } public void run() { parseArgs(); try { File blockConfig = new File(StarMadeLogic.getInstance().getBaseDir(), "data/config/BlockConfig.xml"); BufferedReader rdr = new BufferedReader(new FileReader(blockConfig)); for (;;) { String inbuf = rdr.readLine(); if (inbuf == null) { break; } int off = inbuf.indexOf(TEXTURE_PREFIX); if (off < 0) { continue; } inbuf = inbuf.substring(off + TEXTURE_PREFIX.length()); off = inbuf.indexOf("\""); if (off < 0) { continue; } String texture = inbuf.substring(0, off); off = inbuf.indexOf(TYPE_PREFIX); if (off < 0) { continue; } inbuf = inbuf.substring(off + TYPE_PREFIX.length()); off = inbuf.indexOf("\""); if (off < 0) { continue; } String type = inbuf.substring(0, off); System.out.println("BLOCK_ICON.put(BlockTypes." + type + ", " + texture + ");"); } rdr.close(); } catch (IOException e) { e.printStackTrace(); } } private void parseArgs() { if (mArgs.length == 0) { System.err.println("Arg1 = starmade dir"); System.exit(0); } StarMadeLogic.setBaseDir(mArgs[0]); } public static void main(String[] argv) { DumpBlockToImage app = new DumpBlockToImage(argv); app.run(); } }