Files
CustomNPC-Plus/src/main/java/noppes/npcs/client/renderer/blocks/BlockCouchWoolRenderer.java
T
2025-01-28 01:12:41 -05:00

104 lines
3.8 KiB
Java

package noppes.npcs.client.renderer.blocks;
import cpw.mods.fml.client.registry.RenderingRegistry;
import net.minecraft.block.Block;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.tileentity.TileEntity;
import noppes.npcs.CustomItems;
import noppes.npcs.blocks.BlockCouchWool;
import noppes.npcs.blocks.tiles.TileCouchWool;
import noppes.npcs.client.model.blocks.legacy.couch.*;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;
public class BlockCouchWoolRenderer extends BlockRendererInterface{
private final ModelBase model = new ModelCouchMiddle();
private final ModelBase model2 = new ModelCouchMiddleWool();
private final ModelBase modelLeft = new ModelCouchLeft();
private final ModelBase modelLeft2 = new ModelCouchLeftWool();
private final ModelBase modelRight = new ModelCouchRight();
private final ModelBase modelRight2 = new ModelCouchRightWool();
private final ModelBase modelCorner = new ModelCouchCorner();
private final ModelBase modelCorner2 = new ModelCouchCornerWool();
public BlockCouchWoolRenderer(){
((BlockCouchWool)CustomItems.couchWool).renderId = RenderingRegistry.getNextAvailableRenderId();
RenderingRegistry.registerBlockHandler(this);
}
@Override
public void renderTileEntityAt(TileEntity var1, double var2, double var4,
double var6, float var8) {
TileCouchWool tile = (TileCouchWool) var1;
GL11.glDisable(GL12.GL_RESCALE_NORMAL);
GL11.glPushMatrix();
GL11.glTranslatef((float)var2 + 0.5f, (float)var4 + 1.5f, (float)var6 + 0.5f);
//GL11.glScalef(0.95f, 0.95f, 0.95f);
GL11.glRotatef(180, 0, 0, 1);
GL11.glRotatef(90 * tile.rotation, 0, 1, 0);
GL11.glColor3f(1, 1, 1);
setWoodTexture(var1.getBlockMetadata());
if(tile.hasCornerLeft)
modelCorner.render(null, 0, 0, 0, 0, 0.0F, 0.0625F);
else if(tile.hasCornerRight){
GL11.glRotatef(90, 0, 1, 0);
modelCorner.render(null, 0, 0, 0, 0, 0.0F, 0.0625F);
}
else if(tile.hasLeft && tile.hasRight)
model.render(null, 0, 0, 0, 0, 0.0F, 0.0625F);
else if(tile.hasLeft)
modelLeft.render(null, 0, 0, 0, 0, 0.0F, 0.0625F);
else if(tile.hasRight)
modelRight.render(null, 0, 0, 0, 0, 0.0F, 0.0625F);
else
model.render(null, 0, 0, 0, 0, 0.0F, 0.0625F);
this.bindTexture(BlockTallLampRenderer.resourceTop);
float[] color = BlockBannerRenderer.colorTable[tile.color];
GL11.glColor3f(color[0], color[1], color[2]);
if(tile.hasCornerLeft || tile.hasCornerRight)
modelCorner2.render(null, 0, 0, 0, 0, 0.0F, 0.0625F);
else if(tile.hasLeft && tile.hasRight)
model2.render(null, 0, 0, 0, 0, 0.0F, 0.0625F);
else if(tile.hasLeft)
modelLeft2.render(null, 0, 0, 0, 0, 0.0F, 0.0625F);
else if(tile.hasRight)
modelRight2.render(null, 0, 0, 0, 0, 0.0F, 0.0625F);
else
model2.render(null, 0, 0, 0, 0, 0.0F, 0.0625F);
GL11.glPopMatrix();
}
@Override
public void renderInventoryBlock(Block block, int metadata, int modelId,
RenderBlocks renderer) {
GL11.glPushMatrix();
GL11.glTranslatef(0, 0.9f, 0.1f);
GL11.glScalef(0.9f, 0.9f, 0.9f);
GL11.glRotatef(180, 0, 0, 1);
GL11.glRotatef(180, 0, 1, 0);
setWoodTexture(metadata);
GL11.glColor3f(1, 1, 1);
model.render(null, 0, 0, 0, 0, 0.0F, 0.0625F);
this.bindTexture(BlockTallLampRenderer.resourceTop);
float[] color = BlockBannerRenderer.colorTable[15 - metadata];
GL11.glColor3f(color[0], color[1], color[2]);
model2.render(null, 0, 0, 0, 0, 0.0F, 0.0625F);
GL11.glPopMatrix();
}
@Override
public int getRenderId() {
return CustomItems.couchWool.getRenderType();
}
}