Naitenne

TESRTrack

Jan 25th, 2017
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.87 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.renderer.GlStateManager;
  5. import net.minecraft.client.renderer.texture.TextureMap;
  6. import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
  7. import net.minecraftforge.common.property.IExtendedBlockState;
  8. import net.railsofwar.row.track.RoWTracks;
  9. import net.railsofwar.row.track.block.BlockTrackBase;
  10. import net.railsofwar.row.track.client.util.RenderUtil;
  11. import net.railsofwar.row.track.enumeration.EnumTrackShape;
  12. import net.railsofwar.row.track.tileentity.TileTrackSWNE;
  13. import org.lwjgl.opengl.GL11;
  14.  
  15. import static net.railsofwar.row.track.client.ModelLibTrack.*;
  16.  
  17. public class RenderTrack extends TileEntitySpecialRenderer<TileTrackSWNE>{
  18.  
  19.     @Override
  20.     public void renderTileEntityAt(TileTrackSWNE tile, double x, double y, double z, float partialTicks, int destroyStage){
  21.         IBlockState state = tile.getWorld().getBlockState(tile.getPos());
  22.         IBlockState eState = RoWTracks.blockTrackSWNE.getExtendedState(state, tile.getWorld(), tile.getPos());
  23.         assert IExtendedBlockState.class.isAssignableFrom(eState.getClass());
  24.         IExtendedBlockState exState = (IExtendedBlockState) eState;
  25.         EnumTrackShape shape = exState.getValue(BlockTrackBase.shape);
  26.         if(shape != EnumTrackShape.SWITCH_CIRCULAR)
  27.             return;
  28.  
  29.         bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE);
  30.         GlStateManager.pushMatrix();
  31.         GL11.glTranslated(x + .5F, y, z + .5F);
  32.         GL11.glRotatef(tile.direction.getAzimuth(), 0F, 1F, 0F);
  33.         if(!exState.getValue(BlockTrackBase.mirrored)){
  34.             GlStateManager.pushMatrix();
  35.             GL11.glTranslated(-7F/16, 0, 47F/16);
  36.             RenderUtil.renderModel(rail750Switch1_bsr);
  37.             GlStateManager.popMatrix();
  38.         }else{
  39.             GL11.glTranslated(7F/16, 0, 47F/16);
  40.             RenderUtil.renderModel(rail750Switch1_bsl);
  41.         }
  42.  
  43.         GlStateManager.popMatrix();
  44.     }
  45. }
Add Comment
Please, Sign In to add comment