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 BlockGraphics;
10class BlockPos;
13// clang-format on
14
15class BlockOccluder {
16public:
17 // member variables
18 // NOLINTBEGIN
19 ::ll::TypedStorage<4, 4, ::std::bitset<6>> mFacingOccluded;
20 ::ll::TypedStorage<8, 8, ::BlockTessellatorCache&> mBlockCache;
21 // NOLINTEND
22
23public:
24 // prevent constructor by default
25 BlockOccluder& operator=(BlockOccluder const&);
26 BlockOccluder(BlockOccluder const&);
27 BlockOccluder();
28
29public:
30 // member functions
31 // NOLINTBEGIN
32 MCAPI BlockOccluder(
33 ::BlockTessellatorCache& cache,
34 ::Block const& block,
35 ::BlockPos const& blockPos,
36 ::AABB const& shape,
37 ::gsl::span<uchar const> checkFace,
38 bool renderingGUI,
39 ::AirAndSimpleBlockBits const* airAndSimpleBlocks
40 );
41
42 MCAPI bool _isHalfCubeOpaque(::Block const& block, ::BlockGraphics const& blockGraphics) const;
43
44 MCAPI bool _shouldOccludeCactus(uchar face, ::AABB const& shape, ::BlockPos const& pos) const;
45
46 MCAPI bool _shouldOccludeLeaves(uchar face, ::AABB const& shape, ::BlockPos const& p) const;
47
48 MCAPI bool _shouldOccludeLiquid(uchar face, ::AABB const& shape, ::BlockPos const& pos) const;
49
50 MCAPI bool _shouldOccludePortal(uchar face, ::AABB const& shape, ::BlockPos const& pos) const;
51
52 MCAPI bool _shouldOccludeSlab(uchar face, ::AABB const& shape, ::BlockPos const& pos) const;
53
54 MCAPI bool
55 _shouldRenderFace(::BlockPos const& neighborPos, uchar face, ::AABB const& shape, ::BlockPos const& pos) const;
56
57 MCAPI void _updateRenderFace(::Block const& block, ::BlockPos const& p, ::AABB const& shape, uchar face);
58 // NOLINTEND
59
60public:
61 // constructor thunks
62 // NOLINTBEGIN
63 MCAPI void* $ctor(
64 ::BlockTessellatorCache& cache,
65 ::Block const& block,
66 ::BlockPos const& blockPos,
67 ::AABB const& shape,
68 ::gsl::span<uchar const> checkFace,
69 bool renderingGUI,
70 ::AirAndSimpleBlockBits const* airAndSimpleBlocks
71 );
72 // NOLINTEND
73};
Definition AABB.h:18
Definition BlockGraphics.h:5
Definition BlockOccluder.h:5
Definition BlockPos.h:21
Definition BlockTessellatorCache.h:5
Definition Block.h:69
Definition AirAndSimpleBlockBits.h:5