Files
minecraft-pe-0.6.1/src/world/entity/monster/Monster.h
2026-03-02 22:04:18 +03:00

58 lines
1.2 KiB
C++
Executable File

#ifndef NET_MINECRAFT_WORLD_ENTITY_MONSTER__Monster_H__
#define NET_MINECRAFT_WORLD_ENTITY_MONSTER__Monster_H__
//package net.minecraft.world.entity->monster;
#include "../PathfinderMob.h"
class Level;
class Entity;
//class DamageSource;
class CompoundTag;
class Monster: public PathfinderMob//implements Enemy
{
typedef PathfinderMob super;
public:
Monster(Level* level);
void aiStep();
void tick();
//bool hurt(DamageSource* source, int dmg) {
bool hurt(Entity* sourceEntity, int dmg);
/*@Override*/
bool canSpawn();
int getCreatureBaseType() const;
bool doHurtTarget(Entity* target);
void setTarget(Mob* mob);
Mob* getTarget();
Mob* getLastHurtByMob();
void setLastHurtByMob(Mob* mob);
virtual int getAttackDamage(Entity* target);
protected:
Entity* findAttackTarget();
bool isDarkEnoughToSpawn();
/**
* Performs hurt action, returns if successful
*
* @param target
* @return
*/
void checkHurtTarget(Entity* target, float distance);
float getWalkTargetValue(int x, int y, int z);
virtual int getAttackTime();
int attackDamage;
int targetId;
int lastHurtByMobId;
};
#endif /*NET_MINECRAFT_WORLD_ENTITY_MONSTER__Monster_H__*/