LeviLamina
Loading...
Searching...
No Matches
CompoundItem.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/item/ChemistryItem.h"
7#include "mc/world/item/CompoundContainerType.h"
8#include "mc/world/item/CompoundType.h"
9
10// auto generated forward declare list
11// clang-format off
12class CompoundTag;
13class Experiments;
14class Item;
15class ItemDescriptor;
16class ItemInstance;
17class ItemStackBase;
20// clang-format on
21
22class CompoundItem : public ::ChemistryItem {
23public:
24 // prevent constructor by default
25 CompoundItem();
26
27public:
28 // virtual functions
29 // NOLINTBEGIN
30 virtual bool isValidAuxValue(int auxValue) const /*override*/;
31
32 virtual ::std::string buildDescriptionId(::ItemDescriptor const& itemDescriptor, ::CompoundTag const*) const
33 /*override*/;
34
35 virtual ::Item& setIconInfo(::std::string const& name, int id) /*override*/;
36
37 virtual ::ResolvedItemIconInfo
38 getIconInfo(::ItemStackBase const& item, int newAnimationFrame, bool inInventoryPane) const /*override*/;
39 // NOLINTEND
40
41public:
42 // member functions
43 // NOLINTBEGIN
44 MCAPI CompoundItem(::std::string const& name, int id, ::Experiments const& experiments);
45
46 MCAPI void _registerSpecialCompound(::ItemInstance const& item, ::CompoundType type);
47
48 MCAPI void _registerSpecialCompounds(::Experiments const&);
49 // NOLINTEND
50
51public:
52 // static functions
53 // NOLINTBEGIN
54 MCAPI static ::std::string _getName(::CompoundType type);
55
56#ifdef LL_PLAT_C
57 MCAPI static ::CompoundContainerType getCompoundContainer(::ItemInstance const& instance);
58
59 MCAPI static ::std::string getCompoundFormula(::ItemInstance const& instance);
60#endif
61
62 MCAPI static ::CompoundType getCompoundType(::ItemDescriptor const& itemDescriptor);
63
64 MCAPI static ::RecipeIngredient getIngredientForCompound(::CompoundType type);
65
66 MCAPI static ::ItemInstance getItemForCompound(::CompoundType type, int stackCount);
67
68 MCAPI static bool isCompoundItem(::ItemStackBase const& instance);
69
70 MCAPI static void unregisterSpecialCompounds();
71 // NOLINTEND
72
73public:
74 // static variables
75 // NOLINTBEGIN
76 MCAPI static ::std::unordered_map<int, int>& mIdToSpecialCompound();
77
78 MCAPI static ::std::unordered_map<int, ::ItemInstance>& mTypeToSpecialCompound();
79 // NOLINTEND
80
81public:
82 // constructor thunks
83 // NOLINTBEGIN
84 MCAPI void* $ctor(::std::string const& name, int id, ::Experiments const& experiments);
85 // NOLINTEND
86
87public:
88 // virtual function thunks
89 // NOLINTBEGIN
90 MCAPI bool $isValidAuxValue(int auxValue) const;
91
92 MCAPI ::std::string $buildDescriptionId(::ItemDescriptor const& itemDescriptor, ::CompoundTag const*) const;
93
94 MCFOLD ::Item& $setIconInfo(::std::string const& name, int id);
95
96 MCAPI ::ResolvedItemIconInfo
97 $getIconInfo(::ItemStackBase const& item, int newAnimationFrame, bool inInventoryPane) const;
98
99
100 // NOLINTEND
101
102public:
103 // vftables
104 // NOLINTBEGIN
105 MCAPI static void** $vftable();
106 // NOLINTEND
107};
Definition ChemistryItem.h:13
Definition CompoundTag.h:23
Definition Experiments.h:14
Definition ItemDescriptor.h:25
Definition ItemInstance.h:15
Definition ItemStackBase.h:52
Definition Item.h:71
Definition RecipeIngredient.h:16
Definition ResolvedItemIconInfo.h:8