4jcraft/Minecraft.Client/Platform/Common/GameRules/CompoundGameRuleDefinition.h
2026-03-22 01:15:44 -05:00

27 lines
857 B
C++

#pragma once
#include "GameRuleDefinition.h"
class CompoundGameRuleDefinition : public GameRuleDefinition {
protected:
std::vector<GameRuleDefinition*> m_children;
protected:
GameRuleDefinition* m_lastRuleStatusChanged;
public:
CompoundGameRuleDefinition();
virtual ~CompoundGameRuleDefinition();
virtual void getChildren(std::vector<GameRuleDefinition*>* children);
virtual GameRuleDefinition* addChild(
ConsoleGameRules::EGameRuleType ruleType);
virtual void populateGameRule(
GameRulesInstance::EGameRulesInstanceType type, GameRule* rule);
virtual bool onUseTile(GameRule* rule, int tileId, int x, int y, int z);
virtual bool onCollectItem(GameRule* rule,
std::shared_ptr<ItemInstance> item);
virtual void postProcessPlayer(std::shared_ptr<Player> player);
};