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&) const = 0;
36
37 virtual ::Block const& getBlock(::BlockPos const&) const = 0;
38
39 virtual ::Block const& getBlockNoBoundsCheck(::BlockPos const&) const = 0;
40
41 virtual ::Block const& getExtraBlock(::BlockPos const&) const = 0;
42
43 virtual ::gsl::span<::BlockDataFetchResult<::Block> const>
44 fetchBlocksInBox(::BoundingBox const&, ::std::function<bool(::Block const&)>) = 0;
45
46 virtual bool hasBiomeTag(uint64, ::BlockPos const&) const = 0;
47
48 virtual bool setBlock(::BlockPos const&, ::Block const&, int) = 0;
49
50 virtual bool setBlockSimple(::BlockPos const&, ::Block const&) = 0;
51
52 virtual bool apply() const = 0;
53
54 virtual bool placeStructure(::BlockPos const&, ::StructureTemplate&, ::StructureSettings&) = 0;
55
56 virtual bool mayPlace(::BlockPos const&, ::Block const&) const = 0;
57
58 virtual bool canSurvive(::BlockPos const&, ::Block const&) const = 0;
59
60 virtual bool canBeBuiltOver(::BlockPos const&, ::Block const&) const = 0;
61
62 virtual short getMaxHeight() const = 0;
63
64 virtual short getMinHeight() const = 0;
65
66 virtual bool shimPlaceForOldFeatures(::Feature const&, ::BlockPos const&, ::Random&) const = 0;
67
68 virtual short getHeightmap(int, int) = 0;
69
70 virtual bool isLegacyLevel() = 0;
71
72 virtual ::Biome const* getBiome(::BlockPos const&) const = 0;
73
74 virtual bool isInBounds(::Pos const&) const = 0;
75
76 virtual short getLocalWaterLevel(::BlockPos const&) const = 0;
77
78 virtual ::LevelData const& getLevelData() const = 0;
79
80 virtual ::WorldGenContext const& getContext() = 0;
81
82 virtual void disableBlockSimple() = 0;
83 // NOLINTEND
84
85public:
86 // virtual function thunks
87 // NOLINTBEGIN
88 MCNAPI bool $canGetChunk() const;
89
90 MCNAPI ::LevelChunk* $getChunk(::ChunkPos const& pos);
91
92
93 // NOLINTEND
94};
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:50
Definition Pos.h:5
Definition Random.h:10
Definition StructureSettings.h:18
Definition StructureTemplate.h:35
Definition WorldGenContext.h:13