LeviLamina
Loading...
Searching...
No Matches
SignItem.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/item/Item.h"
7#include "mc/world/level/block/SignBlock.h"
8
9// auto generated forward declare list
10// clang-format off
11class Actor;
12class Block;
13class BlockPos;
15class ItemStack;
16class ItemStackBase;
17class Vec3;
18// clang-format on
19
20class SignItem : public ::Item {
21public:
22 // member variables
23 // NOLINTBEGIN
24 ::ll::TypedStorage<
25 8,
26 16,
27 ::std::map<::SignBlock::SignType, ::std::tuple<::Block const*, ::Block const*, ::Block const*>>>
28 mConvertMap;
29 ::ll::TypedStorage<4, 4, ::SignBlock::SignType> mType;
30 // NOLINTEND
31
32public:
33 // prevent constructor by default
34 SignItem();
35
36public:
37 // virtual functions
38 // NOLINTBEGIN
39 virtual ::Block const* getBlockToPlace(uchar const face, ::Actor const& entity, ::BlockPos const pos) const;
40
41 virtual bool _calculatePlacePos(::ItemStackBase&, ::Actor& entity, uchar& face, ::BlockPos& pos) const /*override*/;
42
43 virtual ::InteractionResult
44 _useOn(::ItemStack& instance, ::Actor& entity, ::BlockPos pos, uchar face, ::Vec3 const& clickPos) const
45 /*override*/;
46
47 virtual ~SignItem() /*override*/;
48 // NOLINTEND
49
50public:
51 // member functions
52 // NOLINTBEGIN
53 MCAPI SignItem(::std::string const& name, int id, ::SignBlock::SignType type);
54 // NOLINTEND
55
56public:
57 // static functions
58 // NOLINTBEGIN
59 MCAPI static bool calculatePlacePos(::Actor& entity, uchar& face, ::BlockPos& pos);
60 // NOLINTEND
61
62public:
63 // constructor thunks
64 // NOLINTBEGIN
65 MCAPI void* $ctor(::std::string const& name, int id, ::SignBlock::SignType type);
66 // NOLINTEND
67
68public:
69 // destructor thunk
70 // NOLINTBEGIN
71 MCAPI void $dtor();
72 // NOLINTEND
73
74public:
75 // virtual function thunks
76 // NOLINTBEGIN
77 MCAPI ::Block const* $getBlockToPlace(uchar const face, ::Actor const& entity, ::BlockPos const pos) const;
78
79 MCFOLD bool $_calculatePlacePos(::ItemStackBase&, ::Actor& entity, uchar& face, ::BlockPos& pos) const;
80
81 MCAPI ::InteractionResult
82 $_useOn(::ItemStack& instance, ::Actor& entity, ::BlockPos pos, uchar face, ::Vec3 const& clickPos) const;
83
84
85 // NOLINTEND
86
87public:
88 // vftables
89 // NOLINTBEGIN
90 MCAPI static void** $vftable();
91 // NOLINTEND
92};
Definition Actor.h:105
Definition BlockPos.h:19
Definition Block.h:43
Definition InteractionResult.h:5
Definition ItemStackBase.h:44
Definition ItemStack.h:26
Definition Vec3.h:10