package sourcecoded.quantum.client.renderer.entity;
import net.minecraft.client.Minecraft;
import net.minecraft.client.entity.AbstractClientPlayer;
import net.minecraft.client.renderer.ActiveRenderInfo;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.entity.Entity;
import net.minecraft.util.ResourceLocation;
import sourcecoded.quantum.Constants;
import sourcecoded.quantum.api.block.Colourizer;
import sourcecoded.quantum.client.renderer.fx.helpers.FXHelper;
import sourcecoded.quantum.entity.EntityEnergyPacket;
import static org.lwjgl.opengl.GL11.*;
public class RenderEnergyPacket extends Render {
ResourceLocation tex = new ResourceLocation(Constants.MODID, "textures/misc/particle/riftNode.png");
@Override
public void doRender(Entity entity, double x, double y, double z, float fq, float ptt) {
EntityEnergyPacket ent = (EntityEnergyPacket) entity;
Tessellator tess = Tessellator.instance;
glPushMatrix();
glDepthMask(false);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
Minecraft.getMinecraft().renderEngine.bindTexture(tex);
float scale = 0.1F;
float[] pos = {(float) x, (float) y, (float) z};
float[] rot = new float[] {ActiveRenderInfo.rotationX, ActiveRenderInfo.rotationXZ, ActiveRenderInfo.rotationZ, ActiveRenderInfo.rotationYZ, ActiveRenderInfo.rotationXY};
tess.startDrawingQuads();
tess.setBrightness(240);
//tess.setColorRGBA_F(1F, 0F, 1F, 0.5F);
Colourizer colour = ent.getColour();
tess.setColorRGBA_F(colour.rgb[0], colour.rgb[1], colour.rgb[2], 0.3F);
FXHelper.drawTrackingParticle(tess, pos, scale, rot);
tess.draw();
glDisable(GL_BLEND);
glDepthMask(true);
glPopMatrix();
Minecraft.getMinecraft().renderEngine.bindTexture(FXHelper.getParticleTexture());
}
@Override
protected ResourceLocation getEntityTexture(Entity entity) {
return AbstractClientPlayer.locationStevePng;
}
}