commit
62629825ce
55
src/Blocks/BlockCake.h
Normal file
55
src/Blocks/BlockCake.h
Normal file
@ -0,0 +1,55 @@
|
||||
#pragma once
|
||||
|
||||
#include "BlockHandler.h"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
class cBlockCakeHandler :
|
||||
public cBlockHandler
|
||||
{
|
||||
public:
|
||||
cBlockCakeHandler(BLOCKTYPE a_BlockType)
|
||||
: cBlockHandler(a_BlockType)
|
||||
{
|
||||
}
|
||||
|
||||
virtual void OnUse(cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, cPlayer * a_Player, int a_BlockX, int a_BlockY, int a_BlockZ, eBlockFace a_BlockFace, int a_CursorX, int a_CursorY, int a_CursorZ) override
|
||||
{
|
||||
NIBBLETYPE Meta = a_ChunkInterface.GetBlockMeta(a_BlockX, a_BlockY, a_BlockZ);
|
||||
|
||||
if (!a_Player->Feed(2, 0.1))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (Meta >= 5)
|
||||
{
|
||||
a_ChunkInterface.FastSetBlock(a_BlockX, a_BlockY, a_BlockZ, E_BLOCK_AIR, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
a_ChunkInterface.SetBlockMeta(a_BlockX, a_BlockY, a_BlockZ, Meta + 1);
|
||||
}
|
||||
}
|
||||
|
||||
virtual void ConvertToPickups(cItems & a_Pickups, NIBBLETYPE a_BlockMeta) override
|
||||
{
|
||||
// Give nothing
|
||||
}
|
||||
|
||||
virtual bool IsUseable(void) override
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
virtual const char * GetStepSound(void) override
|
||||
{
|
||||
return "step.cloth";
|
||||
}
|
||||
} ;
|
||||
|
||||
|
||||
|
||||
|
@ -10,6 +10,7 @@
|
||||
#include "BlockBrewingStand.h"
|
||||
#include "BlockButton.h"
|
||||
#include "BlockCactus.h"
|
||||
#include "BlockCake.h"
|
||||
#include "BlockCarpet.h"
|
||||
#include "BlockCauldron.h"
|
||||
#include "BlockChest.h"
|
||||
@ -91,6 +92,7 @@ cBlockHandler * cBlockHandler::CreateBlockHandler(BLOCKTYPE a_BlockType)
|
||||
case E_BLOCK_BRICK_STAIRS: return new cBlockStairsHandler (a_BlockType);
|
||||
case E_BLOCK_BROWN_MUSHROOM: return new cBlockMushroomHandler (a_BlockType);
|
||||
case E_BLOCK_CACTUS: return new cBlockCactusHandler (a_BlockType);
|
||||
case E_BLOCK_CAKE: return new cBlockCakeHandler (a_BlockType);
|
||||
case E_BLOCK_CARROTS: return new cBlockCropsHandler (a_BlockType);
|
||||
case E_BLOCK_CARPET: return new cBlockCarpetHandler (a_BlockType);
|
||||
case E_BLOCK_CAULDRON: return new cBlockCauldronHandler (a_BlockType);
|
||||
|
41
src/Items/ItemCake.h
Normal file
41
src/Items/ItemCake.h
Normal file
@ -0,0 +1,41 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "ItemHandler.h"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
class cItemCakeHandler :
|
||||
public cItemHandler
|
||||
{
|
||||
public:
|
||||
cItemCakeHandler(int a_ItemType) :
|
||||
cItemHandler(a_ItemType)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
virtual bool IsPlaceable(void) override
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
virtual bool GetPlacementBlockTypeMeta(
|
||||
cWorld * a_World, cPlayer * a_Player,
|
||||
int a_BlockX, int a_BlockY, int a_BlockZ, eBlockFace a_BlockFace,
|
||||
int a_CursorX, int a_CursorY, int a_CursorZ,
|
||||
BLOCKTYPE & a_BlockType, NIBBLETYPE & a_BlockMeta
|
||||
) override
|
||||
{
|
||||
a_BlockType = E_BLOCK_CAKE;
|
||||
a_BlockMeta = 0;
|
||||
return true;
|
||||
}
|
||||
} ;
|
||||
|
||||
|
||||
|
||||
|
@ -13,6 +13,7 @@
|
||||
#include "ItemBow.h"
|
||||
#include "ItemBrewingStand.h"
|
||||
#include "ItemBucket.h"
|
||||
#include "ItemCake.h"
|
||||
#include "ItemCauldron.h"
|
||||
#include "ItemCloth.h"
|
||||
#include "ItemComparator.h"
|
||||
@ -101,6 +102,7 @@ cItemHandler *cItemHandler::CreateItemHandler(int a_ItemType)
|
||||
case E_ITEM_BOTTLE_O_ENCHANTING: return new cItemBottleOEnchantingHandler();
|
||||
case E_ITEM_BOW: return new cItemBowHandler;
|
||||
case E_ITEM_BREWING_STAND: return new cItemBrewingStandHandler(a_ItemType);
|
||||
case E_ITEM_CAKE: return new cItemCakeHandler(a_ItemType);
|
||||
case E_ITEM_CAULDRON: return new cItemCauldronHandler(a_ItemType);
|
||||
case E_ITEM_COMPARATOR: return new cItemComparatorHandler(a_ItemType);
|
||||
case E_ITEM_DYE: return new cItemDyeHandler(a_ItemType);
|
||||
@ -337,6 +339,7 @@ char cItemHandler::GetMaxStackSize(void)
|
||||
case E_ITEM_BREWING_STAND: return 64;
|
||||
case E_ITEM_BUCKET: return 16;
|
||||
case E_ITEM_CARROT: return 64;
|
||||
case E_ITEM_CAKE: return 1;
|
||||
case E_ITEM_CAULDRON: return 64;
|
||||
case E_ITEM_CLAY: return 64;
|
||||
case E_ITEM_CLAY_BRICK: return 64;
|
||||
|
Loading…
Reference in New Issue
Block a user