Advertisement
Guest User

Untitled

a guest
Jul 21st, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.76 KB | None | 0 0
  1. import java.io.File;
  2. import java.io.FileWriter;
  3. import java.io.IOException;
  4. import java.util.ArrayList;
  5.  
  6.  
  7. public class MCObjWriter
  8. {
  9.     private ArrayList<blockinfo> set = new ArrayList<blockinfo>();
  10.     private static int count=0;
  11.    
  12.     public void add(int x, int y, int z, int id)
  13.     {
  14.         blockinfo temp = new blockinfo();
  15.         temp.x = x;
  16.         temp.y = y;
  17.         temp.z = z;
  18.         temp.id = id;
  19.         set.add(temp);
  20.     }
  21.    
  22.     private class blockinfo
  23.     {
  24.         public int x, y, z;
  25.         int id;
  26.     }
  27.    
  28.     public void write(File f) throws IOException
  29.     {
  30.         FileWriter fw = new FileWriter(f);
  31.        
  32.         for(blockinfo b : set)
  33.         {
  34.             fw.append("g blocktype"+b.id+"\n");
  35.             fw.append("v " + ((double)b.x + .5) + " " + ((double)b.y + .5) + " " + b.z + "\n");
  36.             fw.append("v " + ((double)b.x + .5) + " " + ((double)b.y - .5) + " " + b.z + "\n");
  37.             fw.append("v " + ((double)b.x - .5) + " " + ((double)b.y - .5) + " " + b.z + "\n");
  38.             fw.append("v " + ((double)b.x - .5) + " " + ((double)b.y + .5) + " " + b.z + "\n");
  39.             fw.append("f " + ++count + "/" + count + " " + ++count + "/" + count + " " + ++count + "/" + count + " " + ++count + "/" + count + " " + "\n");
  40.            
  41.             fw.append("v " + ((double)b.x + .5) + " " + ((double)b.y + .5) + " " + (b.z+1) + "\n");
  42.             fw.append("v " + ((double)b.x + .5) + " " + ((double)b.y - .5) + " " + (b.z+1) + "\n");
  43.             fw.append("v " + ((double)b.x - .5) + " " + ((double)b.y - .5) + " " + (b.z+1) + "\n");
  44.             fw.append("v " + ((double)b.x - .5) + " " + ((double)b.y + .5) + " " + (b.z+1) + "\n");
  45.             fw.append("f " + ++count + "/" + count + " " + ++count + "/" + count + " " + ++count + "/" + count + " " + ++count + "/" + count + " " + "\n");
  46.            
  47.             fw.append("v " + ((double)b.x + .5) + " " + ((double)b.y + .5) + " " + (b.z+1) + "\n");
  48.             fw.append("v " + ((double)b.x + .5) + " " + ((double)b.y - .5) + " " + (b.z+1) + "\n");
  49.             fw.append("v " + ((double)b.x + .5) + " " + ((double)b.y - .5) + " " + (b.z) + "\n");
  50.             fw.append("v " + ((double)b.x + .5) + " " + ((double)b.y + .5) + " " + (b.z) + "\n");
  51.             fw.append("f " + ++count + "/" + count + " " + ++count + "/" + count + " " + ++count + "/" + count + " " + ++count + "/" + count + " " + "\n");
  52.            
  53.             fw.append("v " + ((double)b.x - .5) + " " + ((double)b.y + .5) + " " + (b.z+1) + "\n");
  54.             fw.append("v " + ((double)b.x - .5) + " " + ((double)b.y - .5) + " " + (b.z+1) + "\n");
  55.             fw.append("v " + ((double)b.x - .5) + " " + ((double)b.y - .5) + " " + (b.z) + "\n");
  56.             fw.append("v " + ((double)b.x - .5) + " " + ((double)b.y + .5) + " " + (b.z) + "\n");
  57.             fw.append("f " + ++count + "/" + count + " " + ++count + "/" + count + " " + ++count + "/" + count + " " + ++count + "/" + count + " " + "\n");
  58.            
  59.             fw.append("v " + ((double)b.x + .5) + " " + ((double)b.y + .5) + " " + (b.z+1) + "\n");
  60.             fw.append("v " + ((double)b.x - .5) + " " + ((double)b.y + .5) + " " + (b.z+1) + "\n");
  61.             fw.append("v " + ((double)b.x - .5) + " " + ((double)b.y + .5) + " " + (b.z) + "\n");
  62.             fw.append("v " + ((double)b.x + .5) + " " + ((double)b.y + .5) + " " + (b.z) + "\n");
  63.             fw.append("f " + ++count + "/" + count + " " + ++count + "/" + count + " " + ++count + "/" + count + " " + ++count + "/" + count + " " + "\n");
  64.            
  65.             fw.append("v " + ((double)b.x + .5) + " " + ((double)b.y - .5) + " " + (b.z+1) + "\n");
  66.             fw.append("v " + ((double)b.x - .5) + " " + ((double)b.y - .5) + " " + (b.z+1) + "\n");
  67.             fw.append("v " + ((double)b.x - .5) + " " + ((double)b.y - .5) + " " + (b.z) + "\n");
  68.             fw.append("v " + ((double)b.x + .5) + " " + ((double)b.y - .5) + " " + (b.z) + "\n");
  69.             fw.append("f " + ++count + "/" + count + " " + ++count + "/" + count + " " + ++count + "/" + count + " " + ++count + "/" + count + " " + "\n");
  70.            
  71.             if(count%24000 == 0)
  72.                 System.out.println( count + " faces written" );
  73.            
  74.         }
  75.         fw.close();
  76.     }
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement