LeviLamina
Loading...
Searching...
No Matches
IConstBlockSource.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/AutomaticID.h"
7#include "mc/deps/core/utility/optional_ref.h"
8#include "mc/world/level/material/MaterialType.h"
9
10// auto generated forward declare list
11// clang-format off
12class AABB;
13class Block;
14class BlockActor;
15class BlockPos;
16class Dimension;
18class Material;
19class Vec3;
20struct Bounds;
21namespace BlockSourceVisitor { struct CollisionShape; }
22// clang-format on
23
25public:
26 // virtual functions
27 // NOLINTBEGIN
28 // vIndex: 0
29 virtual ~IConstBlockSource() = default;
30
31 // vIndex: 3
32 virtual ::Block const& getBlock(int, int, int) const = 0;
33
34 // vIndex: 2
35 virtual ::Block const& getBlock(::BlockPos const&) const = 0;
36
37 // vIndex: 1
38 virtual ::Block const& getBlock(::BlockPos const&, uint) const = 0;
39
40 // vIndex: 4
41 virtual ::BlockActor const* getBlockEntity(::BlockPos const&) const = 0;
42
43 // vIndex: 5
44 virtual ::Block const& getExtraBlock(::BlockPos const&) const = 0;
45
46 // vIndex: 6
47 virtual ::Block const& getLiquidBlock(::BlockPos const&) const = 0;
48
49 // vIndex: 7
50 virtual bool hasBlock(::BlockPos const&) const = 0;
51
52 // vIndex: 8
53 virtual bool containsAnyLiquid(::AABB const&) const = 0;
54
55 // vIndex: 9
56 virtual bool containsMaterial(::AABB const&, ::MaterialType) const = 0;
57
58 // vIndex: 10
59 virtual bool isInWall(::Vec3 const&) const = 0;
60
61 // vIndex: 11
62 virtual bool isUnderWater(::Vec3 const&, ::Block const&) const = 0;
63
64 // vIndex: 13
65 virtual ::Material const& getMaterial(::BlockPos const&) const = 0;
66
67 // vIndex: 12
68 virtual ::Material const& getMaterial(int, int, int) const = 0;
69
70 // vIndex: 14
71 virtual bool hasBorderBlock(::BlockPos const) const = 0;
72
73 // vIndex: 17
74 virtual bool hasChunksAt(::Bounds const&, bool) const = 0;
75
76 // vIndex: 16
77 virtual bool hasChunksAt(::BlockPos const&, int, bool) const = 0;
78
79 // vIndex: 15
80 virtual bool hasChunksAt(::AABB const&, bool) const = 0;
81
82 // vIndex: 18
83 virtual ::DimensionType getDimensionId() const = 0;
84
85 // vIndex: 19
86 virtual void fetchAABBs(::std::vector<::AABB>&, ::AABB const&, bool) const = 0;
87
88 // vIndex: 20
89 virtual void
90 fetchCollisionShapes(::std::vector<::AABB>&, ::AABB const&, bool, ::optional_ref<::GetCollisionShapeInterface const>, ::std::vector<::AABB>*)
91 const = 0;
92
93 // vIndex: 21
94 virtual void
95 fetchCollisionShapesAndBlocks(::std::vector<::BlockSourceVisitor::CollisionShape>&, ::AABB const&, bool, ::optional_ref<::GetCollisionShapeInterface const>, ::std::vector<::AABB>*)
96 const = 0;
97
98 // vIndex: 22
99 virtual ::AABB
100 getTallestCollisionShape(::AABB const&, float*, bool, ::optional_ref<::GetCollisionShapeInterface const>) const = 0;
101
102 // vIndex: 23
103 virtual float getBrightness(::BlockPos const&) const = 0;
104 // NOLINTEND
105
106public:
107 // member functions
108 // NOLINTBEGIN
109 MCAPI bool checkMaterial(::AABB const& box, ::MaterialType material) const;
110 // NOLINTEND
111
112public:
113 // destructor thunk
114 // NOLINTBEGIN
115
116 // NOLINTEND
117
118public:
119 // virtual function thunks
120 // NOLINTBEGIN
121
122 // NOLINTEND
123};
Definition AABB.h:16
Definition BlockActor.h:32
Definition BlockPos.h:18
Definition Block.h:36
Definition Dimension.h:83
Definition GetCollisionShapeInterface.h:13
Definition IConstBlockSource.h:24
Definition Material.h:8
Definition Vec3.h:10
Definition optional_ref.h:10
Definition Bounds.h:10