LeviLamina
Loading...
Searching...
No Matches
LabTableReaction.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/block/actor/LabTableReactionType.h"
7
8// auto generated forward declare list
9// clang-format off
10class BlockPos;
11class ItemStack;
13class Random;
14class Vec3;
15// clang-format on
16
17class LabTableReaction {
18public:
19 // member variables
20 // NOLINTBEGIN
21 ::ll::TypedStorage<4, 4, int> mLifetime;
22 ::ll::TypedStorage<4, 4, int> mMaxLifetime;
23 ::ll::TypedStorage<4, 4, int> mStartDelay;
24 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ItemStack>> mResultItem;
25 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::BlockPos>> mPos;
26 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::Random>> mRandom;
27 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::LabTableReactionComponent>>> mComponents;
28 ::ll::TypedStorage<1, 1, ::LabTableReactionType> mType;
29 ::ll::TypedStorage<1, 1, bool> mIsClientSide;
30 // NOLINTEND
31
32public:
33 // prevent constructor by default
34 LabTableReaction();
35
36public:
37 // virtual functions
38 // NOLINTBEGIN
39 virtual ~LabTableReaction() = default;
40 // NOLINTEND
41
42public:
43 // member functions
44 // NOLINTBEGIN
45 MCAPI LabTableReaction(
46 ::LabTableReactionType type,
47 ::BlockPos const& pos,
48 bool isClientSide,
49 int maxLifetime,
50 int startDelay
51 );
52
53 MCAPI ::Vec3 _getTableTop() const;
54
55 MCFOLD void addComponent(::std::unique_ptr<::LabTableReactionComponent> comp);
56
57 MCAPI void addResultItem(::ItemStack const& resultItem);
58 // NOLINTEND
59
60public:
61 // static functions
62 // NOLINTBEGIN
63 MCAPI static ::std::unique_ptr<::LabTableReaction>
64 createReaction(::LabTableReactionType type, ::BlockPos const& pos, bool isClientSide);
65 // NOLINTEND
66
67public:
68 // constructor thunks
69 // NOLINTBEGIN
70 MCAPI void*
71 $ctor(::LabTableReactionType type, ::BlockPos const& pos, bool isClientSide, int maxLifetime, int startDelay);
72 // NOLINTEND
73
74public:
75 // vftables
76 // NOLINTBEGIN
77 MCNAPI static void** $vftable();
78 // NOLINTEND
79};
Definition BlockPos.h:19
Definition ItemStack.h:26
Definition LabTableReactionComponent.h:11
static MCAPI void ** $vftable()
Definition Random.h:10
Definition Vec3.h:10