use of net.minecraft.util.IIcon in project ArsMagica2 by Mithion.
the class AMBeam method renderParticle.
@Override
public void renderParticle(Tessellator tessellator, float par2, float par3, float par4, float par5, float par6, float par7) {
tessellator.draw();
GL11.glPushMatrix();
float scaleFactor = 1.0F;
float slide = this.worldObj.getTotalWorldTime();
float rot = this.worldObj.provider.getWorldTime() % (360 / this.rotateSpeed) * this.rotateSpeed + this.rotateSpeed * par2;
float size = (float) this.particleAge / (float) this.maxLengthAge;
if (size > 1)
size = 1;
float op = 0.4F;
float widthMod = 1.0f;
IIcon beamIcon = null;
switch(this.type) {
default:
beamIcon = AMParticleIcons.instance.getHiddenIconByName("beam");
break;
case 1:
beamIcon = AMParticleIcons.instance.getHiddenIconByName("beam1");
break;
case 2:
beamIcon = AMParticleIcons.instance.getHiddenIconByName("beam2");
}
GL11.glTexParameterf(3553, 10242, 10497.0F);
GL11.glTexParameterf(3553, 10243, 10497.0F);
float var11 = slide + par2;
float var12 = -var11 * 0.2F - MathHelper.floor_float(-var11 * 0.1F);
float xx = (float) (this.prevPosX + (this.posX - this.prevPosX) * par2 - interpPosX);
float yy = (float) (this.prevPosY + (this.posY - this.prevPosY) * par2 - interpPosY);
float zz = (float) (this.prevPosZ + (this.posZ - this.prevPosZ) * par2 - interpPosZ);
GL11.glTranslated(xx, yy, zz);
if (fppc) {
widthMod = 0.3f;
}
float deltaYaw = Math.abs(this.yaw) - Math.abs(this.prevYaw);
float ry = this.prevYaw + (deltaYaw) * par2;
float rp = this.prevPitch + (this.pitch - this.prevPitch) * par2;
GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F);
GL11.glRotatef(180.0F + ry, 0.0F, 0.0F, -1.0F);
GL11.glRotatef(rp, 1.0F, 0.0F, 0.0F);
double offset1 = (-0.15D * widthMod) * size;
double offset2 = (0.15D * widthMod) * size;
double offset3 = (-0.15D * widthMod) * size * this.endMod;
double offset4 = (0.15D * widthMod) * size * this.endMod;
GL11.glRotatef(rot, 0.0F, 1.0F, 0.0F);
int i = 5;
float inc = 36.0F;
if (AMCore.config.LowGFX()) {
i = 3;
inc = 90;
} else if (AMCore.config.NoGFX()) {
i = 1;
inc = 180;
}
for (int t = 0; t < i; t++) {
double l = this.length * size * scaleFactor;
double tl = beamIcon.getMinU();
double br = beamIcon.getMaxU();
// -1.0F + var12 + t / 3.0F;
double mU = beamIcon.getMinV();
// this.length * size * scaleFactor + mU;
double mV = beamIcon.getMaxV();
GL11.glRotatef(36.0F, 0.0F, 1.0F, 0.0F);
tessellator.startDrawingQuads();
tessellator.setBrightness(200);
if (t % 2 == 0) {
tessellator.setColorRGBA_F(this.particleRed, this.particleGreen, this.particleBlue, op);
} else {
tessellator.setColorRGBA_F(1.0f, 1.0f, 1.0f, 0.4f);
}
tessellator.addVertexWithUV(offset3, l, 0.0D, br, mV);
tessellator.addVertexWithUV(offset1, 0.0D, 0.0D, br, mU);
tessellator.addVertexWithUV(offset2, 0.0D, 0.0D, tl, mU);
tessellator.addVertexWithUV(offset4, l, 0.0D, tl, mV);
tessellator.draw();
}
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
GL11.glPopMatrix();
tessellator.startDrawingQuads();
}
use of net.minecraft.util.IIcon in project Armourers-Workshop by RiskyKen.
the class RenderItemEquipmentSkin method renderNomalIcon.
private void renderNomalIcon(ItemStack stack) {
IIcon icon = stack.getItem().getIcon(stack, 0);
renderItem.renderIcon(0, 0, icon, icon.getIconWidth(), icon.getIconHeight());
if (stack.getItem().getRenderPasses(stack.getItemDamage()) > 1) {
icon = stack.getItem().getIcon(stack, 1);
renderItem.renderIcon(0, 0, icon, icon.getIconWidth(), icon.getIconHeight());
}
}
use of net.minecraft.util.IIcon in project Minechem by iopleke.
the class ElementItemRenderer method renderItem.
@Override
public void renderItem(ItemRenderType type, ItemStack itemstack, Object... data) {
GL11.glDisable(GL11.GL_LIGHTING);
GL11.glEnable(GL11.GL_ALPHA_TEST);
GL11.glDisable(GL11.GL_BLEND);
ElementItem item = (ElementItem) itemstack.getItem();
IIcon testtube = itemstack.getIconIndex();
IIcon contentsTex = null;
ElementEnum element = ElementItem.getElement(itemstack);
float duration = 1500;
float t = (int) (Minecraft.getSystemTime() % duration);
int frame = (int) MinechemUtil.translateValue(t, 0, duration, 0, 7);
if (element.roomState() == ChemicalRoomStateEnum.gas) {
contentsTex = item.gas[frame];
} else if (element.roomState() == ChemicalRoomStateEnum.liquid) {
contentsTex = item.liquid[frame];
} else {
contentsTex = item.solid;
}
switch(type) {
case INVENTORY:
renderItemInInventory(itemstack, element, testtube, contentsTex);
break;
case EQUIPPED_FIRST_PERSON:
case EQUIPPED:
renderItemInEquipped(itemstack, element, testtube, contentsTex);
break;
case ENTITY:
EntityItem entityItem = (EntityItem) data[1];
if (entityItem.worldObj == null) {
float angle = (Minecraft.getSystemTime() % 8000L) / 8000.0F * 360.0F;
GL11.glPushMatrix();
GL11.glRotatef(angle, 0.0F, 1.0F, 0.0F);
GL11.glTranslatef(-0.2F, -0.5F, 0.0F);
renderItemAsEntity(itemstack, element, testtube, contentsTex);
GL11.glPopMatrix();
} else {
renderItemAsEntity(itemstack, element, testtube, contentsTex);
}
break;
default:
break;
}
}
use of net.minecraft.util.IIcon in project Minechem by iopleke.
the class MinechemBucketRenderer method renderItem.
@Override
public void renderItem(ItemRenderType type, ItemStack itemstack, Object... data) {
GL11.glDisable(GL11.GL_BLEND);
GL11.glDisable(GL11.GL_LIGHTING);
GL11.glEnable(GL11.GL_ALPHA_TEST);
MinechemBucketItem item = (MinechemBucketItem) itemstack.getItem();
Fluid fluid = item.fluid;
IIcon bucket = item.icons[0];
IIcon pass = item.icons[1];
switch(type) {
case ENTITY:
EntityItem entityItem = (EntityItem) data[1];
if (entityItem.worldObj == null) {
float angle = (Minecraft.getSystemTime() % 8000L) / 8000.0F * 360.0F;
GL11.glPushMatrix();
GL11.glRotatef(angle, 0.0F, 1.0F, 0.0F);
GL11.glTranslatef(-0.2F, -0.5F, 0.0F);
renderItemAsEntity(bucket, pass, fluid);
GL11.glPopMatrix();
} else {
renderItemAsEntity(bucket, pass, fluid);
}
break;
case EQUIPPED_FIRST_PERSON:
case EQUIPPED:
Tessellator tessellator = Tessellator.instance;
ItemRenderer.renderItemIn2D(tessellator, bucket.getMaxU(), bucket.getMinV(), bucket.getMinU(), bucket.getMaxV(), bucket.getIconWidth(), bucket.getIconHeight(), 0.0625F);
colorFluid(fluid);
ItemRenderer.renderItemIn2D(tessellator, pass.getMaxU(), pass.getMinV(), pass.getMinU(), pass.getMaxV(), pass.getIconWidth(), pass.getIconHeight(), 0.0625F);
break;
case INVENTORY:
RenderingUtil.drawTexturedRectUV(type, 0, 0, 5, 16, 16, bucket);
colorFluid(fluid);
RenderingUtil.drawTexturedRectUV(type, 0, 0, 5, 16, 16, pass);
break;
default:
break;
}
}
use of net.minecraft.util.IIcon in project Minechem by iopleke.
the class PolytoolInventoryRender method renderItem.
@Override
public void renderItem(ItemRenderType type, ItemStack item, Object... data) {
GL11.glPushMatrix();
ArrayList upgrades = PolytoolItem.getUpgrades(item);
int count = 1;
float red = 0F;
float green = 0F;
float blue = 0F;
for (int i = 0; i < upgrades.size(); i++) {
for (int j = 0; j < ((PolytoolUpgradeType) upgrades.get(i)).power; j++) {
count++;
}
}
for (int i = 0; i < upgrades.size(); i++) {
for (int j = 0; j < ((PolytoolUpgradeType) upgrades.get(i)).power; j++) {
ElementEnum element = ((PolytoolUpgradeType) upgrades.get(i)).getElement();
red += (1 / count) * getRed(element);
green += (1 / count) * getGreen(element);
blue += (1 / count) * getBlue(element);
}
}
GL11.glColor3f(red, green, blue);
// Get icon index for the texture
IIcon icon = item.getIconIndex();
// Use vanilla code to render the icon in a 16x16 square of inventory slot
renderItem.renderIcon(0, 0, icon, 16, 16);
GL11.glPopMatrix();
}
Aggregations