LeviLamina
Loading...
Searching...
No Matches
Material.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/shared_types/v1_26_20/block/MaterialType.h"
7
8class Material {
9public:
10 // Material inner types define
11 enum class Settings : int {
12 Solid = 0,
13 Liquid = 1,
14 NonSolid = 2,
15 };
16
17public:
18 // member variables
19 // NOLINTBEGIN
20 ::ll::TypedStorage<1, 1, ::SharedTypes::v1_26_20::MaterialType> mType;
21 ::ll::TypedStorage<1, 1, bool> mNeverBuildable;
22 ::ll::TypedStorage<1, 1, bool> mLiquid;
23 ::ll::TypedStorage<1, 1, bool> mBlocksMotion;
24 ::ll::TypedStorage<1, 1, bool> mBlocksPrecipitation;
25 ::ll::TypedStorage<1, 1, bool> mSolid;
26 ::ll::TypedStorage<1, 1, bool> mSuperHot;
27 // NOLINTEND
28
29public:
30 // member functions
31 // NOLINTBEGIN
32 MCFOLD bool getBlocksMotion() const;
33
34 MCFOLD bool isLiquid() const;
35
36 MCFOLD bool isSolid() const;
37
38 MCAPI bool isSolidBlocking() const;
39
40 MCFOLD bool isSuperHot() const;
41
42 MCAPI bool isTopSolid(bool includeWater, bool includeLeaves) const;
43
44 MCAPI bool isType(::SharedTypes::v1_26_20::MaterialType type) const;
45
46 MCAPI bool operator!=(::Material const& rhs) const;
47
48 MCAPI bool operator==(::Material const& rhs) const;
49 // NOLINTEND
50
51public:
52 // static functions
53 // NOLINTBEGIN
54 MCAPI static void _setupMaterials();
55
56 MCAPI static ::Material const& getMaterial(::SharedTypes::v1_26_20::MaterialType type);
57
58 MCAPI static void initMaterials();
59
60 MCAPI static void teardownMaterials();
61 // NOLINTEND
62
63public:
64 // static variables
65 // NOLINTBEGIN
66 MCAPI static bool& mInitialized();
67
68 MCAPI static ::std::vector<::std::unique_ptr<::Material>>& mMaterials();
69 // NOLINTEND
70};
Definition Material.h:8