Advertisement
Naitenne

Untitled

Jan 13th, 2017
208
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.55 KB | None | 0 0
  1. package net.railsofwar.row.stock.client.RenderStock;
  2.  
  3. import net.minecraft.client.renderer.Tessellator;
  4. import net.minecraft.client.renderer.VertexBuffer;
  5. import net.minecraft.client.renderer.block.model.BakedQuad;
  6. import net.minecraft.client.renderer.block.model.IBakedModel;
  7. import net.minecraft.client.renderer.entity.Render;
  8. import net.minecraft.client.renderer.entity.RenderManager;
  9. import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
  10. import net.minecraft.entity.Entity;
  11. import net.minecraft.util.ResourceLocation;
  12. import net.minecraftforge.client.model.IModel;
  13. import net.minecraftforge.client.model.ModelLoader;
  14. import net.minecraftforge.client.model.pipeline.LightUtil;
  15. import org.lwjgl.opengl.GL11;
  16.  
  17. import static net.railsofwar.row.common.UtilModels.loadModel;
  18. import static net.railsofwar.row.track.client.util.UtilModelTRSR.*;
  19.  
  20. public class RenderKof extends Render{
  21.     public static IModel body = null;
  22.     public static IModel wheelset = null;
  23.     public static IModel coupler = null;
  24.     public static final String TLkof = "row:stock/kof/body";
  25.     public static final String TLwheelset = "row:stock/kof/wheelset_12";
  26.     public static final String TLcoupler= "row:stock/kof/coupler";
  27.     public static final ResourceLocation RLkof = new ResourceLocation("row:textures/stock/kof/body.png");
  28.     public static final ResourceLocation RLwheelset = new ResourceLocation("row:textures/stock/kof/wheelset_12.png");
  29.     public static final ResourceLocation RLcoupler = new ResourceLocation("row:textures/stock/kof/coupler.png");
  30.  
  31.     public RenderKof(RenderManager renderManagerIn){
  32.         super(renderManagerIn);
  33.         body = loadModel(new ResourceLocation("row:stock/kof/body.obj"), TLkof);
  34.         wheelset = loadModel(new ResourceLocation("row:stock/kof/wheelset_12.obj"), TLwheelset);
  35.         coupler = loadModel(new ResourceLocation("row:stock/kof/coupler.obj"), TLcoupler);
  36.     }
  37.  
  38.     @Override
  39.     public void doRender(Entity entity, double x, double y, double z, float yaw, float partialTicks){
  40.         //super.doRender(entity, x, y, z, entityYaw, partialTicks);
  41.         GL11.glPushMatrix();
  42.         GL11.glTranslated(x, y - 1/16F, z);
  43.         GL11.glRotatef(entity.rotationYaw, 0F, 1F, 0F);
  44.         bindTexture(new ResourceLocation("row:textures/stock/kof/body.png"));
  45.         renderModel(body.bake(stateT(tern(0, 0, 0)), DefaultVertexFormats.ITEM, ModelLoader.defaultTextureGetter()));
  46.         bindTexture(RLcoupler);
  47.         //renderModel(coupler.bake(stateT(tern(0, 0, -32/16F)), DefaultVertexFormats.ITEM, ModelLoader.defaultTextureGetter()));
  48.         //renderModel(coupler.bake(stateTR(tern(0, 0, 35/16F), rotY(180F)), DefaultVertexFormats.ITEM, ModelLoader.defaultTextureGetter()));
  49.  
  50.         bindTexture(RLwheelset);
  51.         GL11.glPushMatrix();
  52.         GL11.glTranslated(0, 6/16F, 18/16F);
  53.         //renderModel(wheelset.bake(stateT(tern(0, 0, 0)), DefaultVertexFormats.ITEM, ModelLoader.defaultTextureGetter()));
  54.         GL11.glPopMatrix();
  55.  
  56.         GL11.glPushMatrix();
  57.         GL11.glTranslated(0, 6/16F, -18/16F);
  58.         //renderModel(wheelset.bake(stateT(tern(0, 0, 0)), DefaultVertexFormats.ITEM, ModelLoader.defaultTextureGetter()));
  59.         GL11.glPopMatrix();
  60.  
  61.         GL11.glPopMatrix();
  62.     }
  63.  
  64.     @Override
  65.     protected ResourceLocation getEntityTexture(Entity entity){
  66.         return new ResourceLocation(TLkof);
  67.     }
  68.  
  69.     private void renderModel(IBakedModel model) {
  70.         Tessellator tessellator = Tessellator.getInstance();
  71.         VertexBuffer worldrenderer = tessellator.getBuffer();
  72.         worldrenderer.begin(GL11.GL_QUADS, DefaultVertexFormats.ITEM);
  73.  
  74.         for(BakedQuad bakedquad : model.getQuads(null, null, 0))
  75.             LightUtil.renderQuadColor(worldrenderer, bakedquad, -1);
  76.         tessellator.draw();
  77.     }
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement