Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.File;
- import java.io.FileWriter;
- import java.io.IOException;
- import java.util.ArrayList;
- public class MCObjWriter
- {
- private ArrayList<blockinfo> set = new ArrayList<blockinfo>();
- private static int count=0;
- public void add(int x, int y, int z, int id)
- {
- blockinfo temp = new blockinfo();
- temp.x = x;
- temp.y = y;
- temp.z = z;
- temp.id = id;
- set.add(temp);
- }
- private class blockinfo
- {
- public int x, y, z;
- int id;
- }
- public void write(File f) throws IOException
- {
- FileWriter fw = new FileWriter(f);
- for(blockinfo b : set)
- {
- fw.append("g blocktype"+b.id+"\n");
- fw.append("v " + ((double)b.x + .5) + " " + ((double)b.y + .5) + " " + b.z + "\n");
- fw.append("v " + ((double)b.x + .5) + " " + ((double)b.y - .5) + " " + b.z + "\n");
- fw.append("v " + ((double)b.x - .5) + " " + ((double)b.y - .5) + " " + b.z + "\n");
- fw.append("v " + ((double)b.x - .5) + " " + ((double)b.y + .5) + " " + b.z + "\n");
- fw.append("f " + ++count + "/" + count + " " + ++count + "/" + count + " " + ++count + "/" + count + " " + ++count + "/" + count + " " + "\n");
- fw.append("v " + ((double)b.x + .5) + " " + ((double)b.y + .5) + " " + (b.z+1) + "\n");
- fw.append("v " + ((double)b.x + .5) + " " + ((double)b.y - .5) + " " + (b.z+1) + "\n");
- fw.append("v " + ((double)b.x - .5) + " " + ((double)b.y - .5) + " " + (b.z+1) + "\n");
- fw.append("v " + ((double)b.x - .5) + " " + ((double)b.y + .5) + " " + (b.z+1) + "\n");
- fw.append("f " + ++count + "/" + count + " " + ++count + "/" + count + " " + ++count + "/" + count + " " + ++count + "/" + count + " " + "\n");
- fw.append("v " + ((double)b.x + .5) + " " + ((double)b.y + .5) + " " + (b.z+1) + "\n");
- fw.append("v " + ((double)b.x + .5) + " " + ((double)b.y - .5) + " " + (b.z+1) + "\n");
- fw.append("v " + ((double)b.x + .5) + " " + ((double)b.y - .5) + " " + (b.z) + "\n");
- fw.append("v " + ((double)b.x + .5) + " " + ((double)b.y + .5) + " " + (b.z) + "\n");
- fw.append("f " + ++count + "/" + count + " " + ++count + "/" + count + " " + ++count + "/" + count + " " + ++count + "/" + count + " " + "\n");
- fw.append("v " + ((double)b.x - .5) + " " + ((double)b.y + .5) + " " + (b.z+1) + "\n");
- fw.append("v " + ((double)b.x - .5) + " " + ((double)b.y - .5) + " " + (b.z+1) + "\n");
- fw.append("v " + ((double)b.x - .5) + " " + ((double)b.y - .5) + " " + (b.z) + "\n");
- fw.append("v " + ((double)b.x - .5) + " " + ((double)b.y + .5) + " " + (b.z) + "\n");
- fw.append("f " + ++count + "/" + count + " " + ++count + "/" + count + " " + ++count + "/" + count + " " + ++count + "/" + count + " " + "\n");
- fw.append("v " + ((double)b.x + .5) + " " + ((double)b.y + .5) + " " + (b.z+1) + "\n");
- fw.append("v " + ((double)b.x - .5) + " " + ((double)b.y + .5) + " " + (b.z+1) + "\n");
- fw.append("v " + ((double)b.x - .5) + " " + ((double)b.y + .5) + " " + (b.z) + "\n");
- fw.append("v " + ((double)b.x + .5) + " " + ((double)b.y + .5) + " " + (b.z) + "\n");
- fw.append("f " + ++count + "/" + count + " " + ++count + "/" + count + " " + ++count + "/" + count + " " + ++count + "/" + count + " " + "\n");
- fw.append("v " + ((double)b.x + .5) + " " + ((double)b.y - .5) + " " + (b.z+1) + "\n");
- fw.append("v " + ((double)b.x - .5) + " " + ((double)b.y - .5) + " " + (b.z+1) + "\n");
- fw.append("v " + ((double)b.x - .5) + " " + ((double)b.y - .5) + " " + (b.z) + "\n");
- fw.append("v " + ((double)b.x + .5) + " " + ((double)b.y - .5) + " " + (b.z) + "\n");
- fw.append("f " + ++count + "/" + count + " " + ++count + "/" + count + " " + ++count + "/" + count + " " + ++count + "/" + count + " " + "\n");
- if(count%24000 == 0)
- System.out.println( count + " faces written" );
- }
- fw.close();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement