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 setBlock(::BlockPos const& pos, ::Block const& newBlock, int updateFlags) = 0;
49
50 virtual bool setBlockSimple(::BlockPos const& pos, ::Block const& block) = 0;
51
52 virtual bool apply() const = 0;
53
54 virtual bool
55 placeStructure(::BlockPos const& pos, ::StructureTemplate& structure, ::StructureSettings& settings) = 0;
56
57 virtual bool mayPlace(::BlockPos const& pos, ::Block const& block) const = 0;
58
59 virtual bool canSurvive(::BlockPos const& pos, ::Block const& block) const = 0;
60
61 virtual bool canBeBuiltOver(::BlockPos const& pos, ::Block const& block) const = 0;
62
63 virtual short getMaxHeight() const = 0;
64
65 virtual short getMinHeight() const = 0;
66
67 virtual bool shimPlaceForOldFeatures(::Feature const& feature, ::BlockPos const& pos, ::Random& random) const = 0;
68
69 virtual short getHeightmap(int x, int z) = 0;
70
71 virtual bool isLegacyLevel() = 0;
72
73 virtual ::Biome const* getBiome(::BlockPos const& pos) const = 0;
74
75 virtual bool isInBounds(::Pos const& pos) const = 0;
76
77 virtual short getLocalWaterLevel(::BlockPos const& pos) const = 0;
78
79 virtual ::LevelData const& getLevelData() const = 0;
80
81 virtual ::WorldGenContext const& getContext() = 0;
82
83 virtual void disableBlockSimple() = 0;
84 // NOLINTEND
85
86public:
87 // virtual function thunks
88 // NOLINTBEGIN
89 MCNAPI bool $canGetChunk() const;
90
91 MCNAPI ::LevelChunk* $getChunk(::ChunkPos const& pos);
92
93
94 // NOLINTEND
95};
Definition Biome.h:23
Definition BlockPos.h:19
Definition Block.h:43
Definition BoundingBox.h:13
Definition ChunkPos.h:11
Definition Feature.h:18
Definition IBlockWorldGenAPI.h:25
MCAPI::LevelChunk * $getChunk(::ChunkPos const &pos)
MCAPI bool $canGetChunk() const
Definition LevelChunk.h:79
Definition LevelData.h:52
Definition Pos.h:5
Definition Random.h:10
Definition StructureSettings.h:18
Definition StructureTemplate.h:35
Definition WorldGenContext.h:13