LeviLamina
Loading...
Searching...
No Matches
Hopper.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated forward declare list
6// clang-format off
7class BlockPos;
8class BlockSource;
9class Container;
10class ItemActor;
11class ItemStack;
12class Vec3;
13// clang-format on
14
15class Hopper {
16public:
17 // member variables
18 // NOLINTBEGIN
19 ::ll::TypedStorage<4, 4, int> mCooldownTime;
20 ::ll::TypedStorage<4, 4, int> mMoveCooldownTime;
21 ::ll::TypedStorage<1, 1, bool> mTransferedFromChestMinecart;
22 ::ll::TypedStorage<1, 1, bool> mIsEntity;
23 ::ll::TypedStorage<4, 4, int> mMoveItemSpeed;
24 // NOLINTEND
25
26public:
27 // prevent constructor by default
28 Hopper();
29
30public:
31 // member functions
32 // NOLINTBEGIN
33 MCAPI Hopper(int moveItemSpeed, bool isEntity);
34
35 MCAPI bool _addItem(::Container& container, ::ItemActor& actor);
36
37 MCAPI ::Container* _getAttachedContainerInBlock(::BlockSource& region, ::Vec3 const& pos, int attachedFace);
38
39 MCAPI ::std::vector<::Container*>
40 _getAttachedContainers(::BlockSource& region, ::Vec3 const& pos, int attachedFace);
41
42 MCAPI ::Container* _getContainerInBlock(::BlockSource& region, ::Vec3 const& pos);
43
44 MCAPI ::std::vector<::Container*> _getContainersAt(::BlockSource& region, ::Vec3 const& pos);
45
46 MCAPI ::std::vector<::Container*> _getSourceContainers(::BlockSource& region, ::Vec3 const& pos);
47
48 MCAPI bool
49 _pushOutItems(::BlockSource& region, ::Container& fromContainer, ::Vec3 const& position, int attachedFace);
50
51 MCAPI bool _tryAddItemsFromPos(::BlockSource& region, ::Container& toContainer, ::Vec3 const& pos);
52
53 MCAPI bool
54 _tryMoveInItem(::BlockSource& region, ::Container& container, ::ItemStack& item, int slot, int face, int itemCount);
55
56 MCAPI bool _tryMoveItems(
57 ::BlockSource& region,
58 ::Container& fromContainer,
59 ::Vec3 const& pos,
60 int attachedFace,
61 bool canPushItems
62 );
63
64 MCAPI bool _tryPullInItemsFromAboveContainer(::BlockSource& region, ::Container& toContainer, ::Vec3 const& pos);
65
66 MCAPI bool _tryPullInItemsFromWorld(::BlockSource& region, ::Container& toContainer, ::Vec3 const& pos);
67
68 MCAPI bool
69 _tryPushToComposter(::BlockSource& region, ::Container& fromContainer, ::BlockPos hopperPos, int facingDirection);
70
71 MCAPI bool _tryTakeInItemFromSlot(
72 ::BlockSource& region,
73 ::Container& toContainer,
74 ::Container& fromContainer,
75 int slot,
76 int face
77 );
78
79 MCFOLD int getCooldownTime() const;
80
81 MCFOLD bool isOnCooldown() const;
82
83 MCAPI bool isOnMoveCooldown() const;
84
85 MCFOLD void setCooldownTime(int time);
86
87 MCFOLD void setMoveCooldownTime(int time);
88 // NOLINTEND
89
90public:
91 // constructor thunks
92 // NOLINTBEGIN
93 MCAPI void* $ctor(int moveItemSpeed, bool isEntity);
94 // NOLINTEND
95};
Definition BlockPos.h:21
Definition BlockSource.h:73
Definition Container.h:34
Definition ItemActor.h:31
Definition ItemStack.h:35
Definition Vec3.h:10