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