Advertisement
Naitenne

tesr dispatcher

Jan 25th, 2017
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.13 KB | None | 0 0
  1. package net.railsofwar.row.track.client.tesr;
  2.  
  3. import net.minecraft.block.state.IBlockState;
  4. import net.minecraft.client.Minecraft;
  5. import net.minecraft.client.renderer.*;
  6. import net.minecraft.client.renderer.texture.TextureMap;
  7. import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
  8. import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
  9. import net.minecraftforge.client.model.animation.FastTESR;
  10. import net.minecraftforge.common.animation.Event;
  11. import net.minecraftforge.common.animation.IEventHandler;
  12. import net.minecraftforge.common.property.IExtendedBlockState;
  13. import net.railsofwar.row.track.RoWTracks;
  14. import net.railsofwar.row.track.block.BlockTrackBase;
  15. import net.railsofwar.row.track.client.util.RenderUtil;
  16. import net.railsofwar.row.track.enumeration.EnumTrackShape;
  17. import net.railsofwar.row.track.tileentity.TileTrackSWNE;
  18. import org.lwjgl.opengl.GL11;
  19.  
  20. import static net.railsofwar.row.track.client.ModelLibTrack.*;
  21.  
  22. public class RenderTrack extends TileEntitySpecialRenderer<TileTrackSWNE>{
  23.  
  24.     @Override
  25.     public void renderTileEntityAt(TileTrackSWNE tile, double x, double y, double z, float partialTicks, int destroyStage){
  26.         IBlockState state = tile.getWorld().getBlockState(tile.getPos());
  27.         IBlockState eState = RoWTracks.blockTrackSWNE.getExtendedState(state, tile.getWorld(), tile.getPos());
  28.         assert IExtendedBlockState.class.isAssignableFrom(eState.getClass());
  29.         IExtendedBlockState exState = (IExtendedBlockState) eState;
  30.         EnumTrackShape shape = exState.getValue(BlockTrackBase.shape);
  31.         if(shape != EnumTrackShape.SWITCH_CIRCULAR)
  32.             return;
  33.         RenderHelper.disableStandardItemLighting();
  34.         bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE);
  35.         GlStateManager.pushMatrix();
  36.         GlStateManager.translate(.5, 0, .5);
  37.         GlStateManager.translate(x-tile.getPos().getX(), y-tile.getPos().getY(), z- tile.getPos().getZ());
  38.         GlStateManager.rotate(tile.direction.getAzimuth(), 0F, 1F, 0F);
  39.         Tessellator tessellator = Tessellator.getInstance();
  40.         tessellator.getBuffer().begin(GL11.GL_QUADS, DefaultVertexFormats.BLOCK);
  41.  
  42.         //Tessellator.getInstance().getBuffer().begin(GL11.GL_QUADS, DefaultVertexFormats.BLOCK);
  43.         //Tessellator.getInstance().getBuffer().setTranslation(x - tile.getPos().getX(), y - tile.getPos().getY(), z - tile.getPos().getZ());
  44.         //GL11.glRotatef(tile.direction.getAzimuth(), 0F, 1F, 0F);
  45.         //Tessellator tessellator = Tessellator.getInstance();
  46.         //tessellator.getBuffer().begin(GL11.GL_QUADS, DefaultVertexFormats.BLOCK);
  47.         if(!exState.getValue(BlockTrackBase.mirrored)){
  48.             //GlStateManager.pushMatrix();
  49.             //GL11.glTranslated(-7F/16, 0, 47F/16);
  50.             //RenderUtil.renderModel(rail750Switch1_bsr);
  51.             Minecraft.getMinecraft().getBlockRendererDispatcher().getBlockModelRenderer().renderModel(tile.getWorld(), rail750Switch1_bsr, exState, tile.getPos(), Tessellator.getInstance().getBuffer(), false);
  52.             //GlStateManager.popMatrix();
  53.         }else{
  54.             //GL11.glTranslated(7F/16, 0, 47F/16);
  55.             //Minecraft.getMinecraft().getBlockRendererDispatcher().getBlockModelRenderer().renderModel(tile.getWorld(), rail750Switch1_bsl, exState, tile.getPos(), Tessellator.getInstance().getBuffer(), false);
  56.  
  57.             //RenderUtil.renderModel(rail750Switch1_bsl);
  58.         }
  59.         Tessellator.getInstance().draw();
  60.         //Minecraft.getMinecraft().entityRenderer.enableLightmap();
  61.         GlStateManager.popMatrix();
  62.     }
  63.  
  64.     /*
  65.     @Override
  66.     public void renderTileEntityFast(TileTrackSWNE tile, double x, double y, double z, float partialTicks, int destroyStage, VertexBuffer renderer){
  67.         IBlockState state = tile.getWorld().getBlockState(tile.getPos());
  68.         IBlockState eState = RoWTracks.blockTrackSWNE.getExtendedState(state, tile.getWorld(), tile.getPos());
  69.         assert IExtendedBlockState.class.isAssignableFrom(eState.getClass());
  70.         IExtendedBlockState exState = (IExtendedBlockState) eState;
  71.         EnumTrackShape shape = exState.getValue(BlockTrackBase.shape);
  72.         if(shape != EnumTrackShape.SWITCH_CIRCULAR)
  73.             return;
  74.         bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE);
  75.         GlStateManager.pushMatrix();
  76.         //GL11.glTranslated(x + .5F, y, z + .5F);
  77.         //renderer.setTranslation(x - tile.getPos().getX(), y - tile.getPos().getY(), z - tile.getPos().getZ());
  78.         GlStateManager.rotate(tile.direction.getAzimuth(), 0F, 1F, 0F);
  79.         GL11.glRotatef(tile.direction.getAzimuth(), 0F, 1F, 0F);
  80.         if(!exState.getValue(BlockTrackBase.mirrored)){
  81.             GlStateManager.pushMatrix();renderer.setTranslation(x - tile.getPos().getX() + 0.5F, y - tile.getPos().getY(), z - tile.getPos().getZ() + 0.5F);
  82.             GL11.glTranslated(-0F/16, 0, 47F/16);
  83.             //RenderUtil.renderModel(rail750Switch1_bsr);
  84.             Minecraft.getMinecraft().getBlockRendererDispatcher().getBlockModelRenderer().renderModel(tile.getWorld(), rail750Switch1_bsr, exState, tile.getPos(), renderer, false);
  85.             GlStateManager.popMatrix();
  86.         }else{
  87.             GL11.glTranslated(7F/16, 0, 47F/16);
  88.             Minecraft.getMinecraft().getBlockRendererDispatcher().getBlockModelRenderer().renderModel(tile.getWorld(), rail750Switch1_bsl, exState, tile.getPos(), renderer, false);
  89.  
  90.             //RenderUtil.renderModel(rail750Switch1_bsl);
  91.         }
  92.         //Minecraft.getMinecraft().entityRenderer.enableLightmap();
  93.         GlStateManager.popMatrix();
  94.     }
  95. */
  96. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement