Botcraft
1.21.5
Loading...
Searching...
No Matches
HashedSlot.hpp
Go to the documentation of this file.
1
#if PROTOCOL_VERSION > 769
/* > 1.21.4 */
2
#pragma once
3
#include "
protocolCraft/NetworkType.hpp
"
4
5
#include "
protocolCraft/Types/Item/Slot.hpp
"
6
#include "
protocolCraft/Types/Components/DataComponents.hpp
"
7
8
#include <optional>
9
10
namespace
ProtocolCraft
11
{
12
class
HashedSlotActualItem
:
public
NetworkType
13
{
14
SERIALIZED_FIELD
(ItemId,
VarInt
);
15
SERIALIZED_FIELD
(ItemCount,
VarInt
);
16
SERIALIZED_FIELD
(Components,
Components::HashedDataComponentPatch
);
17
18
DECLARE_READ_WRITE_SERIALIZE
;
19
};
20
21
class
HashedSlot
:
public
NetworkType
22
{
23
public
:
24
HashedSlot
() =
default
;
25
// Useful conversion from regular slot
26
HashedSlot
(
const
Slot
& slot)
27
{
28
if
(slot.
IsEmptySlot
())
29
{
30
ActualItem = std::nullopt;
31
}
32
else
33
{
34
ActualItem =
HashedSlotActualItem
()
35
.SetItemId(slot.GetItemId())
36
.SetItemCount(slot.GetItemCount())
37
.SetComponents(slot.GetComponents());
38
}
39
}
40
41
SERIALIZED_FIELD
(ActualItem, std::optional<HashedSlotActualItem>);
42
43
DECLARE_READ_WRITE_SERIALIZE
;
44
};
45
}
// ProtocolCraft
46
#endif
DataComponents.hpp
NetworkType.hpp
Slot.hpp
ProtocolCraft::Components::HashedDataComponentPatch
Definition
DataComponents.hpp:186
ProtocolCraft::HashedSlotActualItem
Definition
HashedSlot.hpp:13
ProtocolCraft::HashedSlotActualItem::SERIALIZED_FIELD
SERIALIZED_FIELD(ItemCount, VarInt)
ProtocolCraft::HashedSlotActualItem::DECLARE_READ_WRITE_SERIALIZE
DECLARE_READ_WRITE_SERIALIZE
Definition
HashedSlot.hpp:18
ProtocolCraft::HashedSlotActualItem::SERIALIZED_FIELD
SERIALIZED_FIELD(Components, Components::HashedDataComponentPatch)
ProtocolCraft::HashedSlotActualItem::SERIALIZED_FIELD
SERIALIZED_FIELD(ItemId, VarInt)
ProtocolCraft::HashedSlot
Definition
HashedSlot.hpp:22
ProtocolCraft::HashedSlot::SERIALIZED_FIELD
SERIALIZED_FIELD(ActualItem, std::optional< HashedSlotActualItem >)
ProtocolCraft::HashedSlot::DECLARE_READ_WRITE_SERIALIZE
DECLARE_READ_WRITE_SERIALIZE
Definition
HashedSlot.hpp:43
ProtocolCraft::HashedSlot::HashedSlot
HashedSlot(const Slot &slot)
Definition
HashedSlot.hpp:26
ProtocolCraft::HashedSlot::HashedSlot
HashedSlot()=default
ProtocolCraft::NetworkType
Definition
NetworkType.hpp:11
ProtocolCraft::Slot
Definition
Slot.hpp:13
ProtocolCraft::Slot::IsEmptySlot
bool IsEmptySlot() const
Definition
Slot.hpp:92
ProtocolCraft
Definition
ItemUtilities.hpp:8
ProtocolCraft::VarType
Definition
Templates.hpp:26
protocolCraft
include
protocolCraft
Types
Item
HashedSlot.hpp
Generated by
1.9.8