#pragma once #include "Item.h" class MonsterPlacerItem : public Item { private: static const int SPAWN_COUNT = 1; Icon *overlay; public: enum _eSpawnResult { eSpawnResult_OK=0, eSpawnResult_FailTooManyPigsCowsSheepCats, eSpawnResult_FailTooManyChickens, eSpawnResult_FailTooManySquid, eSpawnResult_FailTooManyWolves, eSpawnResult_FailTooManyMooshrooms, eSpawnResult_FailTooManyAnimals, eSpawnResult_FailTooManyMonsters, eSpawnResult_FailTooManyVillagers, eSpawnResult_FailCantSpawnInPeaceful, }; MonsterPlacerItem(int id); virtual wstring getHoverName(shared_ptr itemInstance); virtual int getColor(shared_ptr item, int spriteLayer); virtual bool hasMultipleSpriteLayers(); virtual Icon *getLayerIcon(int auxValue, int spriteLayer); virtual bool useOn(shared_ptr itemInstance, shared_ptr player, Level *level, int x, int y, int z, int face, float clickX, float clickY, float clickZ, bool bTestUseOnOnly=false); static shared_ptr spawnMobAt(Level *level, int mobId, double x, double y, double z, int *piResult); // 4J Added piResult param // 4J-PB added for dispenser static shared_ptr canSpawn(int iAuxVal, Level *level, int *piResult); //@Override void registerIcons(IconRegister *iconRegister); };