LeviLamina
Loading...
Searching...
No Matches
IBlockWorldGenAPI.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/BlockDataFetchResult.h"
7
8// auto generated forward declare list
9// clang-format off
10class Biome;
11class Block;
12class BlockPos;
13class BoundingBox;
14class ChunkPos;
15class Feature;
16class LevelChunk;
17class LevelData;
18class Pos;
19class Random;
22struct WorldGenContext;
23// clang-format on
24
26public:
27 // virtual functions
28 // NOLINTBEGIN
29 virtual ~IBlockWorldGenAPI() = default;
30
31 virtual bool canGetChunk() const;
32
33 virtual ::LevelChunk* getChunk(::ChunkPos const& pos);
34
35 virtual ::Block const* tryGetLiquidBlock(::BlockPos const& pos) const = 0;
36
37 virtual ::Block const& getBlock(::BlockPos const& pos) const = 0;
38
39 virtual ::Block const& getBlockNoBoundsCheck(::BlockPos const& pos) const = 0;
40
41 virtual ::Block const& getExtraBlock(::BlockPos const& pos) const = 0;
42
43 virtual ::gsl::span<::BlockDataFetchResult<::Block> const>
44 fetchBlocksInBox(::BoundingBox const& box, ::std::function<bool(::Block const&)> predicate) = 0;
45
46 virtual bool hasBiomeTag(uint64 tagNameHash, ::BlockPos const& pos) const = 0;
47
48 virtual bool hasAnyBiomeTags(::gsl::span<uint64 const> tagNameHashes, ::BlockPos const& pos) const = 0;
49
50 virtual bool hasAllBiomeTags(::gsl::span<uint64 const> tagNameHashes, ::BlockPos const& pos) const = 0;
51
52 virtual bool setBlock(::BlockPos const& pos, ::Block const& newBlock, int updateFlags) = 0;
53
54 virtual bool setBlockSimple(::BlockPos const& pos, ::Block const& block) = 0;
55
56 virtual bool apply() const = 0;
57
58 virtual bool
59 placeStructure(::BlockPos const& pos, ::StructureTemplate& structure, ::StructureSettings& settings) = 0;
60
61 virtual bool mayPlace(::BlockPos const& pos, ::Block const& block) const = 0;
62
63 virtual bool mayPlacePlacementFilterComponent(::BlockPos const& pos, ::Block const& block) const = 0;
64
65 virtual bool canSurvive(::BlockPos const& pos, ::Block const& block) const = 0;
66
67 virtual bool canBeBuiltOver(::BlockPos const& pos, ::Block const& block) const = 0;
68
69 virtual short getMaxHeight() const = 0;
70
71 virtual short getMinHeight() const = 0;
72
73 virtual bool shimPlaceForOldFeatures(::Feature const& feature, ::BlockPos const& pos, ::Random& random) const = 0;
74
75 virtual short getHeightmap(int x, int z) = 0;
76
77 virtual bool isLegacyLevel() = 0;
78
79 virtual ::Biome const* getBiome(::BlockPos const& pos) const = 0;
80
81 virtual bool isInBounds(::Pos const& pos) const = 0;
82
83 virtual short getLocalWaterLevel(::BlockPos const& pos) const = 0;
84
85 virtual ::LevelData const& getLevelData() const = 0;
86
87 virtual ::WorldGenContext const& getContext() = 0;
88
89 virtual void disableBlockSimple() = 0;
90 // NOLINTEND
91
92public:
93 // virtual function thunks
94 // NOLINTBEGIN
95 MCNAPI bool $canGetChunk() const;
96
97 MCNAPI ::LevelChunk* $getChunk(::ChunkPos const& pos);
98
99
100 // NOLINTEND
101};
Definition Biome.h:23
Definition BlockPos.h:17
Definition Block.h:41
Definition BoundingBox.h:13
Definition ChunkPos.h:13
Definition Feature.h:18
Definition IBlockWorldGenAPI.h:25
MCAPI::LevelChunk * $getChunk(::ChunkPos const &pos)
MCAPI bool $canGetChunk() const
Definition LevelChunk.h:77
Definition LevelData.h:55
Definition Pos.h:5
Definition Random.h:10
Definition StructureSettings.h:18
Definition StructureTemplate.h:34
Definition WorldGenContext.h:13