aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/AbstractProjectileDispenseBehavior.h
blob: 30705a8a0e7680175ae0d002d49ad0b2b9fb73a7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#pragma once

#include "..\Minecraft.World\DefaultDispenseItemBehavior.h"

class Projectile;

class AbstractProjectileDispenseBehavior : public DefaultDispenseItemBehavior
{
public:
	shared_ptr<ItemInstance> execute(BlockSource *source, shared_ptr<ItemInstance> dispensed);

protected:
	virtual void playSound(BlockSource *source);
	virtual shared_ptr<Projectile> getProjectile(Level *world, Position *position) = 0;
	virtual float getUncertainty();
	virtual float getPower();
};