d92509a6e7
+ Use player position when placing blocks which can face up or down, seems to better correspond to Vanilla behaviour. * Fixes #4651
27 lines
599 B
C++
27 lines
599 B
C++
|
|
#pragma once
|
|
|
|
#include "ItemHandler.h"
|
|
#include "Blocks/BlockPiston.h"
|
|
|
|
|
|
|
|
|
|
|
|
class cItemPistonHandler :
|
|
public cItemHandler
|
|
{
|
|
using Super = cItemHandler;
|
|
|
|
public:
|
|
|
|
using Super::Super;
|
|
|
|
private:
|
|
|
|
virtual bool CommitPlacement(cPlayer & a_Player, const cItem & a_HeldItem, const Vector3i a_PlacePosition, const eBlockFace a_ClickedBlockFace, const Vector3i a_CursorPosition) override
|
|
{
|
|
return a_Player.PlaceBlock(a_PlacePosition, static_cast<BLOCKTYPE>(a_HeldItem.m_ItemType), cBlockPistonHandler::DisplacementYawToMetaData(a_PlacePosition, a_Player.GetEyePosition(), a_Player.GetYaw()));
|
|
}
|
|
};
|