2026-03-03 03:04:10 +08:00
|
|
|
#pragma once
|
|
|
|
|
|
2026-03-24 10:05:40 -05:00
|
|
|
#include "../Minecraft.World/DefaultDispenseItemBehavior.h"
|
2026-03-03 03:04:10 +08:00
|
|
|
|
|
|
|
|
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();
|
|
|
|
|
};
|