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