558ed1bda8
Added: Item Render for Pipe Added: Item Render for Tank Changed: Improve motor model Changed: Tank vol to use global var Disabled: Motor rotation( tempary) Fixed: Pick Block for all blocks except pipe which picks to steam pipe etc etc normal cleanup and derps
118 lines
3.4 KiB
Java
118 lines
3.4 KiB
Java
package dark.BasicUtilities;
|
|
|
|
import net.minecraft.block.Block;
|
|
import net.minecraft.client.renderer.RenderBlocks;
|
|
import net.minecraft.client.renderer.Tessellator;
|
|
import net.minecraft.item.ItemStack;
|
|
import net.minecraftforge.client.ForgeHooksClient;
|
|
import net.minecraftforge.client.IItemRenderer;
|
|
import net.minecraftforge.client.IItemRenderer.ItemRenderType;
|
|
|
|
import org.lwjgl.opengl.GL11;
|
|
|
|
import cpw.mods.fml.client.FMLClientHandler;
|
|
import dark.BasicUtilities.renders.models.ModelLargePipe;
|
|
import dark.BasicUtilities.renders.models.ModelLiquidTank;
|
|
|
|
/**
|
|
* special tanks to Mekanism github
|
|
*/
|
|
public class ItemRenderHelper implements IItemRenderer
|
|
{
|
|
static final ModelLiquidTank model = new ModelLiquidTank();
|
|
static final ModelLargePipe SixPipe = new ModelLargePipe();
|
|
|
|
@Override
|
|
public boolean handleRenderType(ItemStack item, ItemRenderType type)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
public void renderItem(ItemRenderType type, ItemStack item, Object... data)
|
|
{
|
|
if (item.itemID == BasicUtilitiesMain.itemPipes.shiftedIndex)
|
|
{
|
|
this.renderPipeItem((RenderBlocks) data[0], item.getItemDamage(), type == ItemRenderType.EQUIPPED);
|
|
}
|
|
if (item.itemID == BasicUtilitiesMain.itemTank.shiftedIndex)
|
|
{
|
|
this.rendertankItem((RenderBlocks) data[0], item.getItemDamage(), type == ItemRenderType.EQUIPPED);
|
|
}
|
|
|
|
}
|
|
|
|
public void renderPipeItem(RenderBlocks renderer, int meta, boolean equ)
|
|
{
|
|
|
|
GL11.glPushMatrix();
|
|
String file = BasicUtilitiesMain.textureFile + "pipes/";
|
|
switch (meta)
|
|
{
|
|
case 0:
|
|
file += "SixSteamPipe.png";
|
|
break;
|
|
case 1:
|
|
file += "SixWaterPipe.png";
|
|
break;
|
|
case 2:
|
|
file += "SixLavaPipe.png";
|
|
break;
|
|
case 3:
|
|
file += "SixOilPipe.png";
|
|
break;
|
|
default:
|
|
file += "DefaultPipe.png";
|
|
break;
|
|
}
|
|
GL11.glBindTexture(GL11.GL_TEXTURE_2D, FMLClientHandler.instance().getClient().renderEngine.getTexture(file));
|
|
if (!equ)
|
|
{
|
|
GL11.glTranslatef(0.5F, -0.5F, 0.5F);
|
|
SixPipe.renderRight();
|
|
SixPipe.renderLeft();
|
|
SixPipe.renderMiddle();
|
|
}
|
|
else
|
|
{
|
|
GL11.glTranslatef(0.5F, -0.5F, 0.5F);
|
|
SixPipe.renderFront();
|
|
SixPipe.renderBack();
|
|
SixPipe.renderMiddle();
|
|
}
|
|
|
|
GL11.glPopMatrix();
|
|
}
|
|
|
|
public void rendertankItem(RenderBlocks renderer, int meta, boolean equ)
|
|
{
|
|
|
|
GL11.glPushMatrix();
|
|
|
|
String file = BasicUtilitiesMain.textureFile + "tanks/";
|
|
switch (meta)
|
|
{
|
|
default:
|
|
file += "LiquidTank.png";
|
|
break;
|
|
}
|
|
|
|
GL11.glBindTexture(GL11.GL_TEXTURE_2D, FMLClientHandler.instance().getClient().renderEngine.getTexture(file));
|
|
if (!equ)
|
|
{
|
|
GL11.glTranslatef(0.5F, -0.5F, 0.5F);
|
|
}
|
|
else
|
|
{
|
|
GL11.glTranslatef(0.5F, -0.5F, 0.5F);
|
|
}
|
|
model.renderMain(null, 0.0625F);
|
|
GL11.glPopMatrix();
|
|
}
|
|
}
|