Botcraft 1.21.4
Loading...
Searching...
No Matches
Botcraft::BehaviourClient Class Referenceabstract

A ManagersClient extended with a blackboard that can store any kind of data and a virtual Yield function. More...

#include <BehaviourClient.hpp>

Inheritance diagram for Botcraft::BehaviourClient:
Botcraft::ManagersClient Botcraft::BlackboardObserver Botcraft::ConnectionClient ProtocolCraft::Handler ProtocolCraft::GenericHandler< Message, AllMessages > Botcraft::TemplatedBehaviourClient< SimpleBehaviourClient > Botcraft::TemplatedBehaviourClient< TDerived > Botcraft::SimpleBehaviourClient

Public Member Functions

 BehaviourClient (const bool use_renderer_)
 
virtual ~BehaviourClient ()
 
virtual void Yield ()=0
 
BlackboardGetBlackboard ()
 
void OnReset () override
 
void OnValueChanged (const std::string &key, const std::any &value) override
 
void OnValueRemoved (const std::string &key) override
 
- Public Member Functions inherited from Botcraft::ManagersClient
 ManagersClient (const bool use_renderer_)
 
virtual ~ManagersClient ()
 
virtual void Disconnect () override
 
void SetSharedWorld (const std::shared_ptr< World > world_)
 
bool GetAutoRespawn () const
 
void SetAutoRespawn (const bool b)
 
int SendInventoryTransaction (const std::shared_ptr< ProtocolCraft::ServerboundContainerClickPacket > &transaction)
 
std::shared_ptr< WorldGetWorld () const
 
std::shared_ptr< EntityManagerGetEntityManager () const
 
std::shared_ptr< LocalPlayerGetLocalPlayer () const
 
std::shared_ptr< InventoryManagerGetInventoryManager () const
 
std::shared_ptr< PhysicsManagerGetPhysicsManager () const
 
std::string GetPlayerName (const ProtocolCraft::UUID &uuid) const
 Get the name of a connected player.
 
int GetDayTime () const
 Get the current tick.
 
- Public Member Functions inherited from Botcraft::ConnectionClient
 ConnectionClient ()
 
virtual ~ConnectionClient ()
 
void Connect (const std::string &address, const std::string &login, const bool force_microsoft_account=false)
 Connect the client to the server at address.
 
bool GetShouldBeClosed () const
 
void SetShouldBeClosed (const bool b)
 
std::shared_ptr< NetworkManagerGetNetworkManager () const
 
void SendChatMessage (const std::string &msg)
 Send a message in the game chat.
 
void SendChatCommand (const std::string &command)
 Send a command in the game chat.
 
void Respawn ()
 Ask to respawn when dead.
 

Protected Attributes

Blackboard blackboard
 
- Protected Attributes inherited from Botcraft::ManagersClient
std::shared_ptr< Worldworld
 
std::shared_ptr< EntityManagerentity_manager
 
std::shared_ptr< InventoryManagerinventory_manager
 
std::shared_ptr< PhysicsManagerphysics_manager
 
bool use_renderer
 
std::shared_ptr< Renderer::RenderingManagerrendering_manager
 
bool auto_respawn
 
Difficulty difficulty
 
bool difficulty_locked
 
bool is_hardcore
 
std::atomic< int > day_time
 
std::map< ProtocolCraft::UUID, std::string > player_names
 Names of all connected players.
 
std::shared_mutex player_names_mutex
 
- Protected Attributes inherited from Botcraft::ConnectionClient
std::shared_ptr< NetworkManagernetwork_manager
 
bool should_be_closed
 

Additional Inherited Members

- Protected Member Functions inherited from Botcraft::ManagersClient
virtual void Handle (ProtocolCraft::ClientboundLoginFinishedPacket &msg) override
 
virtual void Handle (ProtocolCraft::ClientboundChangeDifficultyPacket &msg) override
 
virtual void Handle (ProtocolCraft::ClientboundLoginPacket &msg) override
 
virtual void Handle (ProtocolCraft::ClientboundSetHealthPacket &msg) override
 
virtual void Handle (ProtocolCraft::ClientboundPlayerAbilitiesPacket &msg) override
 
virtual void Handle (ProtocolCraft::ClientboundPlayerPositionPacket &msg) override
 
virtual void Handle (ProtocolCraft::ClientboundRespawnPacket &msg) override
 
virtual void Handle (ProtocolCraft::ClientboundSetTimePacket &msg) override
 
virtual void Handle (ProtocolCraft::ClientboundPlayerInfoRemovePacket &msg) override
 
virtual void Handle (ProtocolCraft::ClientboundPlayerInfoUpdatePacket &msg) override
 
virtual void Handle (ProtocolCraft::ClientboundLoginDisconnectPacket &msg) override
 
virtual void Handle (ProtocolCraft::ClientboundDisconnectPacket &msg) override
 
virtual void Handle (ProtocolCraft::ClientboundPlayerPositionPacket &msg) override
 
virtual void Handle (ProtocolCraft::ClientboundDisconnectConfigurationPacket &msg) override
 
virtual void Handle (ProtocolCraft::ClientboundLoginPacket &msg) override
 
virtual void Handle (ProtocolCraft::ClientboundRespawnPacket &msg) override
 

Detailed Description

A ManagersClient extended with a blackboard that can store any kind of data and a virtual Yield function.

You should not inherit from this class, but from TemplatedBehaviourClient or SimpleBehaviourClient instead.

Definition at line 12 of file BehaviourClient.hpp.

Constructor & Destructor Documentation

◆ BehaviourClient()

Botcraft::BehaviourClient::BehaviourClient ( const bool  use_renderer_)

Definition at line 8 of file BehaviourClient.cpp.

References blackboard, and Botcraft::Blackboard::Subscribe().

◆ ~BehaviourClient()

Botcraft::BehaviourClient::~BehaviourClient ( )
virtual

Definition at line 14 of file BehaviourClient.cpp.

References blackboard, and Botcraft::Blackboard::Unsubscribe().

Member Function Documentation

◆ GetBlackboard()

Blackboard & Botcraft::BehaviourClient::GetBlackboard ( )

Definition at line 19 of file BehaviourClient.cpp.

References blackboard.

Referenced by Botcraft::CheckBlackboardBoolData(), Botcraft::CheckBlackboardBoolDataBlackboard(), Botcraft::CheckBlackboardBoolDataImpl(), Botcraft::ClickSlotInContainer(), Botcraft::ClickSlotInContainerBlackboard(), Botcraft::CloseContainer(), Botcraft::CloseContainerBlackboard(), Botcraft::CopyBlackboardData(), Botcraft::CopyBlackboardDataBlackboard(), Botcraft::CopyBlackboardDataImpl(), Botcraft::Craft(), Botcraft::CraftBlackboard(), Botcraft::CraftNamed(), Botcraft::CraftNamedBlackboard(), Botcraft::Dig(), Botcraft::DigBlackboard(), Botcraft::DropItemsFromContainer(), Botcraft::DropItemsFromContainerBlackboard(), Botcraft::Eat(), Botcraft::EatBlackboard(), Botcraft::GoTo(), Botcraft::GoToBlackboard(), Botcraft::GoToDouble(), Botcraft::GoToDoubleBlackboard(), Botcraft::HasItemIdInInventory(), Botcraft::HasItemIdInInventoryBlackboard(), Botcraft::HasItemInInventory(), Botcraft::HasItemInInventoryBlackboard(), Botcraft::InteractEntity(), Botcraft::InteractEntityBlackboard(), Botcraft::InteractWithBlock(), Botcraft::InteractWithBlockBlackboard(), Botcraft::IsHungry(), Botcraft::IsHungryBlackboard(), Botcraft::LogInventoryContent(), Botcraft::LogInventoryContentBlackboard(), Botcraft::LookAt(), Botcraft::LookAtBlackboard(), Botcraft::OpenContainer(), Botcraft::OpenContainerBlackboard(), Botcraft::PlaceBlock(), Botcraft::PlaceBlockBlackboard(), Botcraft::PutOneItemInContainerSlot(), Botcraft::PutOneItemInContainerSlotBlackboard(), Botcraft::RemoveBlackboardData(), Botcraft::RemoveBlackboardDataBlackboard(), Botcraft::RemoveBlackboardDataImpl(), Botcraft::Say(), Botcraft::SayBlackboard(), Botcraft::SetBlackboardData(), Botcraft::SetBlackboardDataBlackboard(), Botcraft::Internal::SetBlackboardDataImpl(), Botcraft::SetItemIdInHand(), Botcraft::SetItemIdInHandBlackboard(), Botcraft::SetItemInHand(), Botcraft::SetItemInHandBlackboard(), Botcraft::SwapItemsInContainer(), Botcraft::SwapItemsInContainerBlackboard(), Botcraft::Trade(), Botcraft::TradeBlackboard(), Botcraft::TradeName(), and Botcraft::TradeNameBlackboard().

◆ OnReset()

void Botcraft::BehaviourClient::OnReset ( )
overridevirtual

◆ OnValueChanged()

void Botcraft::BehaviourClient::OnValueChanged ( const std::string &  key,
const std::any &  value 
)
overridevirtual

◆ OnValueRemoved()

void Botcraft::BehaviourClient::OnValueRemoved ( const std::string &  key)
overridevirtual

◆ Yield()

Member Data Documentation

◆ blackboard

Blackboard Botcraft::BehaviourClient::blackboard
protected

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