aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/Common/GameRules/AddItemRuleDefinition.h
blob: 602f2d8249d902c0aa45e1f8b0cbcc48e3d330c3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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);
};