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 fetchCollisionShapes(
90 ::std::vector<::AABB>&,
91 ::AABB const&,
92 bool,
94 ::std::vector<::AABB>*
95 ) const = 0;
96
97 // vIndex: 21
98 virtual void fetchCollisionShapesAndBlocks(
99 ::std::vector<::BlockSourceVisitor::CollisionShape>&,
100 ::AABB const&,
101 bool,
103 ::std::vector<::AABB>*
104 ) const = 0;
105
106 // vIndex: 22
107 virtual ::AABB
108 getTallestCollisionShape(::AABB const&, float*, bool, ::optional_ref<::GetCollisionShapeInterface const>) const = 0;
109
110 // vIndex: 23
111 virtual float getBrightness(::BlockPos const&) const = 0;
112
113 // vIndex: 24
114 virtual float getVisualLiquidHeight(::Vec3 const&) const = 0;
115 // NOLINTEND
116
117public:
118 // member functions
119 // NOLINTBEGIN
120 MCNAPI bool checkMaterial(::AABB const& box, ::MaterialType material) const;
121 // NOLINTEND
122
123public:
124 // virtual function thunks
125 // NOLINTBEGIN
126
127 // NOLINTEND
128};
Definition AABB.h:18
Definition BlockActor.h:32
Definition BlockPos.h:18
Definition Block.h:38
Definition Dimension.h:83
Definition GetCollisionShapeInterface.h:13
Definition IConstBlockSource.h:24
MCAPI bool checkMaterial(::AABB const &box, ::MaterialType material) const
Definition Material.h:8
Definition Vec3.h:10
Definition optional_ref.h:10
Definition Bounds.h:8