#pragma once #include "../Minecraft.World/DefaultDispenseItemBehavior.h" class Projectile; class AbstractProjectileDispenseBehavior : public DefaultDispenseItemBehavior { public: shared_ptr execute(BlockSource *source, shared_ptr dispensed); protected: virtual void playSound(BlockSource *source); virtual shared_ptr getProjectile(Level *world, Position *position) = 0; virtual float getUncertainty(); virtual float getPower(); };