LeviLamina
Loading...
Searching...
No Matches
ElementBlock.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/block/BlockType.h"
7#include "mc/world/level/block/ElementType.h"
8
9// auto generated forward declare list
10// clang-format off
11class BaseGameVersion;
12class Block;
13class BlockPos;
14class BlockSource;
15class ItemInstance;
16class ItemStackBase;
18struct ElementInfo;
19namespace mce { class Color; }
20// clang-format on
21
22class ElementBlock : public ::BlockType {
23public:
24 // member variables
25 // NOLINTBEGIN
26 ::ll::TypedStorage<1, 1, ::ElementType> mType;
27 // NOLINTEND
28
29public:
30 // virtual functions
31 // NOLINTBEGIN
32 virtual ::mce::Color getMapColor(::BlockSource&, ::BlockPos const&, ::Block const& block) const /*override*/;
33
34 virtual ::std::string buildDescriptionId(::Block const& block) const /*override*/;
35
36 virtual bool canBeUsedInCommands(::BaseGameVersion const& baseGameVersion) const /*override*/;
37
38 virtual ::Block const* tryLegacyUpgrade(ushort extraData) const /*override*/;
39
40 virtual ~ElementBlock() /*override*/ = default;
41 // NOLINTEND
42
43public:
44 // static functions
45 // NOLINTBEGIN
46 MCAPI_C static ::ElementType getElement(::ItemStackBase const& item);
47
48 MCAPI static ::ElementInfo getElementInfo(::ElementType e);
49
50 MCAPI static ::RecipeIngredient getIngredientForElement(::ElementType e, int stackCount);
51
52 MCAPI static ::ItemInstance getItemForElement(::ElementType e, int stackCount);
53
54 MCAPI static void initElements();
55 // NOLINTEND
56
57public:
58 // static variables
59 // NOLINTBEGIN
60 MCAPI static ::std::vector<::BlockType const*>& mElements();
61 // NOLINTEND
62
63public:
64 // virtual function thunks
65 // NOLINTBEGIN
66 MCAPI ::mce::Color $getMapColor(::BlockSource&, ::BlockPos const&, ::Block const& block) const;
67
68 MCAPI ::std::string $buildDescriptionId(::Block const& block) const;
69
70 MCFOLD bool $canBeUsedInCommands(::BaseGameVersion const& baseGameVersion) const;
71
72 MCAPI ::Block const* $tryLegacyUpgrade(ushort extraData) const;
73
74
75 // NOLINTEND
76
77public:
78 // vftables
79 // NOLINTBEGIN
80 MCAPI static void** $vftable();
81 // NOLINTEND
82};
Definition BaseGameVersion.h:8
Definition BlockPos.h:19
Definition BlockSource.h:68
Definition Block.h:43
Definition ElementBlock.h:22
Definition ItemInstance.h:15
Definition ItemStackBase.h:44
Definition RecipeIngredient.h:17
Definition Color.h:13
Definition ElementInfo.h:8