Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package net.railsofwar.row.stock.client.RenderStock;
- import net.minecraft.client.renderer.Tessellator;
- import net.minecraft.client.renderer.VertexBuffer;
- import net.minecraft.client.renderer.block.model.BakedQuad;
- import net.minecraft.client.renderer.block.model.IBakedModel;
- import net.minecraft.client.renderer.entity.Render;
- import net.minecraft.client.renderer.entity.RenderManager;
- import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
- import net.minecraft.entity.Entity;
- import net.minecraft.util.ResourceLocation;
- import net.minecraftforge.client.model.IModel;
- import net.minecraftforge.client.model.ModelLoader;
- import net.minecraftforge.client.model.pipeline.LightUtil;
- import org.lwjgl.opengl.GL11;
- import static net.railsofwar.row.common.UtilModels.loadModel;
- import static net.railsofwar.row.track.client.util.UtilModelTRSR.*;
- public class RenderKof extends Render{
- public static IModel body = null;
- public static IModel wheelset = null;
- public static IModel coupler = null;
- public static final String TLkof = "row:stock/kof/body";
- public static final String TLwheelset = "row:stock/kof/wheelset_12";
- public static final String TLcoupler= "row:stock/kof/coupler";
- public static final ResourceLocation RLkof = new ResourceLocation("row:textures/stock/kof/body.png");
- public static final ResourceLocation RLwheelset = new ResourceLocation("row:textures/stock/kof/wheelset_12.png");
- public static final ResourceLocation RLcoupler = new ResourceLocation("row:textures/stock/kof/coupler.png");
- public RenderKof(RenderManager renderManagerIn){
- super(renderManagerIn);
- body = loadModel(new ResourceLocation("row:stock/kof/body.obj"), TLkof);
- wheelset = loadModel(new ResourceLocation("row:stock/kof/wheelset_12.obj"), TLwheelset);
- coupler = loadModel(new ResourceLocation("row:stock/kof/coupler.obj"), TLcoupler);
- }
- @Override
- public void doRender(Entity entity, double x, double y, double z, float yaw, float partialTicks){
- //super.doRender(entity, x, y, z, entityYaw, partialTicks);
- GL11.glPushMatrix();
- GL11.glTranslated(x, y - 1/16F, z);
- GL11.glRotatef(entity.rotationYaw, 0F, 1F, 0F);
- bindTexture(new ResourceLocation("row:textures/stock/kof/body.png"));
- renderModel(body.bake(stateT(tern(0, 0, 0)), DefaultVertexFormats.ITEM, ModelLoader.defaultTextureGetter()));
- bindTexture(RLcoupler);
- //renderModel(coupler.bake(stateT(tern(0, 0, -32/16F)), DefaultVertexFormats.ITEM, ModelLoader.defaultTextureGetter()));
- //renderModel(coupler.bake(stateTR(tern(0, 0, 35/16F), rotY(180F)), DefaultVertexFormats.ITEM, ModelLoader.defaultTextureGetter()));
- bindTexture(RLwheelset);
- GL11.glPushMatrix();
- GL11.glTranslated(0, 6/16F, 18/16F);
- //renderModel(wheelset.bake(stateT(tern(0, 0, 0)), DefaultVertexFormats.ITEM, ModelLoader.defaultTextureGetter()));
- GL11.glPopMatrix();
- GL11.glPushMatrix();
- GL11.glTranslated(0, 6/16F, -18/16F);
- //renderModel(wheelset.bake(stateT(tern(0, 0, 0)), DefaultVertexFormats.ITEM, ModelLoader.defaultTextureGetter()));
- GL11.glPopMatrix();
- GL11.glPopMatrix();
- }
- @Override
- protected ResourceLocation getEntityTexture(Entity entity){
- return new ResourceLocation(TLkof);
- }
- private void renderModel(IBakedModel model) {
- Tessellator tessellator = Tessellator.getInstance();
- VertexBuffer worldrenderer = tessellator.getBuffer();
- worldrenderer.begin(GL11.GL_QUADS, DefaultVertexFormats.ITEM);
- for(BakedQuad bakedquad : model.getQuads(null, null, 0))
- LightUtil.renderQuadColor(worldrenderer, bakedquad, -1);
- tessellator.draw();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement