#pragma once #include "GeneratorRule.h" class BlockTypeGeneratorRule : public GeneratorRule { private: int blockType; public: BlockTypeGeneratorRule(); Framework::Either createBlock( int x, int y, int z, int dimensionId) override; void setBlockTypeId(int blockType); int getBlockTypeId() const; }; class BlockTypeGeneratorRuleFactory : public GeneratorRuleFactory { public: BlockTypeGeneratorRuleFactory(); BlockTypeGeneratorRule* createValue( Framework::JSON::JSONObject* zJson) const override; void fromJson(BlockTypeGeneratorRule* zResult, Framework::JSON::JSONObject* zJson) const override; void toJson(BlockTypeGeneratorRule* zObject, Framework::JSON::JSONObject* zResult) const override; JSONObjectValidationBuilder* addToValidator( JSONObjectValidationBuilder* builder) const override; Framework::Text getTypeToken() const override; };