LeviLamina
Loading...
Searching...
No Matches
BlockOccluder.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated forward declare list
6// clang-format off
7class AABB;
8class Block;
9class BlockPos;
12// clang-format on
13
14class BlockOccluder {
15public:
16 // member variables
17 // NOLINTBEGIN
18 ::ll::TypedStorage<4, 4, ::std::bitset<6>> mFacingOccluded;
19 ::ll::TypedStorage<8, 8, ::BlockTessellatorCache&> mBlockCache;
20 // NOLINTEND
21
22public:
23 // prevent constructor by default
24 BlockOccluder& operator=(BlockOccluder const&);
25 BlockOccluder(BlockOccluder const&);
26 BlockOccluder();
27
28public:
29 // member functions
30 // NOLINTBEGIN
31 MCAPI BlockOccluder(
32 ::BlockTessellatorCache& cache,
33 ::Block const& block,
34 ::BlockPos const& blockPos,
35 ::AABB const& shape,
36 ::gsl::span<uchar const> checkFace,
37 bool renderingGUI,
38 ::AirAndSimpleBlockBits const* airAndSimpleBlocks
39 );
40
41 MCAPI bool _shouldOcclude(uchar face, ::AABB const& shape, ::BlockPos const& p) const;
42
43 MCAPI bool _shouldOccludeIce(uchar face, ::AABB const& shape, ::BlockPos const& pos) const;
44
45 MCAPI bool _shouldOccludeLeaves(uchar face, ::AABB const& shape, ::BlockPos const& p) const;
46
47 MCAPI bool _shouldOccludeLiquid(uchar face, ::AABB const& shape, ::BlockPos const& pos) const;
48
49 MCAPI bool _shouldOccludePortal(uchar face, ::AABB const& shape, ::BlockPos const& pos) const;
50
51 MCAPI bool _shouldOccludeSlab(uchar face, ::AABB const& shape, ::BlockPos const& pos) const;
52
53 MCAPI bool
54 _shouldRenderFace(::BlockPos const& neighborPos, uchar face, ::AABB const& shape, ::BlockPos const& pos) const;
55
56 MCAPI void _updateRenderFace(::Block const& block, ::BlockPos const& p, ::AABB const& shape, uchar face);
57 // NOLINTEND
58
59public:
60 // constructor thunks
61 // NOLINTBEGIN
62 MCAPI void* $ctor(
63 ::BlockTessellatorCache& cache,
64 ::Block const& block,
65 ::BlockPos const& blockPos,
66 ::AABB const& shape,
67 ::gsl::span<uchar const> checkFace,
68 bool renderingGUI,
69 ::AirAndSimpleBlockBits const* airAndSimpleBlocks
70 );
71 // NOLINTEND
72};
Definition AABB.h:18
Definition BlockOccluder.h:5
Definition BlockPos.h:19
Definition BlockTessellatorCache.h:5
Definition Block.h:43
Definition AirAndSimpleBlockBits.h:5