summaryrefslogtreecommitdiff
path: root/java/darkknight/jewelrycraft/renders/TileEntitySmelterRender.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/darkknight/jewelrycraft/renders/TileEntitySmelterRender.java')
-rw-r--r--java/darkknight/jewelrycraft/renders/TileEntitySmelterRender.java137
1 files changed, 58 insertions, 79 deletions
diff --git a/java/darkknight/jewelrycraft/renders/TileEntitySmelterRender.java b/java/darkknight/jewelrycraft/renders/TileEntitySmelterRender.java
index c8f94f7..0ce030e 100644
--- a/java/darkknight/jewelrycraft/renders/TileEntitySmelterRender.java
+++ b/java/darkknight/jewelrycraft/renders/TileEntitySmelterRender.java
@@ -1,7 +1,5 @@
package darkknight.jewelrycraft.renders;
-import java.io.IOException;
-
import net.minecraft.block.Block;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.OpenGlHelper;
@@ -12,18 +10,16 @@ import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.entity.Entity;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.init.Blocks;
-import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.IIcon;
import net.minecraft.util.ResourceLocation;
-import net.minecraft.world.World;
import org.lwjgl.opengl.GL11;
-import darkknight.jewelrycraft.block.BlockList;
-import darkknight.jewelrycraft.block.BlockMoltenMetal;
+import darkknight.jewelrycraft.JewelrycraftMod;
+import darkknight.jewelrycraft.config.ConfigHandler;
import darkknight.jewelrycraft.item.ItemList;
import darkknight.jewelrycraft.model.ModelSmelter;
import darkknight.jewelrycraft.tileentity.TileEntitySmelter;
@@ -32,7 +28,6 @@ import darkknight.jewelrycraft.util.JewelryNBT;
public class TileEntitySmelterRender extends TileEntitySpecialRenderer
{
ModelSmelter modelSmelter = new ModelSmelter();
- String texture = "textures/tileentities/Smelter.png";
public static final float p = 1 / 16, p3 = 3 * p, p13 = 13 * p, p15 = 15 * p;
@@ -41,70 +36,60 @@ public class TileEntitySmelterRender extends TileEntitySpecialRenderer
{
GL11.glPushMatrix();
GL11.glTranslatef((float) x + 0.5F, (float) y + 1.5F, (float) z + 0.5F);
-
+ String texture = "textures/tileentities/Smelter.png";
ResourceLocation blockTexture = new ResourceLocation("jewelrycraft", texture);
Minecraft.getMinecraft().renderEngine.bindTexture(blockTexture);
TileEntitySmelter st = (TileEntitySmelter) te;
- int block = te.getBlockMetadata();
-
- GL11.glPushMatrix();
- if (block == 0) GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);
- else if (block == 1)
+ GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);
+ try
+ {
+ int block = te.getBlockMetadata();
+ if (block == 1) GL11.glRotatef(90F, 0.0F, 1.0F, 0.0F);
+ else if (block == 2)
+ {
+ GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);
+ GL11.glRotatef(180F, 1.0F, 0.0F, 0.0F);
+ }
+ else if (block == 3)
+ {
+ GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);
+ GL11.glRotatef(180F, 1.0F, 0.0F, 1.0F);
+ }
+ }
+ catch (Exception e)
{
- GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);
- GL11.glRotatef(90F, 0.0F, 1.0F, 0.0F);
}
- else if (block == 2) GL11.glRotatef(180F, 1.0F, 0.0F, 0.0F);
- else if (block == 3) GL11.glRotatef(180F, 1.0F, 0.0F, 1.0F);
-
modelSmelter.render((Entity) null, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F);
- GL11.glPushMatrix();
- GL11.glDisable(GL11.GL_LIGHTING);
- EntityItem entityitem = new EntityItem(te.getWorldObj(), 0.0D, 0.0D, 0.0D, new ItemStack(Blocks.lava));
- entityitem.getEntityItem().stackSize = 1;
- entityitem.hoverStart = 0.0F;
-
- GL11.glPushMatrix();
- GL11.glPopMatrix();
-
- Tessellator t = Tessellator.instance;
- float minU, minV, maxU, maxV;
- IIcon lava = Blocks.lava.getIcon(1, 0);
-
- t.setBrightness(15728864);
-
- int meta = te.getWorldObj().getBlockMetadata(te.xCoord, te.yCoord, te.zCoord);
-
- minU = lava.getMinU();
- minV = lava.getMinV();
- maxU = lava.getMaxU();
- maxV = lava.getMaxV();
- /*
- * maxU = lava.getInterpolatedU(10); maxV = lava.getInterpolatedV(14);
- */
-
- t.startDrawingQuads();
-
- t.addVertexWithUV(te.xCoord, te.yCoord + p15, te.zCoord, minU, minV);
- t.addVertexWithUV(te.xCoord, te.yCoord + p15, te.zCoord + 1, minU, maxV);
- t.addVertexWithUV(te.xCoord + 1, te.yCoord + p15, te.zCoord + 1, maxU, maxV);
- t.addVertexWithUV(te.xCoord + 1, te.yCoord + p15, te.zCoord, maxU, minV);
-
- t.draw();
-
- GL11.glTranslatef(-0F, 1.25F, -0.345F);
- GL11.glScalef(1.2F, 1.0F, 1.7F);
- GL11.glRotatef(90F, 1F, 0F, 0f);
- RenderItem.renderInFrame = true;
- RenderManager.instance.renderEntityWithPosYaw(entityitem, 0.0D, 0.0D, 0.0D, 0.0F, 0.0F);
- RenderItem.renderInFrame = false;
+ if (scale != 0)
+ {
+ GL11.glPushMatrix();
+ GL11.glDisable(GL11.GL_LIGHTING);
+ if (JewelrycraftMod.fancyRender)
+ {
+ GL11.glEnable(GL11.GL_BLEND);
+ OpenGlHelper.glBlendFunc(1, 1, 0, 0);
+ }
+ EntityItem entityitem = new EntityItem(te.getWorldObj(), 0.0D, 0.0D, 0.0D, new ItemStack(Blocks.lava, 1, 1));
+ entityitem.hoverStart = 0.0F;
+ GL11.glTranslatef(-0F, 1.25F, -0.345F);
+ GL11.glScalef(1.2F, 1.0F, 1.7F);
+ GL11.glRotatef(90F, 1F, 0F, 0f);
+ RenderItem.renderInFrame = true;
+ int i = 15728880;
+ int j = i % 65536;
+ int k = i / 65536;
+ OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, (float) j / 1.0F, (float) k / 1.0F);
+ RenderManager.instance.renderEntityWithPosYaw(entityitem, 0.0D, 0.0D, 0.0D, 0.0F, 0.0F);
+ RenderItem.renderInFrame = false;
+ if (JewelrycraftMod.fancyRender) GL11.glDisable(GL11.GL_BLEND);
+ GL11.glEnable(GL11.GL_LIGHTING);
+ GL11.glPopMatrix();
+ }
- GL11.glEnable(GL11.GL_LIGHTING);
- GL11.glPopMatrix();
if (st != null)
{
- if (st.hasMetal && st.metal != null && st.metal != new ItemStack(Item.getItemById(0), 0, 0) && st.metal.getIconIndex() != null && st.metal.getIconIndex().getIconName() != "")
+ if (st.hasMetal && st.metal != null && st.metal.getItem() != null)
{
GL11.glPushMatrix();
GL11.glDisable(GL11.GL_LIGHTING);
@@ -127,40 +112,34 @@ public class TileEntitySmelterRender extends TileEntitySpecialRenderer
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glPopMatrix();
}
- if (st.hasMoltenMetal && st.moltenMetal != null && Item.getIdFromItem(st.moltenMetal.getItem()) > 0 && !st.moltenMetal.equals(new ItemStack(Item.getItemById(0), 0, 0)))
+ if (st.hasMoltenMetal && st.moltenMetal != null && st.moltenMetal.getItem() != null)
{
GL11.glPushMatrix();
GL11.glDisable(GL11.GL_LIGHTING);
+ if (JewelrycraftMod.fancyRender)
+ {
+ GL11.glEnable(GL11.GL_BLEND);
+ OpenGlHelper.glBlendFunc(1, 1, 0, 0);
+ }
ItemStack metal = new ItemStack(ItemList.metal);
- JewelryNBT.addMetal(metal, new ItemStack(st.moltenMetal.getItem(), 1, st.moltenMetal.getItemDamage()));
+ ItemStack stack = new ItemStack(st.moltenMetal.getItem(), 1, st.moltenMetal.getItemDamage());
+ if (Item.getIdFromItem(stack.getItem()) == Block.getIdFromBlock(Blocks.stained_glass) || Item.getIdFromItem(stack.getItem()) == Block.getIdFromBlock(Blocks.stained_glass_pane) || Item.getIdFromItem(stack.getItem()) == Block.getIdFromBlock(Blocks.stained_hardened_clay) || Item.getIdFromItem(stack.getItem()) == Block.getIdFromBlock(Blocks.wool) || Item.getIdFromItem(stack.getItem()) == Block.getIdFromBlock(Blocks.carpet)) stack.setItemDamage(15 - stack.getItemDamage());
+ JewelryNBT.addMetal(metal, stack);
EntityItem moltenMetal = new EntityItem(te.getWorldObj(), 0.0D, 0.0D, 0.0D, metal);
moltenMetal.getEntityItem().stackSize = 1;
moltenMetal.hoverStart = 0.0F;
- GL11.glTranslatef(-0F, 1.05f - .4F * st.quantity, -0.14F);
- GL11.glScalef(0.72F, 1F, 0.85F);
+ GL11.glTranslatef(-0F, 1.00f - .4F * st.quantity, -0.14F);
+ GL11.glScalef(0.71F, 1F, 0.84F);
GL11.glRotatef(90F, 1F, 0F, 0f);
RenderItem.renderInFrame = true;
RenderManager.instance.renderEntityWithPosYaw(moltenMetal, 0.0D, 0.0D, 0.0D, 0.0F, 0.0F);
RenderItem.renderInFrame = false;
+ if (JewelrycraftMod.fancyRender) GL11.glDisable(GL11.GL_BLEND);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glPopMatrix();
}
}
-
- GL11.glPopMatrix();
GL11.glPopMatrix();
}
-
- public void adjustLightFixture(World world, int i, int j, int k, Block block)
- {
- Tessellator tess = Tessellator.instance;
- float brightness = block.getLightOpacity(world, i, j, k);
- int skyLight = world.getLightBrightnessForSkyBlocks(i, j, k, 0);
- int modulousModifier = skyLight % 65536;
- int divModifier = skyLight / 65536;
- tess.setColorOpaque_F(brightness, brightness, brightness);
- OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, (float) modulousModifier, divModifier);
- }
-
}