Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package net.railsofwar.row.track.client.tesr;
- import net.minecraft.block.state.IBlockState;
- import net.minecraft.client.Minecraft;
- import net.minecraft.client.renderer.*;
- import net.minecraft.client.renderer.texture.TextureMap;
- import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
- import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
- import net.minecraftforge.client.model.animation.FastTESR;
- import net.minecraftforge.common.animation.Event;
- import net.minecraftforge.common.animation.IEventHandler;
- import net.minecraftforge.common.property.IExtendedBlockState;
- import net.railsofwar.row.track.RoWTracks;
- import net.railsofwar.row.track.block.BlockTrackBase;
- import net.railsofwar.row.track.client.util.RenderUtil;
- import net.railsofwar.row.track.enumeration.EnumTrackShape;
- import net.railsofwar.row.track.tileentity.TileTrackSWNE;
- import org.lwjgl.opengl.GL11;
- import static net.railsofwar.row.track.client.ModelLibTrack.*;
- public class RenderTrack extends TileEntitySpecialRenderer<TileTrackSWNE>{
- @Override
- public void renderTileEntityAt(TileTrackSWNE tile, double x, double y, double z, float partialTicks, int destroyStage){
- IBlockState state = tile.getWorld().getBlockState(tile.getPos());
- IBlockState eState = RoWTracks.blockTrackSWNE.getExtendedState(state, tile.getWorld(), tile.getPos());
- assert IExtendedBlockState.class.isAssignableFrom(eState.getClass());
- IExtendedBlockState exState = (IExtendedBlockState) eState;
- EnumTrackShape shape = exState.getValue(BlockTrackBase.shape);
- if(shape != EnumTrackShape.SWITCH_CIRCULAR)
- return;
- RenderHelper.disableStandardItemLighting();
- bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE);
- GlStateManager.pushMatrix();
- GlStateManager.translate(.5, 0, .5);
- GlStateManager.translate(x-tile.getPos().getX(), y-tile.getPos().getY(), z- tile.getPos().getZ());
- GlStateManager.rotate(tile.direction.getAzimuth(), 0F, 1F, 0F);
- Tessellator tessellator = Tessellator.getInstance();
- tessellator.getBuffer().begin(GL11.GL_QUADS, DefaultVertexFormats.BLOCK);
- //Tessellator.getInstance().getBuffer().begin(GL11.GL_QUADS, DefaultVertexFormats.BLOCK);
- //Tessellator.getInstance().getBuffer().setTranslation(x - tile.getPos().getX(), y - tile.getPos().getY(), z - tile.getPos().getZ());
- //GL11.glRotatef(tile.direction.getAzimuth(), 0F, 1F, 0F);
- //Tessellator tessellator = Tessellator.getInstance();
- //tessellator.getBuffer().begin(GL11.GL_QUADS, DefaultVertexFormats.BLOCK);
- if(!exState.getValue(BlockTrackBase.mirrored)){
- //GlStateManager.pushMatrix();
- //GL11.glTranslated(-7F/16, 0, 47F/16);
- //RenderUtil.renderModel(rail750Switch1_bsr);
- Minecraft.getMinecraft().getBlockRendererDispatcher().getBlockModelRenderer().renderModel(tile.getWorld(), rail750Switch1_bsr, exState, tile.getPos(), Tessellator.getInstance().getBuffer(), false);
- //GlStateManager.popMatrix();
- }else{
- //GL11.glTranslated(7F/16, 0, 47F/16);
- //Minecraft.getMinecraft().getBlockRendererDispatcher().getBlockModelRenderer().renderModel(tile.getWorld(), rail750Switch1_bsl, exState, tile.getPos(), Tessellator.getInstance().getBuffer(), false);
- //RenderUtil.renderModel(rail750Switch1_bsl);
- }
- Tessellator.getInstance().draw();
- //Minecraft.getMinecraft().entityRenderer.enableLightmap();
- GlStateManager.popMatrix();
- }
- /*
- @Override
- public void renderTileEntityFast(TileTrackSWNE tile, double x, double y, double z, float partialTicks, int destroyStage, VertexBuffer renderer){
- IBlockState state = tile.getWorld().getBlockState(tile.getPos());
- IBlockState eState = RoWTracks.blockTrackSWNE.getExtendedState(state, tile.getWorld(), tile.getPos());
- assert IExtendedBlockState.class.isAssignableFrom(eState.getClass());
- IExtendedBlockState exState = (IExtendedBlockState) eState;
- EnumTrackShape shape = exState.getValue(BlockTrackBase.shape);
- if(shape != EnumTrackShape.SWITCH_CIRCULAR)
- return;
- bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE);
- GlStateManager.pushMatrix();
- //GL11.glTranslated(x + .5F, y, z + .5F);
- //renderer.setTranslation(x - tile.getPos().getX(), y - tile.getPos().getY(), z - tile.getPos().getZ());
- GlStateManager.rotate(tile.direction.getAzimuth(), 0F, 1F, 0F);
- GL11.glRotatef(tile.direction.getAzimuth(), 0F, 1F, 0F);
- if(!exState.getValue(BlockTrackBase.mirrored)){
- GlStateManager.pushMatrix();renderer.setTranslation(x - tile.getPos().getX() + 0.5F, y - tile.getPos().getY(), z - tile.getPos().getZ() + 0.5F);
- GL11.glTranslated(-0F/16, 0, 47F/16);
- //RenderUtil.renderModel(rail750Switch1_bsr);
- Minecraft.getMinecraft().getBlockRendererDispatcher().getBlockModelRenderer().renderModel(tile.getWorld(), rail750Switch1_bsr, exState, tile.getPos(), renderer, false);
- GlStateManager.popMatrix();
- }else{
- GL11.glTranslated(7F/16, 0, 47F/16);
- Minecraft.getMinecraft().getBlockRendererDispatcher().getBlockModelRenderer().renderModel(tile.getWorld(), rail750Switch1_bsl, exState, tile.getPos(), renderer, false);
- //RenderUtil.renderModel(rail750Switch1_bsl);
- }
- //Minecraft.getMinecraft().entityRenderer.enableLightmap();
- GlStateManager.popMatrix();
- }
- */
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement