aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/Common/GameRules/XboxStructureActionPlaceContainer.h
blob: 6355ca1166bb4f8209acd830cab73dc2f7d59ccd (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
#pragma once

#include "XboxStructureActionPlaceBlock.h"

class AddItemRuleDefinition;
class StructurePiece;
class Level;
class BoundingBox;

class XboxStructureActionPlaceContainer : public XboxStructureActionPlaceBlock
{
private:
	vector<AddItemRuleDefinition *> m_items;
public:
	XboxStructureActionPlaceContainer();
	~XboxStructureActionPlaceContainer();

	virtual ConsoleGameRules::EGameRuleType getActionType() { return ConsoleGameRules::eGameRuleType_PlaceContainer; }
	
	virtual void getChildren(vector<GameRuleDefinition *> *children);
	virtual GameRuleDefinition *addChild(ConsoleGameRules::EGameRuleType ruleType);
	
	// 4J-JEV: Super class handles attr-facing fine.
	//virtual void writeAttributes(DataOutputStream *dos, UINT numAttributes);
	
	virtual void addAttribute(const wstring &attributeName, const wstring &attributeValue);

	bool placeContainerInLevel(StructurePiece *structure, Level *level, BoundingBox *chunkBB);
};