LeviLamina
Loading...
Searching...
No Matches
SeedItemComponentLegacy.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/molang/MolangVersion.h"
7#include "mc/world/level/block/BlockDescriptor.h"
8
9// auto generated forward declare list
10// clang-format off
11class Actor;
12class Block;
13class BlockPos;
14class CompoundTag;
15class Item;
16class ItemStack;
17class Vec3;
18namespace Json { class Value; }
19// clang-format on
20
21class SeedItemComponentLegacy {
22public:
23 // member variables
24 // NOLINTBEGIN
25 ::ll::TypedStorage<8, 8, ::Item&> mOwner;
26 ::ll::TypedStorage<8, 8, ::Block const*> mResult;
27 ::ll::TypedStorage<8, 24, ::std::vector<::BlockDescriptor>> mTargetLandBlocks;
28 ::ll::TypedStorage<1, 1, bool> mPlantAtAnyVisibleSolidSurface;
29 ::ll::TypedStorage<1, 1, bool> mIsPlanting;
30 ::ll::TypedStorage<1, 1, uchar> mFaceToPlantAt;
31 // NOLINTEND
32
33public:
34 // prevent constructor by default
35 SeedItemComponentLegacy& operator=(SeedItemComponentLegacy const&);
36 SeedItemComponentLegacy(SeedItemComponentLegacy const&);
37 SeedItemComponentLegacy();
38
39public:
40 // member functions
41 // NOLINTBEGIN
42 MCAPI ::std::unique_ptr<::CompoundTag> buildNetworkTag() const;
43
44#ifdef LL_PLAT_C
45 MCAPI bool canUseOn(::Actor& entity, ::BlockPos const& blockPos, uchar face) const;
46#endif
47
48 MCAPI bool init(::Json::Value const& data, ::MolangVersion molangVersion);
49
50 MCAPI bool
51 useOn(::ItemStack& instance, ::Actor& actor, ::BlockPos const& blockPos, uchar face, ::Vec3 const& clickPos);
52 // NOLINTEND
53
54public:
55 // static functions
56 // NOLINTBEGIN
57 MCAPI static ::Json::Value initializeFromNetwork(::CompoundTag const& tag);
58 // NOLINTEND
59};
Definition Actor.h:113
Definition BlockPos.h:17
Definition Block.h:41
Definition CompoundTag.h:18
Definition ItemStack.h:26
Definition Item.h:71
Definition Value.h:16
Definition Vec3.h:10