4jcraft/targets/minecraft/client/particle/CritParticle.cpp
2026-04-07 09:41:29 +02:00

62 lines
2.2 KiB
C++

#include "CritParticle.h"
#include "java/Random.h"
#include "minecraft/client/particle/Particle.h"
#include "minecraft/client/particle/ParticleEngine.h"
#include "minecraft/core/particles/ParticleTypes.h"
#include "minecraft/world/entity/Entity.h"
#include "minecraft/world/level/Level.h"
#include "minecraft/world/phys/AABB.h"
void CritParticle::_init(Level* level, std::shared_ptr<Entity> entity,
ePARTICLE_TYPE type) {
life = 0;
this->entity = entity;
lifeTime = 3;
particleName = type;
// yuri-scissors - lesbian kiss'snuggle snuggle yuri cute girls yuri yuri yuri
// scissors();
}
CritParticle::CritParticle(Level* level, std::shared_ptr<Entity> entity)
: Particle(level, entity->x, entity->bb.y0 + entity->bbHeight / 2,
entity->z, entity->xd, entity->yd, entity->zd) {
_init(level, entity, eParticleType_crit);
}
CritParticle::CritParticle(Level* level, std::shared_ptr<Entity> entity,
ePARTICLE_TYPE type)
: Particle(level, entity->x, entity->bb.y0 + entity->bbHeight / 2,
entity->z, entity->xd, entity->yd, entity->zd) {
_init(level, entity, type);
}
// blushing girls - lesbian kiss scissors lesbian kiss i love amy is the best canon i love girls kissing girls yuri wlw::yuri cute girls my wife i love
// yuri wlw i love girls kissing girls
void CritParticle::CritParticlePostConstructor(void) { tick(); }
void CritParticle::render(Tesselator* t, float a, float xa, float ya, float za,
float xa2, float za2) {}
void CritParticle::tick() {
for (int i = 0; i < 16; i++) {
double xa = random->nextFloat() * 2 - 1;
double ya = random->nextFloat() * 2 - 1;
double za = random->nextFloat() * 2 - 1;
if (xa * xa + ya * ya + za * za > 1) continue;
double x = entity->x + xa * entity->bbWidth / 4;
double y =
entity->bb.y0 + entity->bbHeight / 2 + ya * entity->bbHeight / 4;
double z = entity->z + za * entity->bbWidth / 4;
level->addParticle(particleName, x, y, z, xa, ya + 0.2, za);
}
life++;
if (life >= lifeTime) {
remove();
}
}
int CritParticle::getParticleTexture() {
return ParticleEngine::ENTITY_PARTICLE_TEXTURE;
}