LeviLamina
Loading...
Searching...
No Matches
CrafterBlock.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/Flip.h"
7#include "mc/world/level/block/ActorBlockBase.h"
8#include "mc/world/level/block/BlockType.h"
9
10// auto generated forward declare list
11// clang-format off
12class Actor;
13class Block;
14class BlockPos;
15class BlockSource;
16class Container;
17class Vec3;
18namespace BlockEvents { class BlockPlayerInteractEvent; }
19namespace BlockEvents { class BlockQueuedTickEvent; }
20namespace BlockEvents { class BlockRedstoneUpdateEvent; }
21// clang-format on
22
23class CrafterBlock : public ::ActorBlock {
24public:
25 // prevent constructor by default
26 CrafterBlock();
27
28public:
29 // virtual functions
30 // NOLINTBEGIN
31 virtual int getVariant(::Block const& block) const /*override*/;
32
33 virtual ::Block const&
34 getPlacementBlock(::Actor const& by, ::BlockPos const& pos, uchar face, ::Vec3 const& clickPos, int itemValue) const
35 /*override*/;
36
37 virtual void onRemove(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
38
39 virtual bool isInteractiveBlock() const /*override*/;
40
41 virtual bool isContainerBlock() const /*override*/;
42
43 virtual bool hasComparatorSignal() const /*override*/;
44
45 virtual int getComparatorSignal(::BlockSource& region, ::BlockPos const& pos, ::Block const& block, uchar dir) const
46 /*override*/;
47
48 virtual ::Block const& getRenderBlock() const /*override*/;
49
50 virtual uchar getMappedFace(uchar face, ::Block const& block) const /*override*/;
51
52 virtual ::Flip getFaceFlip(uchar face, ::Block const& block) const /*override*/;
53
54 virtual bool allowStateMismatchOnPlacement(::Block const&, ::Block const&) const /*override*/;
55 // NOLINTEND
56
57public:
58 // member functions
59 // NOLINTBEGIN
60 MCAPI CrafterBlock(::std::string const& nameId, int id);
61
62 MCAPI void _onRedstoneUpdate(::BlockEvents::BlockRedstoneUpdateEvent& blockEvent) const;
63
64 MCAPI void dispenseFrom(::BlockSource& region, ::BlockPos const& pos) const;
65
66 MCAPI ::Vec3 getDispensePosition(::BlockSource& region, ::Vec3 const& pos) const;
67
68 MCAPI void tick(::BlockEvents::BlockQueuedTickEvent& eventData) const;
69
70 MCAPI void use(::BlockEvents::BlockPlayerInteractEvent& eventData) const;
71 // NOLINTEND
72
73public:
74 // static functions
75 // NOLINTBEGIN
76 MCAPI static void _removeOneLayerOfItems(::Container& container);
77
78 MCFOLD static int getAttachedFace(int facing);
79 // NOLINTEND
80
81public:
82 // constructor thunks
83 // NOLINTBEGIN
84 MCAPI void* $ctor(::std::string const& nameId, int id);
85 // NOLINTEND
86
87public:
88 // virtual function thunks
89 // NOLINTBEGIN
90 MCAPI int $getVariant(::Block const& block) const;
91
92 MCAPI ::Block const& $getPlacementBlock(
93 ::Actor const& by,
94 ::BlockPos const& pos,
95 uchar face,
96 ::Vec3 const& clickPos,
97 int itemValue
98 ) const;
99
100 MCFOLD void $onRemove(::BlockSource& region, ::BlockPos const& pos) const;
101
102 MCFOLD bool $isInteractiveBlock() const;
103
104 MCFOLD bool $isContainerBlock() const;
105
106 MCFOLD bool $hasComparatorSignal() const;
107
108 MCAPI int $getComparatorSignal(::BlockSource& region, ::BlockPos const& pos, ::Block const& block, uchar dir) const;
109
110 MCAPI ::Block const& $getRenderBlock() const;
111
112 MCAPI uchar $getMappedFace(uchar face, ::Block const& block) const;
113
114 MCAPI ::Flip $getFaceFlip(uchar face, ::Block const& block) const;
115
116 MCFOLD bool $allowStateMismatchOnPlacement(::Block const&, ::Block const&) const;
117
118
119 // NOLINTEND
120
121public:
122 // vftables
123 // NOLINTBEGIN
124 MCAPI static void** $vftable();
125 // NOLINTEND
126};
Definition Actor.h:125
Definition BlockPlayerInteractEvent.h:20
Definition BlockQueuedTickEvent.h:18
Definition BlockRedstoneUpdateEvent.h:16
Definition BlockPos.h:21
Definition BlockSource.h:73
Definition Block.h:69
Definition Container.h:34
Definition Vec3.h:10