-
Notifications
You must be signed in to change notification settings - Fork 755
/
ThrowingKnifeRenderer.java
69 lines (53 loc) · 2.6 KB
/
ThrowingKnifeRenderer.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
package tconstruct.weaponry.client.item;
import tconstruct.client.AmmoItemRenderer;
import tconstruct.library.weaponry.IWindup;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.entity.RenderManager;
import net.minecraft.client.renderer.entity.RenderPlayer;
import net.minecraft.client.renderer.texture.TextureMap;
import net.minecraft.item.ItemStack;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;
public class ThrowingKnifeRenderer extends AmmoItemRenderer {
private static Minecraft mc = Minecraft.getMinecraft();
@Override
protected void specialAnimation(ItemRenderType type, ItemStack item) {
float progress = ((IWindup)item.getItem()).getWindupProgress(item, mc.thePlayer);
if(type == ItemRenderType.EQUIPPED_FIRST_PERSON) {
GL11.glPushMatrix();
GL11.glScalef(2.5f, 2.5f, 2.5f);
// rotate it, otherwise it's drawn over our item :(
GL11.glTranslatef(0.5f, -0.6f, 0f);
//GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
//GL11.glRotatef(-85.0F, 0.0F, 0.0F, 1.0F);
GL11.glRotatef(-25.0F, 0.0F, 0.0F, 1.0F);
GL11.glRotatef(progress * 35.0F, 0.0F, 0.0F, 1.0F);
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
mc.getTextureManager().bindTexture(mc.thePlayer.getLocationSkin());
RenderPlayer plrRender = (RenderPlayer) RenderManager.instance.getEntityRenderObject(mc.thePlayer);
plrRender.renderFirstPersonArm(mc.thePlayer);
GL11.glPopMatrix();
mc.getTextureManager().bindTexture(TextureMap.locationItemsTexture);
// rotate it aroooound
//GL11.glRotatef(-180, 0, 0, 1);
//GL11.glTranslatef(0.5f, -0.6f, 0f);
//GL11.glRotatef(-25.0F, 0.0F, 0.0F, 1.0F);
GL11.glTranslatef(1.3f, 0.4f, -0.2f);
//GL11.glTranslatef(-0.5f, 0.6f, 0f);
//GL11.glTranslatef(0.f, 1f, 0f);
//GL11.glTranslatef(progress * -1.5f, 0.0f, 0f);
GL11.glTranslatef(0.0f, -1.85f, 0f);
GL11.glRotatef(progress * 35.0F, 0.0F, 0.0F, 1.0F);
GL11.glTranslatef(0.0f, 1.85f, 0f);
GL11.glRotatef(progress * -15.0F, 0.0F, 0.0F, 1.0F);
//GL11.glTranslatef(-0.f, -1f, 0f);
//GL11.glTranslatef(0.5f, -0.6f, 0f);
GL11.glScalef(1.5f, 1.5f, 1.5f);
GL11.glRotatef(-180, 0, 0, 1);
GL11.glTranslatef(0.5f, -0.6f, 0f);
GL11.glRotatef(-25.0F, 0.0F, 0.0F, 1.0F);
}
if(type == ItemRenderType.EQUIPPED)
GL11.glRotatef(-180, 0, 0, 1);
}
}