the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
1#include "stdafx.h"
2#include "ExplodeParticle.h"
3#include "..\Minecraft.World\JavaMath.h"
4#include "..\Minecraft.World\Random.h"
5
6ExplodeParticle::ExplodeParticle(Level *level, double x, double y, double z, double xa, double ya, double za) : Particle(level, x, y, z, xa, ya, za)
7{
8 xd = xa+(float)(Math::random()*2-1)*0.05f;
9 yd = ya+(float)(Math::random()*2-1)*0.05f;
10 zd = za+(float)(Math::random()*2-1)*0.05f;
11
12 //rCol = gCol = bCol = random->nextFloat()*.3f+.7;
13
14 unsigned int clr = Minecraft::GetInstance()->getColourTable()->getColor( eMinecraftColour_Particle_Explode ); //0xFFFFFF
15 double r = ( (clr>>16)&0xFF )/255.0f, g = ( (clr>>8)&0xFF )/255.0, b = ( clr&0xFF )/255.0;
16
17 float br = random->nextFloat() * 0.3f + 0.7f;
18 rCol = r * br;
19 gCol = g * br;
20 bCol = b * br;
21
22 size = random->nextFloat()*random->nextFloat()*6+1;
23
24 lifetime = (int)(16/(random->nextFloat()*0.8+0.2))+2;
25// noPhysics = true;
26}
27
28void ExplodeParticle::render(Tesselator *t, float a, float xa, float ya, float za, float xa2, float za2)
29{
30 // 4J - don't render explosion particles that are less than 3 metres away, to try and avoid large particles that are causing us problems with photosensitivity testing
31 float x = (float) (xo + (this->x - xo) * a - xOff);
32 float y = (float) (yo + (this->y - yo) * a - yOff);
33 float z = (float) (zo + (this->z - zo) * a - zOff);
34
35 float distSq = (x*x + y*y + z*z);
36 if( distSq < (3.0f * 3.0f) ) return;
37
38 Particle::render(t, a, xa, ya, za, xa2, za2);
39}
40
41void ExplodeParticle::tick()
42{
43 xo = x;
44 yo = y;
45 zo = z;
46
47 if (age++ >= lifetime) remove();
48
49 setMiscTex(7-age*8/lifetime);
50
51 yd += 0.004;
52 move(xd, yd, zd);
53 xd *= 0.90f;
54 yd *= 0.90f;
55 zd *= 0.90f;
56
57 if (onGround)
58 {
59 xd *= 0.7f;
60 zd *= 0.7f;
61 }
62}