mirror of
https://github.com/KAMKEEL/CustomNPC-Plus.git
synced 2026-11-12 06:07:27 +00:00
104 lines
3.8 KiB
Java
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();
|
|
}
|
|
}
|