summaryrefslogtreecommitdiff
path: root/src/main/java/darkknight/jewelrycraft/model/ModelEarrings.java
blob: ed378e97ff3e8ccc9e03e2a5cdd24ad98eeda914 (plain)
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
package darkknight.jewelrycraft.model;

import org.lwjgl.opengl.GL11;

import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;

public class ModelEarrings extends ModelBase {
	// fields
	ModelRenderer	MetalPart00;
	ModelRenderer	MetalPart10;
	ModelRenderer	MetalPart20;
	ModelRenderer	Gem0;
	ModelRenderer	Gem1;
	ModelRenderer	MetalPart01;
	ModelRenderer	MetalPart11;
	ModelRenderer	MetalPart21;

	public ModelEarrings() {
		textureWidth = 32;
		textureHeight = 32;
		MetalPart00 = new ModelRenderer(this, 0, 0);
		MetalPart00.addBox(0F, 0F, 0F, 1, 3, 1);
		MetalPart00.setRotationPoint(4F, -4F, 0F);
		MetalPart00.setTextureSize(32, 32);
		MetalPart00.mirror = true;
		setRotation(MetalPart00, 0F, 0F, 0F);
		MetalPart10 = new ModelRenderer(this, 0, 0);
		MetalPart10.addBox(0F, 0F, 0F, 1, 1, 1);
		MetalPart10.setRotationPoint(4F, -3F, -1F);
		MetalPart10.setTextureSize(32, 32);
		MetalPart10.mirror = true;
		setRotation(MetalPart10, 0F, 0F, 0F);
		MetalPart20 = new ModelRenderer(this, 0, 0);
		MetalPart20.addBox(0F, 0F, 0F, 1, 1, 1);
		MetalPart20.setRotationPoint(4F, -3F, 1F);
		MetalPart20.setTextureSize(32, 32);
		MetalPart20.mirror = true;
		setRotation(MetalPart20, 0F, 0F, 0F);
		Gem0 = new ModelRenderer(this, 5, 0);
		Gem0.addBox(0F, 0F, 0F, 1, 1, 1);
		Gem0.setRotationPoint(4.5F, -3F, 0F);
		Gem0.setTextureSize(32, 32);
		Gem0.mirror = true;
		setRotation(Gem0, 0F, 0F, 0F);
		Gem1 = new ModelRenderer(this, 5, 0);
		Gem1.addBox(0F, 0F, 0F, 1, 1, 1);
		Gem1.setRotationPoint(-5.5F, -3F, 0F);
		Gem1.setTextureSize(32, 32);
		Gem1.mirror = true;
		setRotation(Gem1, 0F, 0F, 0F);
		MetalPart01 = new ModelRenderer(this, 0, 0);
		MetalPart01.addBox(0F, 0F, 0F, 1, 3, 1);
		MetalPart01.setRotationPoint(-5F, -4F, 0F);
		MetalPart01.setTextureSize(32, 32);
		MetalPart01.mirror = true;
		setRotation(MetalPart01, 0F, 0F, 0F);
		MetalPart11 = new ModelRenderer(this, 0, 0);
		MetalPart11.addBox(0F, 0F, 0F, 1, 1, 1);
		MetalPart11.setRotationPoint(-5F, -3F, -1F);
		MetalPart11.setTextureSize(32, 32);
		MetalPart11.mirror = true;
		setRotation(MetalPart11, 0F, 0F, 0F);
		MetalPart21 = new ModelRenderer(this, 0, 0);
		MetalPart21.addBox(0F, 0F, 0F, 1, 1, 1);
		MetalPart21.setRotationPoint(-5F, -3F, 1F);
		MetalPart21.setTextureSize(32, 32);
		MetalPart21.mirror = true;
		setRotation(MetalPart21, 0F, 0F, 0F);
	}

	@Override
	public void render(Entity entity, float f, float f1, float f2,
			float f3, float f4, float f5) {
		super.render(entity, f, f1, f2, f3, f4, f5);
		setRotationAngles(f, f1, f2, f3, f4, f5);
		GL11.glPushMatrix();
		// GL11.glDisable(GL11.GL_LIGHTING);
		if ((int) f3 != -1) {
			int ingotColor = (int) f3;
			int red = ingotColor >> 16 & 0xff;
			int green = ingotColor >> 8 & 0xff;
			int blue = ingotColor & 0xff;
			GL11.glColor3f((float) red / 255,
					(float) green / 255,
					(float) blue / 255);
			MetalPart00.render(f5);
			MetalPart10.render(f5);
			MetalPart20.render(f5);
			MetalPart01.render(f5);
			MetalPart11.render(f5);
			MetalPart21.render(f5);
		}
		if ((int) f4 != -1) {
			GL11.glEnable(GL11.GL_BLEND);
			GL11.glBlendFunc(GL11.GL_SRC_COLOR,
					GL11.GL_ONE_MINUS_DST_COLOR);
			int gemColor = (int) f4;
			int red = gemColor >> 16 & 0xff;
			int green = gemColor >> 8 & 0xff;
			int blue = gemColor & 0xff;
			GL11.glColor3f((float) red / 255,
					(float) green / 255,
					(float) blue / 255);
			Gem0.render(f5);
			Gem1.render(f5);
			GL11.glDisable(GL11.GL_BLEND);
		}
		// GL11.glEnable(GL11.GL_LIGHTING);
		GL11.glPopMatrix();
	}

	private void setRotation(ModelRenderer model, float x, float y,
			float z) {
		model.rotateAngleX = x;
		model.rotateAngleY = y;
		model.rotateAngleZ = z;
	}

	public void setRotationAngles(float f, float f1, float f2,
			float f3, float f4, float f5) {
		super.setRotationAngles(f, f1, f2, f3, f4, f5, null);
	}
}