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
4
7
8#include <optional>
9
10namespace ProtocolCraft
11{
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
44 };
45} // ProtocolCraft
46#endif
SERIALIZED_FIELD(Components, Components::HashedDataComponentPatch)
SERIALIZED_FIELD(ActualItem, std::optional< HashedSlotActualItem >)
HashedSlot(const Slot &slot)
bool IsEmptySlot() const
Definition Slot.hpp:92