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
|
package darkknight.jewelrycraft.entities.renders;
import java.util.Random;
import org.lwjgl.opengl.GL11;
import darkknight.jewelrycraft.entities.EntityHeart;
import darkknight.jewelrycraft.util.Variables;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.renderer.entity.RenderLiving;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.util.ResourceLocation;
/**
* @author Sorin
*/
public class HeartRender extends RenderLiving
{
protected ResourceLocation texture;
Random rnd = new Random();
public HeartRender(ModelBase modelBase, float shadowSize)
{
super(modelBase, shadowSize);
}
protected void renderModel(EntityLivingBase entity, float x, float y, float z, float rot1, float rot2, float rot3)
{
super.renderModel(entity, x, y, z, rot1, rot2, rot3);
rnd.setSeed(1542372345);
if (((EntityHeart)entity).getQuantity() > 2f){
for(int i = 0; i < ((EntityHeart)entity).getQuantity() / 10f; i++){
float posX = rnd.nextFloat() * 0.2f * (rnd.nextBoolean()?1:-1);
float posY = rnd.nextFloat() * 0.2f * (rnd.nextBoolean()?1:-1);
float rotY = rnd.nextFloat() * 35f * (rnd.nextBoolean()?1:-1);
float rotZ = rnd.nextFloat() * 35f * (rnd.nextBoolean()?1:-1);
GL11.glTranslatef(-0.15F, 0.0F, 0.0F);
GL11.glTranslatef(posX, posY, 0F);
GL11.glRotatef(rotY, 0F, 1F, 0F);
GL11.glRotatef(rotZ, 0F, 0F, 1F);
GL11.glPushMatrix();
this.mainModel.render(entity, x, y, z, rot1, rot2, rot3);
GL11.glPopMatrix();
}
}
}
@Override
protected void preRenderCallback(EntityLivingBase entity, float f)
{
preRenderCallbackHeart((EntityHeart)entity, f);
}
protected void preRenderCallbackHeart(EntityHeart entity, float f)
{
GL11.glScalef(0.4F, 0.4F, 0.4F);
GL11.glRotatef(55F, 1F, 0F, 0F);
String type = entity.getType();
if (type == "" || type == null) type = "Red";
texture = new ResourceLocation(Variables.MODID, "textures/entities/" + type + "Heart.png");
}
@Override
protected ResourceLocation getEntityTexture(Entity par1Entity)
{
return texture;
}
}
|