diff --git a/src/mc/world/level/block/BlockDescriptor.h b/src/mc/world/level/block/BlockDescriptor.h index 3a339ce120..daaa61b082 100644 --- a/src/mc/world/level/block/BlockDescriptor.h +++ b/src/mc/world/level/block/BlockDescriptor.h @@ -13,6 +13,9 @@ namespace cereal { struct ReflectionCtx; } // clang-format on class BlockDescriptor { +public: + char filler[0xB8]; + public: // BlockDescriptor inner types declare // clang-format off diff --git a/src/mc/world/level/levelgen/feature/OreFeature.h b/src/mc/world/level/levelgen/feature/OreFeature.h index 46a47e4649..7a61dc0ef5 100644 --- a/src/mc/world/level/levelgen/feature/OreFeature.h +++ b/src/mc/world/level/levelgen/feature/OreFeature.h @@ -1,11 +1,24 @@ #pragma once #include "mc/_HeaderOutputPredefine.h" +#include "mc/world/level/block/Block.h" +#include "mc/world/level/block/BlockLegacy.h" +#include "mc/world/level/levelgen/feature/ReplaceRule.h" // auto generated inclusion list #include "mc/world/level/levelgen/feature/IFeature.h" class OreFeature : public ::IFeature { +public: + int mCount; + float mCountf; + float mCountfInv; + float mDiscardChanceOnAirExposure; + std::vector mReplaceRules; + + // Bedrock::Threading::InstancedThreadLocal>; + char mHelper[0xE0 - 48]; + public: // OreFeature inner types declare // clang-format off @@ -14,6 +27,9 @@ class OreFeature : public ::IFeature { // OreFeature inner types define class ReplaceRulesAccelerator { + public: + std::vector>> mRules; + public: // prevent constructor by default ReplaceRulesAccelerator& operator=(ReplaceRulesAccelerator const&); @@ -22,7 +38,7 @@ class OreFeature : public ::IFeature { public: // NOLINTBEGIN - MCAPI void setRules(std::vector const&); + MCAPI void setRules(std::vector const& replaceRules); // NOLINTEND }; @@ -50,7 +66,7 @@ class OreFeature : public ::IFeature { MCAPI OreFeature(); - MCAPI OreFeature(int count, std::vector&&); + MCAPI OreFeature(int count, std::vector&& replaceRules); // NOLINTEND }; diff --git a/src/mc/world/level/levelgen/feature/ReplaceRule.h b/src/mc/world/level/levelgen/feature/ReplaceRule.h index f617e7169e..9c3d54c8e6 100644 --- a/src/mc/world/level/levelgen/feature/ReplaceRule.h +++ b/src/mc/world/level/levelgen/feature/ReplaceRule.h @@ -1,8 +1,13 @@ #pragma once #include "mc/_HeaderOutputPredefine.h" +#include "mc/world/level/block/BlockDescriptor.h" struct ReplaceRule { +public: + BlockDescriptor mBlock; + std::vector mMayReplace; + public: // prevent constructor by default ReplaceRule& operator=(ReplaceRule const&);