#pragma once #include #include #include "GameRuleDefinition.h" #include "app/common/GameRules/ConsoleGameRulesConstants.h" class ItemInstance; class AddEnchantmentRuleDefinition : public GameRuleDefinition { private: int m_enchantmentId; int m_enchantmentLevel; public: AddEnchantmentRuleDefinition(); virtual ConsoleGameRules::EGameRuleType getActionType() { return ConsoleGameRules::eGameRuleType_AddEnchantment; } virtual void writeAttributes(DataOutputStream*, unsigned int numAttrs); virtual void addAttribute(const std::string& attributeName, const std::string& attributeValue); bool enchantItem(std::shared_ptr item); };