Advertisement
ViiRuS

Custom Block Render Tutorial

Jan 23rd, 2012
4,426
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.23 KB | None | 0 0
  1. Model File (Add this method)
  2. ---------------------------------
  3. public void renderModel(float f1)
  4.   {
  5.       Shape2.render(f1);
  6.       Shape1.render(f1);
  7.       Shape3.render(f1);
  8.       Shape4.render(f1);
  9.       Shape5.render(f1);
  10.       Shape6.render(f1);
  11.       Shape7.render(f1);
  12.       Shape8.render(f1);
  13.       Shape9.render(f1);
  14.       Shape10.render(f1);
  15.   }
  16. --------------------------------
  17. mod_ file
  18. --------------------------------
  19.  
  20. public static Block bonjour = new test_TestBlock(200,net.minecraft.src.TestTileEntity.class).setResistance(.5F).setBlockName("Test").setHardness(0.5f);
  21.     public static Item hello = new ItemReed(150,bonjour).setItemName("test");
  22.  
  23. TestRender tileent1 = new TestRender();
  24.                
  25.         ModLoader.RegisterTileEntity(net.minecraft.src.TestTileEntity.class, "TestTileEntity",tileent1);
  26.  
  27.         ModLoader.AddName(hello, "Test");
  28.                
  29.         ModLoader.AddRecipe(new ItemStack(hello, 3), new Object[]
  30.          {
  31.             "#", Character.valueOf('#'),Block.dirt
  32.         });
  33.        
  34.         hello.iconIndex = ModLoader.addOverride("/gui/items.png", "/mods/batter.png");
  35.  
  36. ----------------------------------------------
  37. Block File
  38. ----------------------------------------------
  39. package net.minecraft.src;
  40.  
  41. import java.util.Random;
  42.  
  43. public class test_TestBlock extends BlockContainer
  44. {
  45.     private Class TestEntityClass;
  46.  
  47.     protected test_TestBlock(int i,Class tClass)
  48.         {
  49.           super(i,Material.wood);
  50.           TestEntityClass = tClass;  
  51.         }
  52.    
  53.     public TileEntity getBlockEntity()
  54.     {
  55.             try{
  56.                     return (TileEntity)TestEntityClass.newInstance();
  57.             }
  58.             catch(Exception exception){
  59.                     throw new RuntimeException(exception);
  60.             }
  61.     }
  62.    
  63.     public int idDropped(int i, Random random, int j)
  64.     {
  65.         return mod_test.hello.shiftedIndex;
  66.     }
  67.    
  68.     public int quanityDropped(Random random){
  69.           return 1;
  70.          }
  71.    
  72.     public int getRenderType(){
  73.         return -1;
  74.     }
  75.    
  76.     public boolean isOpaqueCube()
  77.     {
  78.         return false;
  79.     }
  80.    
  81.     public boolean renderAsNormalBlock()
  82.     {
  83.         return false;
  84.     }
  85.  
  86. }
  87. --------------------------------------------
  88. Tile Entity File
  89. --------------------------------------------
  90. package net.minecraft.src;
  91.  
  92. public class TestTileEntity  extends TileEntity{
  93.  
  94. }
  95. -------------------------------------------
  96. Render File
  97. -------------------------------------------
  98. package net.minecraft.src;
  99.  
  100. import org.lwjgl.opengl.GL11;
  101.  
  102. public class TestRender extends TileEntitySpecialRenderer
  103. {
  104.  
  105.     public TestRender()
  106.     {
  107.         aModel = new test_Test();
  108.     }
  109.    
  110.     public void renderAModelAt(TestTileEntity tileentity1, double d, double d1, double d2, float f)
  111.     {  
  112.         GL11.glPushMatrix();
  113.         GL11.glTranslatef((float)d + 0.5F, (float)d1 + 0.5F, (float)d2 + 0.5F);
  114.         bindTextureByName("/mods/render.png");
  115.         GL11.glPushMatrix();
  116.         aModel.renderModel(0.0625F);
  117.         GL11.glPopMatrix();    
  118.         GL11.glPopMatrix();                    
  119.     }
  120.  
  121.     public void renderTileEntityAt(TileEntity tileentity, double d, double d1, double d2,
  122.             float f)
  123.     {
  124.         renderAModelAt((TestTileEntity)tileentity, d, d1, d2, f);
  125.     }
  126.  
  127.     private test_Test aModel;
  128. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement