#pragma once #include "Item.h" #include "../Core/DefaultDispenseItemBehavior.h" class MinecartItem : public Item { private: class MinecartDispenseBehavior : public DefaultDispenseItemBehavior { private: DefaultDispenseItemBehavior defaultDispenseItemBehavior; public: virtual std::shared_ptr execute( BlockSource* source, std::shared_ptr dispensed, eOUTCOME& outcome); protected: virtual void playSound(BlockSource* source); }; public: int type; MinecartItem(int id, int type); virtual bool useOn(std::shared_ptr instance, std::shared_ptr player, Level* level, int x, int y, int z, int face, float clickX, float clickY, float clickZ, bool bTestUseOnOnly = false); };