TU19: merge Minecraft.Client/Platform/Common/GameRules

This commit is contained in:
Tropical
2026-03-22 01:27:23 -05:00
parent 87b4af678b
commit 3fa28df4da
10 changed files with 328 additions and 109 deletions

View File

@@ -5,12 +5,13 @@
StartFeature::StartFeature() {
m_chunkX = 0;
m_chunkZ = 0;
m_orientation = 0;
m_feature = StructureFeature::eFeature_Temples;
}
void StartFeature::writeAttributes(DataOutputStream* dos,
unsigned int numAttrs) {
GameRuleDefinition::writeAttributes(dos, numAttrs + 3);
GameRuleDefinition::writeAttributes(dos, numAttrs + 4);
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_chunkX);
dos->writeUTF(_toString(m_chunkX));
@@ -18,6 +19,8 @@ void StartFeature::writeAttributes(DataOutputStream* dos,
dos->writeUTF(_toString(m_chunkZ));
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_feature);
dos->writeUTF(_toString((int)m_feature));
ConsoleGameRules::write(dos, ConsoleGameRules::eGameRuleAttr_orientation);
dos->writeUTF(_toString(m_orientation));
}
void StartFeature::addAttribute(const std::wstring& attributeName,
@@ -30,6 +33,11 @@ void StartFeature::addAttribute(const std::wstring& attributeName,
int value = _fromString<int>(attributeValue);
m_chunkZ = value;
app.DebugPrintf("StartFeature: Adding parameter chunkZ=%d\n", m_chunkZ);
} else if (attributeName.compare(L"orientation") == 0) {
int value = _fromString<int>(attributeValue);
m_orientation = value;
app.DebugPrintf("StartFeature: Adding parameter orientation=%d\n",
m_orientation);
} else if (attributeName.compare(L"feature") == 0) {
int value = _fromString<int>(attributeValue);
m_feature = (StructureFeature::EFeatureTypes)value;
@@ -41,6 +49,8 @@ void StartFeature::addAttribute(const std::wstring& attributeName,
}
bool StartFeature::isFeatureChunk(int chunkX, int chunkZ,
StructureFeature::EFeatureTypes feature) {
StructureFeature::EFeatureTypes feature,
int* orientation) {
if (orientation != NULL) *orientation = m_orientation;
return chunkX == m_chunkX && chunkZ == m_chunkZ && feature == m_feature;
}