mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
63 lines
1.7 KiB
Java
63 lines
1.7 KiB
Java
package com.hbm.render.util;
|
|
|
|
import java.util.Random;
|
|
|
|
import org.lwjgl.opengl.GL11;
|
|
|
|
import net.minecraft.client.renderer.Tessellator;
|
|
import net.minecraft.util.Vec3;
|
|
|
|
public class RenderSparks {
|
|
|
|
public static void renderSpark(int seed, double x, double y, double z, float length, int min, int max, int color1, int color2) {
|
|
|
|
GL11.glPushMatrix();
|
|
GL11.glDisable(GL11.GL_TEXTURE_2D);
|
|
GL11.glDisable(GL11.GL_LIGHTING);
|
|
GL11.glLineWidth(3F);
|
|
Tessellator tessellator = Tessellator.instance;
|
|
|
|
Random rand = new Random(seed);
|
|
Vec3 vec = Vec3.createVectorHelper(rand.nextDouble() - 0.5, rand.nextDouble() - 0.5, rand.nextDouble() - 0.5);
|
|
vec = vec.normalize();
|
|
|
|
double prevX;
|
|
double prevY;
|
|
double prevZ;
|
|
|
|
for(int i = 0; i < min + rand.nextInt(max); i++) {
|
|
|
|
prevX = x;
|
|
prevY = y;
|
|
prevZ = z;
|
|
|
|
Vec3 dir = vec.normalize();
|
|
dir.xCoord *= length * rand.nextFloat();
|
|
dir.yCoord *= length * rand.nextFloat();
|
|
dir.zCoord *= length * rand.nextFloat();
|
|
|
|
x = prevX + dir.xCoord;
|
|
y = prevY + dir.yCoord;
|
|
z = prevZ + dir.zCoord;
|
|
|
|
GL11.glLineWidth(5F);
|
|
tessellator.startDrawing(3);
|
|
tessellator.setColorOpaque_I(color1);
|
|
tessellator.addVertex(prevX, prevY, prevZ);
|
|
tessellator.addVertex(x, y, z);
|
|
tessellator.draw();
|
|
GL11.glLineWidth(2F);
|
|
tessellator.startDrawing(3);
|
|
tessellator.setColorOpaque_I(color2);
|
|
tessellator.addVertex(prevX, prevY, prevZ);
|
|
tessellator.addVertex(x, y, z);
|
|
tessellator.draw();
|
|
}
|
|
|
|
GL11.glEnable(GL11.GL_LIGHTING);
|
|
GL11.glEnable(GL11.GL_TEXTURE_2D);
|
|
GL11.glPopMatrix();
|
|
}
|
|
|
|
}
|