4jcraft/minecraft/Minecraft.Client/Common/Source Files/GameRules/LevelRules/RuleDefinitions/LevelRuleset.h
2026-03-31 13:50:13 -05:00

37 lines
957 B
C++

#pragma once
#include <string>
#include <vector>
#include "CompoundGameRuleDefinition.h"
#include "Minecraft.Client/Common/Source Files/GameRules/ConsoleGameRulesConstants.h"
class NamedAreaRuleDefinition;
class AABB;
class StringTable;
class LevelRuleset : public CompoundGameRuleDefinition {
private:
std::vector<NamedAreaRuleDefinition*> m_areas;
StringTable* m_stringTable;
public:
LevelRuleset();
~LevelRuleset();
virtual void getChildren(std::vector<GameRuleDefinition*>* children);
virtual GameRuleDefinition* addChild(
ConsoleGameRules::EGameRuleType ruleType);
virtual ConsoleGameRules::EGameRuleType getActionType() {
return ConsoleGameRules::eGameRuleType_LevelRules;
}
void loadStringTable(StringTable* table);
const wchar_t* getString(const std::wstring& key);
AABB* getNamedArea(const std::wstring& areaName);
StringTable* getStringTable() { return m_stringTable; }
};