Cuberite
A lightweight, fast and extensible game server for Minecraft
Public Member Functions | Protected Member Functions | Protected Attributes | Private Types | List of all members
cItemThrowableHandler Class Reference

#include <ItemThrowable.h>

Inheritance diagram for cItemThrowableHandler:
Inheritance graph
[legend]
Collaboration diagram for cItemThrowableHandler:
Collaboration graph
[legend]

Public Member Functions

constexpr cItemThrowableHandler (int a_ItemType, cProjectileEntity::eKind a_ProjectileKind, double a_SpeedCoeff)
 
virtual bool OnItemUse (cWorld *a_World, cPlayer *a_Player, cBlockPluginInterface &a_PluginInterface, const cItem &a_HeldItem, const Vector3i a_ClickedBlockPos, eBlockFace a_ClickedBlockFace) const override
 Called when the player tries to use the item (right mouse button). More...
 
- Public Member Functions inherited from cItemHandler
virtual bool CanHarvestBlock (BLOCKTYPE a_BlockType) const
 Returns whether this tool / item can harvest a specific block (e.g. More...
 
virtual bool CanRepairWithRawMaterial (short a_ItemType) const
 Can the anvil repair this item, when a_Item is the second input? More...
 
constexpr cItemHandler (int a_ItemType)
 
virtual bool EatItem (cPlayer *a_Player, cItem *a_Item) const
 Lets the player eat a selected item. More...
 
virtual float GetBlockBreakingStrength (BLOCKTYPE a_Block) const
 Returns the strength to break a specific block. More...
 
virtual short GetDurabilityLossByAction (eDurabilityLostAction a_Action) const
 Get the durability lost which the item will get, when a specified action was performed. More...
 
virtual FoodInfo GetFoodInfo (const cItem *a_Item) const
 Returns the FoodInfo for this item. More...
 
virtual char GetMaxStackSize (void) const
 Returns the maximum stack size for a given item. More...
 
virtual bool IsDrinkable (short a_ItemDamage) const
 Indicates if this item is drinkable. More...
 
virtual bool IsFood (void) const
 Indicates if this item is food. More...
 
virtual bool IsPlaceable (void) const
 Blocks simply get placed. More...
 
virtual bool OnDiggingBlock (cWorld *a_World, cPlayer *a_Player, const cItem &a_HeldItem, const Vector3i a_ClickedBlockPos, eBlockFace a_ClickedBlockFace) const
 Called while the player digs a block using this item. More...
 
virtual void OnEntityAttack (cPlayer *a_Attacker, cEntity *a_AttackedEntity) const
 Called when a player attacks an entity with this item in hand. More...
 
virtual void OnFoodEaten (cWorld *a_World, cPlayer *a_Player, cItem *a_Item) const
 Called after the player has eaten this item. More...
 
virtual void OnItemShoot (cPlayer *, const Vector3i a_BlockPos, eBlockFace a_BlockFace) const
 Called when the client sends the SHOOT status in the lclk packet (releasing the bow). More...
 
void OnPlayerPlace (cPlayer &a_Player, const cItem &a_HeldItem, Vector3i a_ClickedPosition, BLOCKTYPE a_ClickedBlockType, NIBBLETYPE a_ClickedBlockMeta, eBlockFace a_ClickedBlockFace, Vector3i a_CursorPosition) const
 Called when the player tries to place the item (right mouse button, IsPlaceable() == true). More...
 
virtual void OnUpdate (cWorld *a_World, cPlayer *a_Player, const cItem &a_Item) const
 Called every tick while the item is on the player's inventory (used by maps, for example) - For now, called only for equipped items. More...
 

Protected Member Functions

 ~cItemThrowableHandler ()=default
 
- Protected Member Functions inherited from cItemHandler
virtual bool CommitPlacement (cPlayer &a_Player, const cItem &a_HeldItem, Vector3i a_PlacePosition, eBlockFace a_ClickedBlockFace, Vector3i a_CursorPosition) const
 Performs the actual placement of this placeable item. More...
 
 ~cItemHandler ()=default
 

Protected Attributes

cProjectileEntity::eKind m_ProjectileKind
 The kind of projectile to create when shooting. More...
 
double m_SpeedCoeff
 The speed multiplier (to the player's normalized look vector) to set for the new projectile. More...
 
- Protected Attributes inherited from cItemHandler
const int m_ItemType
 

Private Types

using Super = cItemHandler
 

Additional Inherited Members

- Public Types inherited from cItemHandler
enum  eDurabilityLostAction { dlaAttackEntity , dlaBreakBlock , dlaBreakBlockInstant }
 Actions that may cause durability of an item may be lost, where the magnitude of the loss depends on the specific item used to perform the action. More...
 
- Static Protected Member Functions inherited from cItemHandler
static const cItemHandlerFor (int a_ItemType)
 

Detailed Description

Definition at line 13 of file ItemThrowable.h.

Member Typedef Documentation

◆ Super

Definition at line 16 of file ItemThrowable.h.

Constructor & Destructor Documentation

◆ cItemThrowableHandler()

constexpr cItemThrowableHandler::cItemThrowableHandler ( int  a_ItemType,
cProjectileEntity::eKind  a_ProjectileKind,
double  a_SpeedCoeff 
)
inlineconstexpr

Definition at line 20 of file ItemThrowable.h.

◆ ~cItemThrowableHandler()

cItemThrowableHandler::~cItemThrowableHandler ( )
protecteddefault

Member Function Documentation

◆ OnItemUse()

virtual bool cItemThrowableHandler::OnItemUse ( cWorld a_World,
cPlayer a_Player,
cBlockPluginInterface a_PluginInterface,
const cItem a_HeldItem,
const Vector3i  a_ClickedBlockPos,
eBlockFace  a_ClickedBlockFace 
) const
inlineoverridevirtual

Called when the player tries to use the item (right mouse button).

Descendants can return false to abort the usage (default behavior).

Reimplemented from cItemHandler.

Reimplemented in cItemEyeOfEnderHandler, and cItemFireworkHandler.

Definition at line 31 of file ItemThrowable.h.

Member Data Documentation

◆ m_ProjectileKind

cProjectileEntity::eKind cItemThrowableHandler::m_ProjectileKind
protected

The kind of projectile to create when shooting.

Definition at line 64 of file ItemThrowable.h.

◆ m_SpeedCoeff

double cItemThrowableHandler::m_SpeedCoeff
protected

The speed multiplier (to the player's normalized look vector) to set for the new projectile.

Definition at line 67 of file ItemThrowable.h.


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