Cuberite
A lightweight, fast and extensible game server for Minecraft
|
#include <BrewingstandEntity.h>
Public Types | |
enum | { bsLeftBottle = 0, bsMiddleBottle = 1, bsRightBottle = 2, bsIngredient = 3, bsFuel = 4, ContentsWidth = 5, ContentsHeight = 1 } |
Public Member Functions | |
cBrewingstandEntity (BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld *a_World) | |
Constructor used for normal operation. More... | |
void | ContinueBrewing (void) |
Starts the brewing proccess. More... | |
virtual void | CopyFrom (const cBlockEntity &a_Src) override |
Copies all properties of a_Src into this entity, except for its m_World and location. More... | |
virtual void | Destroy () override |
short | GetBrewingTimeLeft (void) const |
Returns the time until the current items finishes brewing, in ticks. More... | |
const cItem & | GetFuelSlot (void) const |
Returns the item in the fuel slot. More... | |
const cItem & | GetIndgredientSlot (void) const |
Returns the item in the ingredient slot. More... | |
const cItem & | GetLeftBottleSlot (void) const |
Returns the item in the left bottle slot. More... | |
const cItem & | GetMiddleBottleSlot (void) const |
Returns the item in the middle bottle slot. More... | |
short | GetRemainingFuel (void) |
Returns the remaining fuel that is left. More... | |
const cItem & | GetResultItem (int a_SlotNumber) |
Get the expected result item for the given slot number. More... | |
const cItem & | GetRightBottleSlot (void) const |
Returns the item in the right bottle slot. More... | |
short | GetTimeBrewed (void) |
Returns the time that the current items has been brewing, in ticks. More... | |
void | LoadRecipes (void) |
Gets the recipes. More... | |
virtual void | SendTo (cClientHandle &a_Client) override |
Sends the packet defining the block entity to the client specified. More... | |
void | SetFuelSlot (const cItem &a_Item) |
Sets the item in the fuel slot. More... | |
void | SetIngredientSlot (const cItem &a_Item) |
Sets the item in the ingredient slot. More... | |
void | SetLeftBottleSlot (const cItem &a_Item) |
Sets the item in the left bottle slot. More... | |
void | SetMiddleBottleSlot (const cItem &a_Item) |
Sets the item in the middle bottle slot. More... | |
void | SetRemainingFuel (short a_RemainingFuel) |
Sets the remaining fuel. More... | |
void | SetRightBottleSlot (const cItem &a_Item) |
Sets the item in the right bottle slot. More... | |
void | SetTimeBrewed (short a_TimeBrewed) |
Sets the current brewing time. More... | |
virtual bool | Tick (std::chrono::milliseconds a_Dt, cChunk &a_Chunk) override |
Ticks the entity; returns true if the chunk should be marked as dirty as a result of this ticking. More... | |
virtual bool | UsedBy (cPlayer *a_Player) override |
Called when a player uses this entity; should open the UI window. More... | |
virtual | ~cBrewingstandEntity () override |
Public Member Functions inherited from cBlockEntityWithItems | |
cBlockEntityWithItems (BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, int a_ItemGridWidth, int a_ItemGridHeight, cWorld *a_World) | |
cItemGrid & | GetContents (void) |
Returns the ItemGrid used for storing the contents. More... | |
const cItemGrid & | GetContents (void) const |
Const version of the GetContents() function for C++ type-safety. More... | |
const cItem & | GetSlot (int a_SlotNum) const |
const cItem & | GetSlot (int a_X, int a_Y) const |
void | SetSlot (int a_SlotNum, const cItem &a_Item) |
void | SetSlot (int a_X, int a_Y, const cItem &a_Item) |
Public Member Functions inherited from cBlockEntity | |
cBlockEntity * | Clone (Vector3i a_Pos) |
Makes an exact copy of this block entity, except for its m_World (set to nullptr), and at a new position. More... | |
BLOCKTYPE | GetBlockType () const |
int | GetChunkX () const |
int | GetChunkZ () const |
virtual const char * | GetClass () const |
Returns the name of the topmost class (the most descendant). More... | |
virtual const char * | GetParentClass () const |
Returns the name of the parent class, or empty string if no parent class. More... | |
Vector3i | GetPos () const |
int | GetPosX () const |
int | GetPosY () const |
int | GetPosZ () const |
Vector3i | GetRelPos () const |
int | GetRelX () const |
int | GetRelZ () const |
cWorld * | GetWorld () const |
virtual bool | IsA (const char *a_ClassName) const |
Returns true if the object is the specified class, or its descendant. More... | |
void | SetPos (Vector3i a_NewPos) |
Updates the internally stored position. More... | |
void | SetWorld (cWorld *a_World) |
virtual | ~cBlockEntity () |
Public Member Functions inherited from cItemGrid::cListener | |
virtual | ~cListener () |
Public Member Functions inherited from cBlockEntityWindowOwner | |
cBlockEntityWindowOwner (cBlockEntity *a_BlockEntity) | |
virtual Vector3i | GetBlockPos (void) override |
Returns the block position at which the element owning the window is. More... | |
Public Member Functions inherited from cWindowOwner | |
void | CloseWindow (void) |
cWindowOwner () | |
cWindow * | GetWindow (void) const |
void | OpenWindow (cWindow *a_Window) |
virtual | ~cWindowOwner () |
Protected Member Functions | |
void | BroadcastProgress (short a_ProgressbarID, short a_Value) |
Sends the specified progressbar value to all clients of the window. More... | |
virtual void | OnSlotChanged (cItemGrid *a_ItemGrid, int a_SlotNum) override |
Called whenever a slot changes. More... | |
void | UpdateProgressBars (bool a_ForceUpdate=false) |
Broadcasts progressbar updates, if needed. More... | |
Protected Member Functions inherited from cBlockEntity | |
cBlockEntity (BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld *a_World) | |
Protected Attributes | |
const cBrewingRecipes::cRecipe * | m_CurrentBrewingRecipes [3] = {} |
Store the current brewing recipes. More... | |
bool | m_IsBrewing |
Set to true if the brewing stand is brewing an item. More... | |
bool | m_IsDestroyed |
Set to true when the brewing stand entity has been destroyed to prevent the block being set again. More... | |
const short | m_NeedBrewingTime = 400 |
Brewing time is 400 ticks. More... | |
short | m_RemainingFuel |
The remaining fuel for the brewing stand. More... | |
cItem | m_Results [3] |
Result items for the bottle inputs. More... | |
short | m_TimeBrewed |
Amount of ticks that the current item has been brewed. More... | |
Protected Attributes inherited from cBlockEntityWithItems | |
cItemGrid | m_Contents |
Protected Attributes inherited from cBlockEntity | |
NIBBLETYPE | m_BlockMeta |
The block meta representing this particular instance in the world Mainly used for directional entities, such as dispensers. More... | |
BLOCKTYPE | m_BlockType |
The blocktype representing this particular instance in the world. More... | |
Vector3i | m_Pos |
Position in absolute block coordinates. More... | |
int | m_RelX |
Position relative to the chunk, used to speed up ticking. More... | |
int | m_RelZ |
cWorld * | m_World |
Private Types | |
using | super = cBlockEntityWithItems |
Additional Inherited Members | |
Static Public Member Functions inherited from cBlockEntity | |
static cBlockEntity * | CreateByBlockType (BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld *a_World=nullptr) |
Creates a new block entity for the specified block type at the specified absolute pos. More... | |
static const char * | GetClassStatic () |
static bool | IsBlockEntityBlockType (BLOCKTYPE a_BlockType) |
Returns true if the specified blocktype is supposed to have an associated block entity. More... | |
Definition at line 18 of file BrewingstandEntity.h.
|
private |
Definition at line 23 of file BrewingstandEntity.h.
anonymous enum |
Enumerator | |
---|---|
bsLeftBottle | |
bsMiddleBottle | |
bsRightBottle | |
bsIngredient | |
bsFuel | |
ContentsWidth | |
ContentsHeight |
Definition at line 29 of file BrewingstandEntity.h.
cBrewingstandEntity::cBrewingstandEntity | ( | BLOCKTYPE | a_BlockType, |
NIBBLETYPE | a_BlockMeta, | ||
Vector3i | a_Pos, | ||
cWorld * | a_World | ||
) |
Constructor used for normal operation.
Definition at line 14 of file BrewingstandEntity.cpp.
|
overridevirtual |
Definition at line 28 of file BrewingstandEntity.cpp.
|
protected |
Sends the specified progressbar value to all clients of the window.
Definition at line 189 of file BrewingstandEntity.cpp.
void cBrewingstandEntity::ContinueBrewing | ( | void | ) |
Starts the brewing proccess.
Will be called if the brewing stand gets loaded from the world.
Definition at line 317 of file BrewingstandEntity.cpp.
|
overridevirtual |
Copies all properties of a_Src into this entity, except for its m_World and location.
Each non-abstract descendant should override to copy its specific properties, and call Super::CopyFrom(a_Src) to copy the common ones.
Reimplemented from cBlockEntityWithItems.
Definition at line 52 of file BrewingstandEntity.cpp.
|
overridevirtual |
Reimplemented from cBlockEntityWithItems.
Definition at line 42 of file BrewingstandEntity.cpp.
|
inline |
Returns the time until the current items finishes brewing, in ticks.
Definition at line 60 of file BrewingstandEntity.h.
|
inline |
Returns the item in the fuel slot.
Definition at line 81 of file BrewingstandEntity.h.
|
inline |
Returns the item in the ingredient slot.
Definition at line 78 of file BrewingstandEntity.h.
|
inline |
Returns the item in the left bottle slot.
Definition at line 69 of file BrewingstandEntity.h.
|
inline |
Returns the item in the middle bottle slot.
Definition at line 72 of file BrewingstandEntity.h.
|
inline |
Returns the remaining fuel that is left.
Definition at line 66 of file BrewingstandEntity.h.
|
inline |
Get the expected result item for the given slot number.
Definition at line 84 of file BrewingstandEntity.h.
|
inline |
Returns the item in the right bottle slot.
Definition at line 75 of file BrewingstandEntity.h.
|
inline |
Returns the time that the current items has been brewing, in ticks.
Definition at line 63 of file BrewingstandEntity.h.
void cBrewingstandEntity::LoadRecipes | ( | void | ) |
Gets the recipes.
Will be called if the brewing stand gets loaded from the world.
Definition at line 330 of file BrewingstandEntity.cpp.
|
overrideprotectedvirtual |
Called whenever a slot changes.
Reimplemented from cBlockEntityWithItems.
Definition at line 202 of file BrewingstandEntity.cpp.
|
overridevirtual |
Sends the packet defining the block entity to the client specified.
To send to all eligible clients, use cWorld::BroadcastBlockEntity()
Implements cBlockEntity.
Definition at line 73 of file BrewingstandEntity.cpp.
|
inline |
Sets the item in the fuel slot.
Definition at line 99 of file BrewingstandEntity.h.
|
inline |
Sets the item in the ingredient slot.
Definition at line 96 of file BrewingstandEntity.h.
|
inline |
Sets the item in the left bottle slot.
Definition at line 87 of file BrewingstandEntity.h.
|
inline |
Sets the item in the middle bottle slot.
Definition at line 90 of file BrewingstandEntity.h.
|
inline |
Sets the remaining fuel.
Will be called if the brewing stand gets loaded from the world.
Definition at line 107 of file BrewingstandEntity.h.
|
inline |
Sets the item in the right bottle slot.
Definition at line 93 of file BrewingstandEntity.h.
|
inline |
Sets the current brewing time.
Will be called if the brewing stand gets loaded from the world.
Definition at line 104 of file BrewingstandEntity.h.
|
overridevirtual |
Ticks the entity; returns true if the chunk should be marked as dirty as a result of this ticking.
By default does nothing.
Reimplemented from cBlockEntity.
Definition at line 83 of file BrewingstandEntity.cpp.
|
protected |
Broadcasts progressbar updates, if needed.
Sending an update every 3th tick, using a higher value lets look the progressbar ugly
Definition at line 302 of file BrewingstandEntity.cpp.
|
overridevirtual |
Called when a player uses this entity; should open the UI window.
returns true if the use was successful, return false to use the block as a "normal" block
Implements cBlockEntity.
Definition at line 156 of file BrewingstandEntity.cpp.
|
protected |
Store the current brewing recipes.
Definition at line 128 of file BrewingstandEntity.h.
|
protected |
Set to true if the brewing stand is brewing an item.
Definition at line 122 of file BrewingstandEntity.h.
|
protected |
Set to true when the brewing stand entity has been destroyed to prevent the block being set again.
Definition at line 119 of file BrewingstandEntity.h.
|
protected |
Brewing time is 400 ticks.
Definition at line 125 of file BrewingstandEntity.h.
|
protected |
The remaining fuel for the brewing stand.
It's the amount of brewing operations that can be done.
Definition at line 137 of file BrewingstandEntity.h.
|
protected |
Result items for the bottle inputs.
Definition at line 131 of file BrewingstandEntity.h.
|
protected |
Amount of ticks that the current item has been brewed.
Definition at line 134 of file BrewingstandEntity.h.