LeviLamina
Loading...
Searching...
No Matches
RepairableItemComponent.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/item/components/NetworkedItemComponent.h"
7#include "mc/world/level/storage/AllExperiments.h"
8
9// auto generated forward declare list
10// clang-format off
12class ExpressionNode;
13class HashedString;
14class ItemStack;
15class ItemStackBase;
16class SemVersion;
17struct RepairItemEntry;
18struct RepairItemResult;
19namespace SharedTypes::v1_20_50 { struct RepairableItemComponent; }
20namespace cereal { struct ReflectionCtx; }
21// clang-format on
22
23class RepairableItemComponent : public ::NetworkedItemComponent<::RepairableItemComponent> {
24public:
25 // member variables
26 // NOLINTBEGIN
27 ::ll::TypedStorage<8, 24, ::std::vector<::RepairItemEntry>> mRepairItems;
28 // NOLINTEND
29
30public:
31 // prevent constructor by default
32 RepairableItemComponent();
33
34public:
35 // member functions
36 // NOLINTBEGIN
37 MCAPI explicit RepairableItemComponent(::SharedTypes::v1_20_50::RepairableItemComponent component);
38
39 MCAPI int _repairItem(
40 ::ItemStackBase& materialItem,
41 ::ItemStackBase& resultItem,
42 ::ExpressionNode repairAmountExpression
43 ) const;
44
45 MCAPI ::RepairItemResult
46 handleItemRepair(::ItemStack& inputItem, ::ItemStack& materialItem, bool allowBidirectionalRepair) const;
47
48 MCAPI bool isValidRepairItem(::ItemStackBase const& repairItem) const;
49 // NOLINTEND
50
51public:
52 // static functions
53 // NOLINTBEGIN
54 MCAPI static void bindType(
56 ::std::vector<::AllExperiments> const& requiredToggles,
57 ::std::optional<::SemVersion> releasedMinFormatVersion
58 );
59
60 MCAPI static ::HashedString const& getIdentifier();
61
62 MCAPI static void registerVersionUpgrades(::CerealSchemaUpgradeSet& schemaUpgrades);
63 // NOLINTEND
64
65public:
66 // constructor thunks
67 // NOLINTBEGIN
68 MCAPI void* $ctor(::SharedTypes::v1_20_50::RepairableItemComponent component);
69 // NOLINTEND
70
71public:
72 // vftables
73 // NOLINTBEGIN
74 MCNAPI static void** $vftable();
75 // NOLINTEND
76};
Definition CerealSchemaUpgradeSet.h:10
Definition ExpressionNode.h:36
Definition HashedString.h:5
Definition ItemStackBase.h:52
Definition ItemStack.h:35
Definition NetworkedItemComponent.h:7
static MCAPI void ** $vftable()
Definition SemVersion.h:15
Definition RepairItemEntry.h:13
Definition RepairItemResult.h:8
Definition RepairableItemComponent.h:16
Definition ReflectionCtx.h:11
Definition ctx.h:5