package openblocks.client.renderer.entity;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.entity.Entity;
import net.minecraft.util.ResourceLocation;
import openblocks.common.entity.EntityMagnet;
import org.lwjgl.opengl.GL11;
public class EntityMagnetRenderer extends Render {
private final static ResourceLocation texture = new ResourceLocation("openblocks:textures/models/magnet.png");
private final ModelBase model = new ModelBase() {
private final ModelRenderer renderer;
{
textureHeight = 32;
textureWidth = 32;
renderer = new ModelRenderer(this);
renderer.mirror = true;
renderer.setTextureOffset(0, 0);
renderer.addBox(-3, 0, -3, 6, 1, 6);
renderer.setTextureOffset(0, 7);
renderer.addBox(-2, 1, -2, 4, 1, 4);
renderer.setTextureOffset(0, 12);
renderer.addBox(-1, 2, -1, 2, 1, 2);
}
@Override
public void render(Entity entity, float x, float y, float z, float yaw, float pitch, float scale) {
renderer.render(scale);
}
};
public EntityMagnetRenderer() {}
@Override
public void doRender(Entity entity, double x, double y, double z, float yaw, float partialTick) {
EntityMagnet magnet = (EntityMagnet)entity;
bindEntityTexture(magnet);
GL11.glColor3f(1, 1, 1);
GL11.glPushMatrix();
GL11.glRotatef(yaw, 0, 1, 0);
GL11.glTranslated(x, y + entity.height - 0.4f, z);
model.render(magnet, 0, 0, 0, 0, 0, 1.0f / 8.0f);
GL11.glPopMatrix();
}
@Override
protected ResourceLocation getEntityTexture(Entity entity) {
return texture;
}
}