Advertisement
Naitenne

TESRTrack

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