forked from Kolyah35/minecraft-pe-0.6.1
52 lines
1.3 KiB
C++
Executable File
52 lines
1.3 KiB
C++
Executable File
#ifndef NET_MINECRAFT_CLIENT_PARTICLE__ExplodeParticle_H__
|
|
#define NET_MINECRAFT_CLIENT_PARTICLE__ExplodeParticle_H__
|
|
|
|
//package net.minecraft.client.particle;
|
|
|
|
#include "Particle.h"
|
|
#include "../renderer/Tesselator.h"
|
|
#include "../../world/level/Level.h"
|
|
|
|
class ExplodeParticle: public Particle
|
|
{
|
|
typedef Particle super;
|
|
public:
|
|
ExplodeParticle(Level* level, float x, float y, float z, float xa, float ya, float za)
|
|
: super(level, x, y, z, xa, ya, za)
|
|
{
|
|
xd = xa + (Mth::random()*2.0f-1.0f) * 0.05f;
|
|
yd = ya + (Mth::random()*2.0f-1.0f) * 0.05f;
|
|
zd = za + (Mth::random()*2.0f-1.0f) * 0.05f;
|
|
|
|
rCol = gCol = bCol = sharedRandom.nextFloat() * 0.3f + 0.7f;
|
|
size = sharedRandom.nextFloat() * sharedRandom.nextFloat() * 6.0f + 1.0f;
|
|
|
|
lifetime = (int)(16.0f/(sharedRandom.nextFloat() * 0.8f + 0.2f)) + 2;
|
|
// noPhysics = true;
|
|
}
|
|
|
|
void tick()
|
|
{
|
|
xo = x;
|
|
yo = y;
|
|
zo = z;
|
|
|
|
if (age++ >= lifetime) remove();
|
|
|
|
tex = 7 - age * 8 / lifetime;
|
|
|
|
yd += 0.004f;
|
|
move(xd, yd, zd);
|
|
xd *= 0.90f;
|
|
yd *= 0.90f;
|
|
zd *= 0.90f;
|
|
|
|
if (onGround) {
|
|
xd *= 0.7f;
|
|
zd *= 0.7f;
|
|
}
|
|
}
|
|
};
|
|
|
|
#endif /*NET_MINECRAFT_CLIENT_PARTICLE__ExplodeParticle_H__*/
|