aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/DelayedRelease.h
blob: babef9cf5634d439ad64e5caa659e30432bb616a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#pragma once

#include "Entity.h"

class DamageSource;

class DelayedRelease : public Entity
{
public:
	virtual eINSTANCEOF GetType() { return eTYPE_DELAYEDRELEASE; }

private:
	shared_ptr<Entity> toRelease;
	int delay;

public:
	DelayedRelease(Level *level, shared_ptr<Entity> toRelease, int delay);

protected:
	virtual bool makeStepSound();

public:
	virtual void tick();
	virtual bool hurt(DamageSource *source, float damage);

protected:
	virtual void defineSynchedData();
	virtual void readAdditionalSaveData(CompoundTag *tag);
	virtual void addAdditonalSaveData(CompoundTag *tag);
};