From 3eb8c7a8fca3f22475d53e30f0b90a6737f313fa Mon Sep 17 00:00:00 2001 From: bculkin2442 Date: Thu, 24 May 2018 15:53:20 -0400 Subject: Initial commit --- .../entities/renderers/RenderMysteryPotion.java | 100 +++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100755 YWD/src/main/java/fyresmodjam/entities/renderers/RenderMysteryPotion.java (limited to 'YWD/src/main/java/fyresmodjam/entities/renderers') diff --git a/YWD/src/main/java/fyresmodjam/entities/renderers/RenderMysteryPotion.java b/YWD/src/main/java/fyresmodjam/entities/renderers/RenderMysteryPotion.java new file mode 100755 index 0000000..ea79e25 --- /dev/null +++ b/YWD/src/main/java/fyresmodjam/entities/renderers/RenderMysteryPotion.java @@ -0,0 +1,100 @@ +package fyresmodjam.entities.renderers; + +import org.lwjgl.opengl.GL11; +import org.lwjgl.opengl.GL12; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import fyresmodjam.entities.EntityMysteryPotion; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.entity.Render; +import net.minecraft.client.renderer.texture.TextureMap; +import net.minecraft.entity.Entity; +import net.minecraft.entity.projectile.EntityPotion; +import net.minecraft.item.Item; +import net.minecraft.item.ItemPotion; +import net.minecraft.potion.PotionHelper; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; + +@SideOnly(Side.CLIENT) +public class RenderMysteryPotion extends Render { + private Item field_94151_a; + + public RenderMysteryPotion(Item par1Item) { + field_94151_a = par1Item; + } + + @Override + public void doRender(Entity par1Entity, double par2, double par4, + double par6, float par8, float par9) { + IIcon icon = (par1Entity instanceof EntityMysteryPotion) + ? field_94151_a.getIconFromDamage( + par1Entity.getDataWatcher() + .getWatchableObjectInt( + 24)) + : field_94151_a.getIconFromDamage(0); + + if (icon != null) { + GL11.glPushMatrix(); + GL11.glTranslatef((float) par2, (float) par4, + (float) par6); + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + GL11.glScalef(0.5F, 0.5F, 0.5F); + bindEntityTexture(par1Entity); + Tessellator tessellator = Tessellator.instance; + + if (icon == ItemPotion + .func_94589_d("bottle_splash")) { + int i = PotionHelper.func_77915_a( + ((EntityPotion) par1Entity) + .getPotionDamage(), + false); + float f2 = (i >> 16 & 255) / 255.0F; + float f3 = (i >> 8 & 255) / 255.0F; + float f4 = (i & 255) / 255.0F; + GL11.glColor3f(f2, f3, f4); + GL11.glPushMatrix(); + func_77026_a(tessellator, ItemPotion + .func_94589_d("overlay")); + GL11.glPopMatrix(); + GL11.glColor3f(1.0F, 1.0F, 1.0F); + } + + func_77026_a(tessellator, icon); + GL11.glDisable(GL12.GL_RESCALE_NORMAL); + GL11.glPopMatrix(); + } + } + + @Override + protected ResourceLocation getEntityTexture(Entity par1Entity) { + return TextureMap.locationItemsTexture; + } + + private void func_77026_a(Tessellator par1Tessellator, + IIcon par2Icon) { + float f = par2Icon.getMinU(); + float f1 = par2Icon.getMaxU(); + float f2 = par2Icon.getMinV(); + float f3 = par2Icon.getMaxV(); + float f4 = 1.0F; + float f5 = 0.5F; + float f6 = 0.25F; + GL11.glRotatef(180.0F - renderManager.playerViewY, 0.0F, + 1.0F, 0.0F); + GL11.glRotatef(-renderManager.playerViewX, 1.0F, 0.0F, + 0.0F); + par1Tessellator.startDrawingQuads(); + par1Tessellator.setNormal(0.0F, 1.0F, 0.0F); + par1Tessellator.addVertexWithUV(0.0F - f5, 0.0F - f6, 0.0D, + f, f3); + par1Tessellator.addVertexWithUV(f4 - f5, 0.0F - f6, 0.0D, + f1, f3); + par1Tessellator.addVertexWithUV(f4 - f5, f4 - f6, 0.0D, f1, + f2); + par1Tessellator.addVertexWithUV(0.0F - f5, f4 - f6, 0.0D, + f, f2); + par1Tessellator.draw(); + } +} -- cgit v1.2.3