4jcraft/Minecraft.World/Util/DelayedRelease.h
2026-03-06 11:20:45 -06:00

30 lines
610 B
C++

#pragma once
#include "../Entities/Entity.h"
class DamageSource;
class DelayedRelease : public Entity
{
public:
virtual eINSTANCEOF GetType() { return eTYPE_DELAYEDRELEASE; }
private:
std::shared_ptr<Entity> toRelease;
int delay;
public:
DelayedRelease(Level *level, std::shared_ptr<Entity> toRelease, int delay);
protected:
virtual bool makeStepSound();
public:
virtual void tick();
virtual bool hurt(DamageSource *source, int damage);
protected:
virtual void defineSynchedData();
virtual void readAdditionalSaveData(CompoundTag *tag);
virtual void addAdditonalSaveData(CompoundTag *tag);
};