the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
1#pragma once
2#include "GameRuleDefinition.h"
3#include "..\..\..\Minecraft.World\StructurePiece.h"
4
5class Level;
6class Random;
7class BoundingBox;
8class ConsoleGenerateStructureAction;
9class XboxStructureActionPlaceContainer;
10class GRFObject;
11
12class ConsoleGenerateStructure : public GameRuleDefinition, public StructurePiece
13{
14private:
15 int m_x, m_y, m_z;
16 vector<ConsoleGenerateStructureAction *> m_actions;
17 int m_dimension;
18public:
19 ConsoleGenerateStructure();
20
21 virtual ConsoleGameRules::EGameRuleType getActionType() { return ConsoleGameRules::eGameRuleType_GenerateStructure; }
22
23 virtual void getChildren(vector<GameRuleDefinition *> *children);
24 virtual GameRuleDefinition *addChild(ConsoleGameRules::EGameRuleType ruleType);
25
26 virtual void writeAttributes(DataOutputStream *dos, UINT numAttrs);
27 virtual void addAttribute(const wstring &attributeName, const wstring &attributeValue);
28
29 // StructurePiece
30 virtual BoundingBox *getBoundingBox();
31 virtual bool postProcess(Level *level, Random *random, BoundingBox *chunkBB);
32
33 void createContainer(XboxStructureActionPlaceContainer *action, Level *level, BoundingBox *chunkBB);
34
35 bool checkIntersects(int x0, int y0, int z0, int x1, int y1, int z1);
36
37 virtual int getMinY();
38
39 EStructurePiece GetType() { return (EStructurePiece)0; }
40 void addAdditonalSaveData(CompoundTag *tag) {}
41 void readAdditonalSaveData(CompoundTag *tag) {}
42};