Projectile rendering fixes
This commit is contained in:
parent
c05ea5bbd3
commit
a610f58a17
|
@ -1,17 +1,14 @@
|
|||
package com.legacy.aether.client.renders.entities.projectile;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.renderer.block.model.ItemCameraTransforms.TransformType;
|
||||
import net.minecraft.client.renderer.GlStateManager;
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import net.minecraft.client.renderer.VertexBuffer;
|
||||
import net.minecraft.client.renderer.entity.Render;
|
||||
import net.minecraft.client.renderer.entity.RenderManager;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import org.lwjgl.opengl.GL12;
|
||||
|
||||
import com.legacy.aether.entities.projectile.EntityHammerProjectile;
|
||||
import com.legacy.aether.items.ItemsAether;
|
||||
|
||||
public class HammerProjectileRenderer extends Render<EntityHammerProjectile>
|
||||
{
|
||||
|
@ -19,24 +16,33 @@ public class HammerProjectileRenderer extends Render<EntityHammerProjectile>
|
|||
public HammerProjectileRenderer(RenderManager renderManager)
|
||||
{
|
||||
super(renderManager);
|
||||
|
||||
this.shadowSize = 0.0F;
|
||||
}
|
||||
|
||||
public void doRenderNotchWave(EntityHammerProjectile notchwave, double par2, double par4, double par6, float par8, float par9)
|
||||
{
|
||||
float f4 = 0.6F, f5 = 0.4F, f6 = 1.5F;
|
||||
GlStateManager.pushMatrix();
|
||||
GlStateManager.enableRescaleNormal();
|
||||
GlStateManager.translate(par2, par4, par6);
|
||||
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslatef((float) par2, (float) par4, (float) par6);
|
||||
GL11.glRotatef(180F - this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F);
|
||||
GL11.glRotatef(-this.renderManager.playerViewX, 1.0F, 0.0F, 0.0F);
|
||||
this.bindTexture(this.getEntityTexture(notchwave));
|
||||
|
||||
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
|
||||
GL11.glTranslatef(-f4, -f5, 0.0F);
|
||||
GL11.glScalef(f6, f6, f6);
|
||||
Tessellator tessellator = Tessellator.getInstance();
|
||||
VertexBuffer vertex = tessellator.getBuffer();
|
||||
|
||||
Minecraft.getMinecraft().getItemRenderer().renderItem(Minecraft.getMinecraft().thePlayer, new ItemStack(ItemsAether.notch_hammer, 1, 1565), TransformType.NONE);
|
||||
GL11.glPopMatrix();
|
||||
GlStateManager.rotate(180F - this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F);
|
||||
GlStateManager.rotate(-this.renderManager.playerViewX, 1.0F, 0.0F, 0.0F);
|
||||
|
||||
vertex.begin(7, DefaultVertexFormats.POSITION_TEX_NORMAL);
|
||||
vertex.pos(-0.5F, -0.25F, 0.0F).tex(0.0F, 0.0F).normal(0.0F, 1.0F, 0.0F).endVertex();
|
||||
vertex.pos(0.5F, -0.25F, 0.0F).tex(0.0F, 1.0F).normal(0.0F, 1.0F, 0.0F).endVertex();
|
||||
vertex.pos(0.5F, 0.75F, 0.0F).tex(1.0F, 1.0F).normal(0.0F, 1.0F, 0.0F).endVertex();
|
||||
vertex.pos(-0.5F, 0.75F, 0.0F).tex(1.0F, 0.0F).normal(0.0F, 1.0F, 0.0F).endVertex();
|
||||
tessellator.draw();
|
||||
|
||||
GlStateManager.disableRescaleNormal();
|
||||
GlStateManager.popMatrix();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
package com.legacy.aether.client.renders.entities.projectile;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.renderer.block.model.ItemCameraTransforms.TransformType;
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import net.minecraft.client.renderer.VertexBuffer;
|
||||
import net.minecraft.client.renderer.entity.Render;
|
||||
import net.minecraft.client.renderer.entity.RenderManager;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import org.lwjgl.opengl.GL12;
|
||||
|
||||
import com.legacy.aether.Aether;
|
||||
import com.legacy.aether.entities.projectile.EntityLightningKnife;
|
||||
import com.legacy.aether.items.ItemsAether;
|
||||
|
||||
public class LightningKnifeRenderer extends Render<EntityLightningKnife>
|
||||
{
|
||||
|
@ -29,14 +29,99 @@ public class LightningKnifeRenderer extends Render<EntityLightningKnife>
|
|||
public void doRenderKnife(EntityLightningKnife arr, double d, double d1, double d2, float yaw, float time)
|
||||
{
|
||||
GL11.glPushMatrix();
|
||||
GL11.glDepthMask(true);
|
||||
GL11.glTranslatef((float)d, (float)d1, (float)d2);
|
||||
GL11.glRotatef(-yaw, 0F, 0F, 0F);
|
||||
GL11.glRotatef(-(arr.prevRotationPitch + (arr.rotationPitch - arr.prevRotationPitch) * time), 0.25F, 0F, 0F);
|
||||
GL11.glRotatef(90.0F, 1F, 0F, 0.25F);
|
||||
GL11.glRotatef(yaw, 0F, 1.0F, 0F);
|
||||
GL11.glRotatef(-(arr.prevRotationPitch + (arr.rotationPitch - arr.prevRotationPitch) * time), 1F, 0F, 0F);
|
||||
GL11.glRotatef(45f, 0.0F, 1.0F, 0.0F);
|
||||
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
|
||||
GL11.glTranslatef(-0.5F, 0.0F, -0.5F);
|
||||
Minecraft.getMinecraft().getItemRenderer().renderItem(Minecraft.getMinecraft().thePlayer, new ItemStack(ItemsAether.lightning_knife), TransformType.NONE);
|
||||
|
||||
this.bindTexture(Aether.locate("textures/items/weapons/lightning_knife.png"));
|
||||
|
||||
float texMinX = 0F;
|
||||
float texMaxX = 1.0F;
|
||||
float texMinY = 0F;
|
||||
float texMaxY = 1.0F;
|
||||
float f4 = 1.0F;
|
||||
float f8 = 0.0625F;
|
||||
|
||||
Tessellator tessellator = Tessellator.getInstance();
|
||||
VertexBuffer vertex = tessellator.getBuffer();
|
||||
|
||||
vertex.begin(7, DefaultVertexFormats.POSITION_TEX_NORMAL);
|
||||
vertex.pos(0.0D, 0.0D, 0.0D).tex(texMaxX, texMaxY).normal(0.0F, 0.0F, 1.0F).endVertex();
|
||||
vertex.pos(f4, 0.0D, 0.0D).tex(texMinX, texMaxY).normal(0.0F, 0.0F, 1.0F).endVertex();
|
||||
vertex.pos(f4, 0.0D, 1.0D).tex(texMinX, texMinY).normal(0.0F, 0.0F, 1.0F).endVertex();
|
||||
vertex.pos(0.0D, 0.0D, 1.0D).tex(texMaxX, texMinY).normal(0.0F, 0.0F, 1.0F).endVertex();
|
||||
tessellator.draw();
|
||||
|
||||
vertex.begin(7, DefaultVertexFormats.POSITION_TEX_NORMAL);
|
||||
vertex.pos(0.0D, 0.0F - f8, 1.0D).tex(texMaxX, texMinY).normal(0.0F, 0.0F, -1F).endVertex();
|
||||
vertex.pos(f4, 0.0F - f8, 1.0D).tex(texMinX, texMinY).normal(0.0F, 0.0F, -1F).endVertex();
|
||||
vertex.pos(f4, 0.0F - f8, 0.0D).tex(texMinX, texMaxY).normal(0.0F, 0.0F, -1F).endVertex();
|
||||
vertex.pos(0.0D, 0.0F - f8, 0.0D).tex(texMaxX, texMaxY).normal(0.0F, 0.0F, -1F).endVertex();
|
||||
tessellator.draw();
|
||||
|
||||
vertex.begin(7, DefaultVertexFormats.POSITION_TEX_NORMAL);
|
||||
|
||||
for(int i = 0; i < 16; i++)
|
||||
{
|
||||
float f9 = (float)i / 16F;
|
||||
float f13 = (texMaxX + (texMinX - texMaxX) * f9) - 0.001953125F;
|
||||
float f17 = f4 * f9;
|
||||
vertex.pos(f17, 0.0F - f8, 0.0D).tex(f13, texMaxY).normal(-1F, 0.0F, 0.0F).endVertex();
|
||||
vertex.pos(f17, 0.0D, 0.0D).tex(f13, texMaxY).normal(-1F, 0.0F, 0.0F).endVertex();
|
||||
vertex.pos(f17, 0.0D, 1.0D).tex(f13, texMinY).normal(-1F, 0.0F, 0.0F).endVertex();
|
||||
vertex.pos(f17, 0.0F - f8, 1.0D).tex(f13, texMinY).normal(-1F, 0.0F, 0.0F).endVertex();
|
||||
}
|
||||
|
||||
tessellator.draw();
|
||||
|
||||
vertex.begin(7, DefaultVertexFormats.POSITION_TEX_NORMAL);
|
||||
|
||||
for(int j = 0; j < 16; j++)
|
||||
{
|
||||
float f10 = (float)j / 16F;
|
||||
float f14 = (texMaxX + (texMinX - texMaxX) * f10) - 0.001953125F;
|
||||
float f18 = f4 * f10 + 0.0625F;
|
||||
vertex.pos(f18, 0.0F - f8, 1.0D).tex(f14, texMinY).normal(1.0F, 0.0F, 0.0F).endVertex();
|
||||
vertex.pos(f18, 0.0D, 1.0D).tex(f14, texMinY).normal(1.0F, 0.0F, 0.0F).endVertex();
|
||||
vertex.pos(f18, 0.0D, 0.0D).tex(f14, texMaxY).normal(1.0F, 0.0F, 0.0F).endVertex();
|
||||
vertex.pos(f18, 0.0F - f8, 0.0D).tex(f14, texMaxY).normal(1.0F, 0.0F, 0.0F).endVertex();
|
||||
}
|
||||
|
||||
tessellator.draw();
|
||||
|
||||
vertex.begin(7, DefaultVertexFormats.POSITION_TEX_NORMAL);
|
||||
|
||||
for(int k = 0; k < 16; k++)
|
||||
{
|
||||
float f11 = (float)k / 16F;
|
||||
float f15 = (texMaxY + (texMinY - texMaxY) * f11) - 0.001953125F;
|
||||
float f19 = f4 * f11 + 0.0625F;
|
||||
vertex.pos(0.0D, 0.0D, f19).tex(texMaxX, f15).normal(0.0F, 1.0F, 0.0F).endVertex();
|
||||
vertex.pos(f4, 0.0D, f19).tex(texMinX, f15).normal(0.0F, 1.0F, 0.0F).endVertex();
|
||||
vertex.pos(f4, 0.0F - f8, f19).tex(texMinX, f15).normal(0.0F, 1.0F, 0.0F).endVertex();
|
||||
vertex.pos(0.0D, 0.0F - f8, f19).tex(texMaxX, f15).normal(0.0F, 1.0F, 0.0F).endVertex();
|
||||
}
|
||||
|
||||
tessellator.draw();
|
||||
|
||||
vertex.begin(7, DefaultVertexFormats.POSITION_TEX_NORMAL);
|
||||
|
||||
for(int l = 0; l < 16; l++)
|
||||
{
|
||||
float f12 = (float)l / 16F;
|
||||
float f16 = (texMaxY + (texMinY - texMaxY) * f12) - 0.001953125F;
|
||||
float f20 = f4 * f12;
|
||||
vertex.pos(f4, 0.0D, f20).tex(texMinX, f16).normal(0.0F, -1F, 0.0F).endVertex();
|
||||
vertex.pos(0.0D, 0.0D, f20).tex(texMaxX, f16).normal(0.0F, -1F, 0.0F).endVertex();
|
||||
vertex.pos(0.0D, 0.0F - f8, f20).tex(texMaxX, f16).normal(0.0F, -1F, 0.0F).endVertex();
|
||||
vertex.pos(f4, 0.0F - f8, f20).tex(texMinX, f16).normal(0.0F, -1F, 0.0F).endVertex();
|
||||
}
|
||||
|
||||
tessellator.draw();
|
||||
|
||||
GL11.glDisable(GL12.GL_RESCALE_NORMAL);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue