aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/Common/GameRules/AddItemRuleDefinition.h
diff options
context:
space:
mode:
Diffstat (limited to 'Minecraft.Client/Common/GameRules/AddItemRuleDefinition.h')
-rw-r--r--Minecraft.Client/Common/GameRules/AddItemRuleDefinition.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/Minecraft.Client/Common/GameRules/AddItemRuleDefinition.h b/Minecraft.Client/Common/GameRules/AddItemRuleDefinition.h
new file mode 100644
index 00000000..602f2d82
--- /dev/null
+++ b/Minecraft.Client/Common/GameRules/AddItemRuleDefinition.h
@@ -0,0 +1,30 @@
+#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;
+ vector<AddEnchantmentRuleDefinition *> m_enchantments;
+
+public:
+ AddItemRuleDefinition();
+
+ virtual void writeAttributes(DataOutputStream *, UINT numAttributes);
+ virtual void getChildren(vector<GameRuleDefinition *> *children);
+
+ virtual ConsoleGameRules::EGameRuleType getActionType() { return ConsoleGameRules::eGameRuleType_AddItem; }
+
+ virtual GameRuleDefinition *addChild(ConsoleGameRules::EGameRuleType ruleType);
+ virtual void addAttribute(const wstring &attributeName, const wstring &attributeValue);
+
+ bool addItemToContainer(shared_ptr<Container> container, int slotId);
+}; \ No newline at end of file