Botcraft 1.21.4
Loading...
Searching...
No Matches
ProtocolCraft::Slot Class Reference

#include <Slot.hpp>

Inheritance diagram for ProtocolCraft::Slot:
ProtocolCraft::NetworkType

Public Member Functions

 Slot ()
 
virtual ~Slot () override
 
bool SameItem (const Slot &s) const
 
bool IsEmptySlot () const
 
- Public Member Functions inherited from ProtocolCraft::NetworkType
virtual ~NetworkType ()
 
virtual void Read (ReadIterator &iter, size_t &length)
 
virtual void Write (WriteContainer &container) const
 
virtual Json::Value Serialize () const
 

Private Member Functions

 DEFINE_CONDITION (HasContent, GetItemCount() > 0)
 
 SERIALIZED_FIELD_WITHOUT_GETTER_SETTER (ItemCount, VarInt)
 
 SERIALIZED_FIELD (ItemId, Internal::Conditioned< VarInt, &Slot::HasContent, false >)
 
 SERIALIZED_FIELD (Components, Internal::Conditioned< Components::DataComponentPatch, &Slot::HasContent, false >)
 
 GETTER (ItemCount)
 
 SETTER (ItemCount)
 

Private Attributes

 DECLARE_READ_WRITE_SERIALIZE
 

Additional Inherited Members

- Protected Member Functions inherited from ProtocolCraft::NetworkType
virtual void ReadImpl (ReadIterator &iter, size_t &length)=0
 
virtual void WriteImpl (WriteContainer &container) const =0
 
virtual Json::Value SerializeImpl () const =0
 

Detailed Description

Definition at line 12 of file Slot.hpp.

Constructor & Destructor Documentation

◆ Slot()

ProtocolCraft::Slot::Slot ( )
inline

Definition at line 48 of file Slot.hpp.

◆ ~Slot()

virtual ProtocolCraft::Slot::~Slot ( )
inlineoverridevirtual

Definition at line 63 of file Slot.hpp.

Member Function Documentation

◆ DEFINE_CONDITION()

ProtocolCraft::Slot::DEFINE_CONDITION ( HasContent  ,
GetItemCount()  ,
 
)
private

◆ GETTER()

ProtocolCraft::Slot::GETTER ( ItemCount  )
private

◆ IsEmptySlot()

◆ SameItem()

bool ProtocolCraft::Slot::SameItem ( const Slot s) const
inline

Definition at line 68 of file Slot.hpp.

References IsEmptySlot().

Referenced by Botcraft::InventoryManager::PrepareTransaction(), and Botcraft::SortInventory().

◆ SERIALIZED_FIELD() [1/2]

ProtocolCraft::Slot::SERIALIZED_FIELD ( Components  ,
Internal::Conditioned< Components::DataComponentPatch, &Slot::HasContent, false >   
)
private

◆ SERIALIZED_FIELD() [2/2]

ProtocolCraft::Slot::SERIALIZED_FIELD ( ItemId  ,
Internal::Conditioned< VarInt, &Slot::HasContent, false >   
)
private

◆ SERIALIZED_FIELD_WITHOUT_GETTER_SETTER()

ProtocolCraft::Slot::SERIALIZED_FIELD_WITHOUT_GETTER_SETTER ( ItemCount  ,
VarInt   
)
private

◆ SETTER()

ProtocolCraft::Slot::SETTER ( ItemCount  )
private

Member Data Documentation

◆ DECLARE_READ_WRITE_SERIALIZE

ProtocolCraft::Slot::DECLARE_READ_WRITE_SERIALIZE
private

Definition at line 39 of file Slot.hpp.


The documentation for this class was generated from the following file: