45 ::ll::TypedStorage<4, 12, ::Vec3 const> mStartPos;
46 ::ll::TypedStorage<4, 4, float const> mHorizontalRadius;
47 ::ll::TypedStorage<4, 4, float const> mVerticalRadius;
48 ::ll::TypedStorage<4, 24, ::CaveFeatureUtils::CarvingParameters const> mCarvingParameters;
49 ::ll::TypedStorage<4, 4, int const> mCurrentStep;
50 ::ll::TypedStorage<4, 4, int const> mTotalSteps;
51 ::ll::TypedStorage<4, 4, float const> mThickness;
58 ::ll::TypedStorage<4, 4, ::std::atomic<uint>> mUseCount;
59 ::ll::TypedStorage<8, 24, ::std::vector<::CaveFeature::CachedMetaData::CarveEllipsoidParams>>
60 mCarveEllipsoidParamsVector;
67 ::ll::TypedStorage<8, 8, ::Block const*> mFillWithBlock;
68 ::ll::TypedStorage<8, 16, ::ExpressionNode> mWidthMod;
69 ::ll::TypedStorage<4, 4, int> mSkipCarveChance;
70 ::ll::TypedStorage<4, 4, int> mHeightLimit;
71 ::ll::TypedStorage<4, 8, ::FloatRange> mYScale;
72 ::ll::TypedStorage<4, 8, ::FloatRange> mHorizontalRadiusMultiplier;
73 ::ll::TypedStorage<4, 8, ::FloatRange> mVerticalRadiusMultiplier;
74 ::ll::TypedStorage<4, 8, ::FloatRange> mFloorLevel;
75 ::ll::TypedStorage<8, 32, ::std::string const> VALID_PASS;
76 ::ll::TypedStorage<4, 4, float const> X_DAMPENING_FACTOR;
77 ::ll::TypedStorage<4, 4, float const> Y_DAMPENING_FACTOR;
78 ::ll::TypedStorage<4, 4, float const> STEEP_FLATTENING_FACTOR;
79 ::ll::TypedStorage<4, 4, float const> FLATTENING_FACTOR;
80 ::ll::TypedStorage<4, 4, int const> STEEP_CHANCE;
81 ::ll::TypedStorage<4, 4, int const> TUNNEL_SKIP_CHANCE;
82 ::ll::TypedStorage<4, 4, int const> CAVE_COUNT_BASE_FACTOR;
83 ::ll::TypedStorage<4, 4, int const> ROOM_CARVE_CHANCE;
84 ::ll::TypedStorage<4, 4, int const> MAX_NUM_TUNNELS_ADDED_ON_ROOM_CARVE;
85 ::ll::TypedStorage<1, 1, bool> mCacheEnabled;
89 ::std::unordered_map<int, ::std::unordered_map<int, ::std::shared_ptr<::CaveFeature::CachedMetaData>>>>
91 ::ll::TypedStorage<8, 80, ::Bedrock::Threading::Mutex> mCacheMutex;
92 ::ll::TypedStorage<4, 4, ::std::atomic<uint>> mPlaceCount;
98 virtual ~CaveFeature() ;
102 virtual bool isValidPlacement(::std::string
const& pass) ;
104 virtual void addRoom(
112 ::std::vector<::CaveFeature::CachedMetaData::CarveEllipsoidParams>& carveParamsOperations
115 virtual void addTunnel(
122 float horizontalRotation,
123 float verticalRotation,
129 ::std::vector<::CaveFeature::CachedMetaData::CarveEllipsoidParams>& carveParamsOperations
132 virtual bool carveEllipsoidVolume(
144 virtual void addFeature(
150 ::std::vector<::CaveFeature::CachedMetaData::CarveEllipsoidParams>& carveParamsOperations
159 MCAPI
bool carveBlock(
164 ::Vec3 const& originalStartPos,
169 MCAPI
bool carveEllipsoid(
175 float horizontalRadius,
176 float verticalRadius,
200 MCAPI
bool $isValidPlacement(::std::string
const& pass);
210 ::std::vector<::CaveFeature::CachedMetaData::CarveEllipsoidParams>& carveParamsOperations
213 MCAPI
void $addTunnel(
220 float horizontalRotation,
221 float verticalRotation,
227 ::std::vector<::CaveFeature::CachedMetaData::CarveEllipsoidParams>& carveParamsOperations
230 MCAPI
bool $carveEllipsoidVolume(
242 MCAPI
void $addFeature(
248 ::std::vector<::CaveFeature::CachedMetaData::CarveEllipsoidParams>& carveParamsOperations