aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/Common/GameRules/NamedAreaRuleDefinition.cpp
blob: 41ff15e86746cc92f2ec35877d88c8b38db59f05 (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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#include "stdafx.h"
#include "NamedAreaRuleDefinition.h"
#include "..\..\..\Minecraft.World\StringHelpers.h"
#include "..\..\..\Minecraft.World\net.minecraft.world.phys.h"

NamedAreaRuleDefinition::NamedAreaRuleDefinition()
{
	m_name = L"";
	m_area = AABB::newPermanent(0,0,0,0,0,0);
}

NamedAreaRuleDefinition::~NamedAreaRuleDefinition()
{
	delete m_area;
}

void NamedAreaRuleDefinition::writeAttributes(DataOutputStream *dos, UINT numAttributes)
{
	GameRuleDefinition::writeAttributes(dos, numAttributes + 7);

	ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_name);
	dos->writeUTF(m_name);

	ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_x0);
	dos->writeUTF(_toString(m_area->x0));
	ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_y0);
	dos->writeUTF(_toString(m_area->y0));
	ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_z0);
	dos->writeUTF(_toString(m_area->z0));

	ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_x1);
	dos->writeUTF(_toString(m_area->x1));
	ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_y1);
	dos->writeUTF(_toString(m_area->y1));
	ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_z1);
	dos->writeUTF(_toString(m_area->z1));
}

void NamedAreaRuleDefinition::addAttribute(const wstring &attributeName, const wstring &attributeValue)
{
	if(attributeName.compare(L"name") == 0)
	{
		m_name = attributeValue;
#ifndef _CONTENT_PACKAGE
		wprintf(L"NamedAreaRuleDefinition: Adding parameter name=%ls\n",m_name.c_str());
#endif
	}
	else if(attributeName.compare(L"x0") == 0)
	{
		m_area->x0 = _fromString<int>(attributeValue);
		app.DebugPrintf("NamedAreaRuleDefinition: Adding parameter x0=%f\n",m_area->x0);
	}
	else if(attributeName.compare(L"y0") == 0)
	{
		m_area->y0 = _fromString<int>(attributeValue);
		if(m_area->y0 < 0) m_area->y0 = 0;
		app.DebugPrintf("NamedAreaRuleDefinition: Adding parameter y0=%f\n",m_area->y0);
	}
	else if(attributeName.compare(L"z0") == 0)
	{
		m_area->z0 = _fromString<int>(attributeValue);
		app.DebugPrintf("NamedAreaRuleDefinition: Adding parameter z0=%f\n",m_area->z0);
	}
	else if(attributeName.compare(L"x1") == 0)
	{
		m_area->x1 = _fromString<int>(attributeValue);
		app.DebugPrintf("NamedAreaRuleDefinition: Adding parameter x1=%f\n",m_area->x1);
	}
	else if(attributeName.compare(L"y1") == 0)
	{
		m_area->y1 = _fromString<int>(attributeValue);
		if(m_area->y1 < 0) m_area->y1 = 0;
		app.DebugPrintf("NamedAreaRuleDefinition: Adding parameter y1=%f\n",m_area->y1);
	}
	else if(attributeName.compare(L"z1") == 0)
	{
		m_area->z1 = _fromString<int>(attributeValue);
		app.DebugPrintf("NamedAreaRuleDefinition: Adding parameter z1=%f\n",m_area->z1);
	}
	else
	{
		GameRuleDefinition::addAttribute(attributeName, attributeValue);
	}
}