Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
LevelChunkVolumeData.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/BlockPos.h"
7#include "mc/world/level/ChunkPos.h"
8#include "mc/world/level/chunk/LevelChunkDataRegistry.h"
9
10// auto generated forward declare list
11// clang-format off
13class StructureStart;
14namespace br::worldgen { class StructureInstance; }
15// clang-format on
16
17class LevelChunkVolumeData {
18public:
19 // LevelChunkVolumeData inner types define
20 using StructureInstanceList = ::std::vector<::std::shared_ptr<::br::worldgen::StructureInstance const>>;
21
22public:
23 // member variables
24 // NOLINTBEGIN
25 ::ll::TypedStorage<8, 24, ::std::vector<::std::shared_ptr<::br::worldgen::StructureInstance const>>> mStructures;
26 ::ll::TypedStorage<8, 24, ::std::vector<::std::shared_ptr<::br::worldgen::StructureInstance const>>>
27 mStructureReferences;
28 ::ll::TypedStorage<8, 768, ::br::LevelChunkDataRegistry> mDataRegistry;
29 ::ll::TypedStorage<4, 12, ::BlockPos> mMin;
30 ::ll::TypedStorage<4, 12, ::BlockPos> mMax;
31 ::ll::TypedStorage<8, 8, ::ChunkPos> mChunkPos;
32 ::ll::TypedStorage<8, 8, ::StructureSpawnRegistry const&> mStructureSpawnRegistry;
33 // NOLINTEND
34
35public:
36 // prevent constructor by default
37 LevelChunkVolumeData& operator=(LevelChunkVolumeData const&);
38 LevelChunkVolumeData(LevelChunkVolumeData const&);
39 LevelChunkVolumeData();
40
41public:
42 // member functions
43 // NOLINTBEGIN
44 MCNAPI void addStructure(::std::shared_ptr<::br::worldgen::StructureInstance const> instance);
45
46 MCNAPI void addStructure(::StructureStart const& start);
47
48 MCNAPI void addStructureReference(::std::shared_ptr<::br::worldgen::StructureInstance const> instance);
49
50 MCNAPI void addStructureReference(::StructureStart const& start);
51
52 MCNAPI ::std::vector<::std::shared_ptr<::br::worldgen::StructureInstance const>> getOverlappingStructures() const;
53
54 MCAPI ::std::vector<::BlockPos> structureSpawnPos() const;
55 // NOLINTEND
56};
MCAPI void addStructure(::StructureStart const &start)
MCAPI void addStructure(::std::shared_ptr<::br::worldgen::StructureInstance const > instance)
MCAPI void addStructureReference(::std::shared_ptr<::br::worldgen::StructureInstance const > instance)
MCAPI void addStructureReference(::StructureStart const &start)
MCAPI ::std::vector<::std::shared_ptr<::br::worldgen::StructureInstance const > > getOverlappingStructures() const
Definition StructureSpawnRegistry.h:14
Definition StructureStart.h:15
Definition StructureInstance.h:20