#pragma once #include "GameRuleDefinition.h" class Container; class AddEnchantmentRuleDefinition; class AddItemRuleDefinition : public GameRuleDefinition { private: int m_itemId; int m_quantity; int m_auxValue; int m_dataTag; int m_slot; std::vector m_enchantments; public: AddItemRuleDefinition(); virtual void writeAttributes(DataOutputStream*, unsigned int numAttributes); virtual void getChildren(std::vector* children); virtual ConsoleGameRules::EGameRuleType getActionType() { return ConsoleGameRules::eGameRuleType_AddItem; } virtual GameRuleDefinition* addChild( ConsoleGameRules::EGameRuleType ruleType); virtual void addAttribute(const std::wstring& attributeName, const std::wstring& attributeValue); bool addItemToContainer(std::shared_ptr container, int slotId); };