the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at main 62 lines 1.8 kB view raw
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}