Index: source/BlockID.cpp =================================================================== --- source/BlockID.cpp (revision 898) +++ source/BlockID.cpp (working copy) @@ -380,6 +380,7 @@ g_BlockTransparent[E_BLOCK_AIR] = true; g_BlockTransparent[E_BLOCK_BROWN_MUSHROOM] = true; g_BlockTransparent[E_BLOCK_CHEST] = true; + g_BlockTransparent[E_BLOCK_ENDER_CHEST] = true; g_BlockTransparent[E_BLOCK_COBWEB] = true; g_BlockTransparent[E_BLOCK_CROPS] = true; g_BlockTransparent[E_BLOCK_FIRE] = true; Index: source/blocks/BlockEnderchest.h =================================================================== --- source/blocks/BlockEnderchest.h (revision 0) +++ source/blocks/BlockEnderchest.h (working copy) @@ -0,0 +1,26 @@ +#pragma once +#include "BlockEntity.h" +#include "../World.h" +#include "../Piston.h" +#include "../Player.h" + +class cBlockEnderChestHandler : public cBlockEntityHandler +{ +public: + cBlockEnderChestHandler(BLOCKTYPE a_BlockID) + : cBlockEntityHandler(a_BlockID) + { + } + + virtual void PlaceBlock(cWorld *a_World, cPlayer *a_Player, NIBBLETYPE a_BlockMeta, int a_X, int a_Y, int a_Z, char a_Dir) override + { + a_World->SetBlock(a_X, a_Y, a_Z, m_BlockID, cPiston::RotationPitchToMetaData(a_Player->GetRotation(), 0)); + OnPlacedByPlayer(a_World, a_Player, a_X, a_Y, a_Z, a_Dir); + } + + virtual AString GetStepSound(void) override + { + return "step.wood"; + } + +}; Index: source/blocks/BlockHandler.cpp =================================================================== --- source/blocks/BlockHandler.cpp (revision 898) +++ source/blocks/BlockHandler.cpp (working copy) @@ -41,6 +41,7 @@ #include "BlockIce.h" #include "BlockOre.h" #include "BlockNote.h" +#include "BlockEnderchest.h" @@ -136,6 +137,8 @@ return new cBlockFurnaceHandler(a_BlockID); case E_BLOCK_CHEST: return new cBlockChestHandler(a_BlockID); + case E_BLOCK_ENDER_CHEST: + return new cBlockEnderChestHandler(a_BlockID); case E_BLOCK_ICE: return new cBlockIceHandler(a_BlockID); case E_BLOCK_LADDER: