Grindr, GUI, Container.
This commit is contained in:
@@ -19,18 +19,18 @@
|
||||
package appeng.client.render.tesr;
|
||||
|
||||
|
||||
import com.mojang.blaze3d.matrix.MatrixStack;
|
||||
import com.mojang.blaze3d.platform.GlStateManager;
|
||||
import com.mojang.blaze3d.systems.RenderSystem;
|
||||
import com.mojang.blaze3d.vertex.IVertexBuilder;
|
||||
import net.minecraft.client.renderer.*;
|
||||
import net.minecraft.client.renderer.model.IBakedModel;
|
||||
import net.minecraft.client.renderer.texture.AtlasTexture;
|
||||
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.renderer.BlockRendererDispatcher;
|
||||
import net.minecraft.client.renderer.BufferBuilder;
|
||||
import net.minecraft.client.renderer.GlStateManager;
|
||||
import net.minecraft.client.renderer.RenderHelper;
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import net.minecraft.client.renderer.block.model.IBakedModel;
|
||||
import net.minecraft.client.renderer.texture.TextureMap;
|
||||
import net.minecraft.client.renderer.tileentity.TileEntityRenderer;
|
||||
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
@@ -53,53 +53,68 @@ public class CrankTESR extends TileEntityRenderer<TileCrank>
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render( TileCrank te, double x, double y, double z, float partialTicks, int destroyStage, float p_render_10_ )
|
||||
{
|
||||
// Most of this is blatantly copied from FastTESR
|
||||
Tessellator tessellator = Tessellator.getInstance();
|
||||
this.bindTexture( TextureMap.LOCATION_BLOCKS_TEXTURE );
|
||||
RenderHelper.disableStandardItemLighting();
|
||||
RenderSystem.blendFunc( GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA );
|
||||
RenderSystem.enableBlend();
|
||||
GlStateManager.disableCull();
|
||||
public void render(TileCrank te, float partialTicks, MatrixStack ms, IRenderTypeBuffer buffers, int combinedLightIn, int combinedOverlayIn) {
|
||||
|
||||
if( Minecraft.isAmbientOcclusionEnabled() )
|
||||
{
|
||||
GlStateManager.shadeModel( GL11.GL_SMOOTH );
|
||||
}
|
||||
else
|
||||
{
|
||||
GlStateManager.shadeModel( GL11.GL_FLAT );
|
||||
}
|
||||
|
||||
BlockState blockState = te.getWorld().getBlockState( te.getPos() );
|
||||
|
||||
BlockRendererDispatcher dispatcher = Minecraft.getInstance().getBlockRendererDispatcher();
|
||||
IBakedModel model = dispatcher.getModelForState( blockState );
|
||||
|
||||
BufferBuilder buffer = tessellator.getBuffer();
|
||||
buffer.begin( GL11.GL_QUADS, DefaultVertexFormats.BLOCK );
|
||||
|
||||
// The translation ensures the vertex buffer positions are relative to 0,0,0 instead of the block pos
|
||||
// This makes the translations that follow much easier
|
||||
buffer.setTranslation( -te.getPos().getX(), -te.getPos().getY(), -te.getPos().getZ() );
|
||||
dispatcher.getBlockModelRenderer().renderModel( te.getWorld(), model, blockState, te.getPos(), buffer, false );
|
||||
buffer.setTranslation( 0, 0, 0 );
|
||||
|
||||
GlStateManager.pushMatrix();
|
||||
GlStateManager.translate( x, y, z );
|
||||
|
||||
// Apply GL transformations relative to the center of the block: 1) TE rotation and 2) crank rotation
|
||||
GlStateManager.translate( 0.5, 0.5, 0.5 );
|
||||
FacingToRotation.get( te.getForward(), te.getUp() ).glRotateCurrentMat();
|
||||
GlStateManager.rotate( te.getVisibleRotation(), 0, 1, 0 );
|
||||
GlStateManager.translate( -0.5, -0.5, -0.5 );
|
||||
ms.push();
|
||||
ms.translate( 0.5, 0.5, 0.5 );
|
||||
FacingToRotation.get( te.getForward(), te.getUp() ).push(ms);
|
||||
ms.rotate( new Quaternion(0, te.getVisibleRotation(), 0, true) );
|
||||
ms.translate( -0.5, -0.5, -0.5 );
|
||||
|
||||
tessellator.draw();
|
||||
BlockState blockState = te.getWorld().getBlockState( te.getPos() ); // FIXME: i think world might be null here
|
||||
BlockRendererDispatcher dispatcher = Minecraft.getInstance().getBlockRendererDispatcher();
|
||||
IBakedModel model = dispatcher.getModelForState( blockState );
|
||||
IVertexBuilder buffer = buffers.getBuffer(Atlases.getTranslucentBlockType());
|
||||
dispatcher.getBlockModelRenderer().renderModelBrightnessColor(ms.getLast(), buffer, null, model, 1, 1, 1, combinedLightIn, combinedOverlayIn);
|
||||
ms.pop();
|
||||
|
||||
GlStateManager.popMatrix();
|
||||
|
||||
RenderHelper.enableStandardItemLighting();
|
||||
// // Most of this is blatantly copied from FastTESR
|
||||
// Tessellator tessellator = Tessellator.getInstance();
|
||||
// this.bindTexture( AtlasTexture.LOCATION_BLOCKS_TEXTURE );
|
||||
// RenderHelper.disableStandardItemLighting();
|
||||
// RenderSystem.blendFunc( GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA );
|
||||
// RenderSystem.enableBlend();
|
||||
// RenderSystem.disableCull();
|
||||
//
|
||||
// if( Minecraft.isAmbientOcclusionEnabled() )
|
||||
// {
|
||||
// GlStateManager.shadeModel( GL11.GL_SMOOTH );
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// GlStateManager.shadeModel( GL11.GL_FLAT );
|
||||
// }
|
||||
//
|
||||
// BlockState blockState = te.getWorld().getBlockState( te.getPos() );
|
||||
//
|
||||
// BlockRendererDispatcher dispatcher = Minecraft.getInstance().getBlockRendererDispatcher();
|
||||
// IBakedModel model = dispatcher.getModelForState( blockState );
|
||||
//
|
||||
// BufferBuilder buffer = tessellator.getBuffer();
|
||||
// buffer.begin( GL11.GL_QUADS, DefaultVertexFormats.BLOCK );
|
||||
//
|
||||
// // The translation ensures the vertex buffer positions are relative to 0,0,0 instead of the block pos
|
||||
// // This makes the translations that follow much easier
|
||||
// buffer.setTranslation( -te.getPos().getX(), -te.getPos().getY(), -te.getPos().getZ() );
|
||||
// dispatcher.getBlockModelRenderer().renderModel( te.getWorld(), model, blockState, te.getPos(), buffer, false );
|
||||
// buffer.setTranslation( 0, 0, 0 );
|
||||
//
|
||||
// matrixStackIn.push();
|
||||
// matrixStackIn.translate( x, y, z );
|
||||
//
|
||||
// // Apply GL transformations relative to the center of the block: 1) TE rotation and 2) crank rotation
|
||||
// matrixStackIn.translate( 0.5, 0.5, 0.5 );
|
||||
// FacingToRotation.get( te.getForward(), te.getUp() ).push(matrixStack);
|
||||
// matrixStackIn.rotate( te.getVisibleRotation(), 0, 1, 0 );
|
||||
// matrixStackIn.translate( -0.5, -0.5, -0.5 );
|
||||
//
|
||||
// tessellator.draw();
|
||||
//
|
||||
// matrixStackIn.pop();
|
||||
//
|
||||
// RenderHelper.enableStandardItemLighting();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -47,7 +47,7 @@ public final class InscriberTESR extends TileEntityRenderer<TileInscriber>
|
||||
GlStateManager.pushMatrix();
|
||||
GlStateManager.translate( x, y, z );
|
||||
GlStateManager.translate( 0.5F, 0.5F, 0.5F );
|
||||
FacingToRotation.get( tile.getForward(), tile.getUp() ).glRotateCurrentMat();
|
||||
FacingToRotation.get( tile.getForward(), tile.getUp() ).push(matrixStack);
|
||||
GlStateManager.translate( -0.5F, -0.5F, -0.5F );
|
||||
|
||||
RenderSystem.color4f( 1.0F, 1.0F, 1.0F, 1.0F );
|
||||
@@ -57,7 +57,7 @@ public final class InscriberTESR extends TileEntityRenderer<TileInscriber>
|
||||
// render sides of stamps
|
||||
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
mc.renderEngine.bindTexture( TextureMap.LOCATION_BLOCKS_TEXTURE );
|
||||
mc.renderEngine.bindTexture( AtlasTexture.LOCATION_BLOCKS_TEXTURE );
|
||||
|
||||
// << 20 | light << 4;
|
||||
final int br = tile.getWorld().getCombinedLight( tile.getPos(), 0 );
|
||||
|
||||
@@ -51,7 +51,7 @@ public class ModularTESR<T extends AEBaseTile> extends TileEntityRenderer<T>
|
||||
GlStateManager.pushMatrix();
|
||||
GlStateManager.translate( x, y, z );
|
||||
GlStateManager.translate( 0.5, 0.5, 0.5 );
|
||||
FacingToRotation.get( te.getForward(), te.getUp() ).glRotateCurrentMat();
|
||||
FacingToRotation.get( te.getForward(), te.getUp() ).push(matrixStackIn);
|
||||
GlStateManager.translate( -0.5, -0.5, -0.5 );
|
||||
for( Renderable renderable : this.renderables )
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user