the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
1#include "stdafx.h"
2#include "NamedAreaRuleDefinition.h"
3#include "..\..\..\Minecraft.World\StringHelpers.h"
4#include "..\..\..\Minecraft.World\net.minecraft.world.phys.h"
5
6NamedAreaRuleDefinition::NamedAreaRuleDefinition()
7{
8 m_name = L"";
9 m_area = AABB::newPermanent(0,0,0,0,0,0);
10}
11
12NamedAreaRuleDefinition::~NamedAreaRuleDefinition()
13{
14 delete m_area;
15}
16
17void NamedAreaRuleDefinition::writeAttributes(DataOutputStream *dos, UINT numAttributes)
18{
19 GameRuleDefinition::writeAttributes(dos, numAttributes + 7);
20
21 ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_name);
22 dos->writeUTF(m_name);
23
24 ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_x0);
25 dos->writeUTF(_toString(m_area->x0));
26 ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_y0);
27 dos->writeUTF(_toString(m_area->y0));
28 ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_z0);
29 dos->writeUTF(_toString(m_area->z0));
30
31 ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_x1);
32 dos->writeUTF(_toString(m_area->x1));
33 ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_y1);
34 dos->writeUTF(_toString(m_area->y1));
35 ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_z1);
36 dos->writeUTF(_toString(m_area->z1));
37}
38
39void NamedAreaRuleDefinition::addAttribute(const wstring &attributeName, const wstring &attributeValue)
40{
41 if(attributeName.compare(L"name") == 0)
42 {
43 m_name = attributeValue;
44#ifndef _CONTENT_PACKAGE
45 wprintf(L"NamedAreaRuleDefinition: Adding parameter name=%ls\n",m_name.c_str());
46#endif
47 }
48 else if(attributeName.compare(L"x0") == 0)
49 {
50 m_area->x0 = _fromString<int>(attributeValue);
51 app.DebugPrintf("NamedAreaRuleDefinition: Adding parameter x0=%f\n",m_area->x0);
52 }
53 else if(attributeName.compare(L"y0") == 0)
54 {
55 m_area->y0 = _fromString<int>(attributeValue);
56 if(m_area->y0 < 0) m_area->y0 = 0;
57 app.DebugPrintf("NamedAreaRuleDefinition: Adding parameter y0=%f\n",m_area->y0);
58 }
59 else if(attributeName.compare(L"z0") == 0)
60 {
61 m_area->z0 = _fromString<int>(attributeValue);
62 app.DebugPrintf("NamedAreaRuleDefinition: Adding parameter z0=%f\n",m_area->z0);
63 }
64 else if(attributeName.compare(L"x1") == 0)
65 {
66 m_area->x1 = _fromString<int>(attributeValue);
67 app.DebugPrintf("NamedAreaRuleDefinition: Adding parameter x1=%f\n",m_area->x1);
68 }
69 else if(attributeName.compare(L"y1") == 0)
70 {
71 m_area->y1 = _fromString<int>(attributeValue);
72 if(m_area->y1 < 0) m_area->y1 = 0;
73 app.DebugPrintf("NamedAreaRuleDefinition: Adding parameter y1=%f\n",m_area->y1);
74 }
75 else if(attributeName.compare(L"z1") == 0)
76 {
77 m_area->z1 = _fromString<int>(attributeValue);
78 app.DebugPrintf("NamedAreaRuleDefinition: Adding parameter z1=%f\n",m_area->z1);
79 }
80 else
81 {
82 GameRuleDefinition::addAttribute(attributeName, attributeValue);
83 }
84}