4jcraft/targets/minecraft/world/entity/projectile/DragonFireball.h

44 lines
1 KiB
C++

#pragma once
#include <memory>
#include "Fireball.h"
#include "java/Class.h"
#include "minecraft/core/particles/ParticleTypes.h"
class HitResult;
class Entity;
class Level;
class LivingEntity;
class DragonFireball : public Fireball {
public:
eINSTANCEOF GetType() { return eTYPE_DRAGON_FIREBALL; }
static Entity* create(Level* level) { return new DragonFireball(level); }
public:
static const double SPLASH_RANGE;
private:
static const double SPLASH_RANGE_SQ;
public:
DragonFireball(Level* level);
DragonFireball(Level* level, std::shared_ptr<LivingEntity> mob, double xa,
double ya, double za);
DragonFireball(Level* level, double x, double y, double z, double xa,
double ya, double za);
protected:
virtual void onHit(HitResult* res);
public:
virtual bool isPickable();
virtual bool hurt(DamageSource* source, float damage);
protected:
// 4J Added TU9
virtual ePARTICLE_TYPE getTrailParticleType();
virtual bool shouldBurn();
};