Refactored GetPlacementBlockTypeMeta
This commit is contained in:
parent
bed2ee22e8
commit
a13d009a30
@ -2,7 +2,6 @@
|
||||
#pragma once
|
||||
|
||||
#include "BlockEntity.h"
|
||||
#include "../World.h"
|
||||
#include "../BlockArea.h"
|
||||
#include "../Entities/Player.h"
|
||||
|
||||
|
@ -18,11 +18,11 @@ public:
|
||||
}
|
||||
|
||||
|
||||
virtual void OnUse(cWorld * a_World, cWorldInterface * a_WorldInterface, cPlayer * a_Player, int a_BlockX, int a_BlockY, int a_BlockZ, char a_BlockFace, int a_CursorX, int a_CursorY, int a_CursorZ) override
|
||||
virtual void OnUse(cChunkInterface * a_ChunkInterface, cWorldInterface * a_WorldInterface, cPlayer * a_Player, int a_BlockX, int a_BlockY, int a_BlockZ, char a_BlockFace, int a_CursorX, int a_CursorY, int a_CursorZ) override
|
||||
{
|
||||
NIBBLETYPE Meta = a_World->GetBlockMeta(a_BlockX, a_BlockY, a_BlockZ);
|
||||
NIBBLETYPE Meta = a_ChunkInterface->GetBlockMeta(a_BlockX, a_BlockY, a_BlockZ);
|
||||
Meta ^= 0x04; // Toggle 3rd (addition/subtraction) bit with XOR
|
||||
a_World->SetBlockMeta(a_BlockX, a_BlockY, a_BlockZ, Meta);
|
||||
a_ChunkInterface->SetBlockMeta(a_BlockX, a_BlockY, a_BlockZ, Meta);
|
||||
}
|
||||
|
||||
|
||||
@ -46,7 +46,7 @@ public:
|
||||
|
||||
|
||||
virtual bool GetPlacementBlockTypeMeta(
|
||||
cWorld * a_World, cPlayer * a_Player,
|
||||
cChunkInterface * a_ChunkInterface, cPlayer * a_Player,
|
||||
int a_BlockX, int a_BlockY, int a_BlockZ, char a_BlockFace,
|
||||
int a_CursorX, int a_CursorY, int a_CursorZ,
|
||||
BLOCKTYPE & a_BlockType, NIBBLETYPE & a_BlockMeta
|
||||
|
@ -244,7 +244,7 @@ cBlockHandler::cBlockHandler(BLOCKTYPE a_BlockType)
|
||||
|
||||
|
||||
bool cBlockHandler::GetPlacementBlockTypeMeta(
|
||||
cWorld * a_World, cPlayer * a_Player,
|
||||
cChunkInterface * a_ChunkInterface, cPlayer * a_Player,
|
||||
int a_BlockX, int a_BlockY, int a_BlockZ, char a_BlockFace,
|
||||
int a_CursorX, int a_CursorY, int a_CursorZ,
|
||||
BLOCKTYPE & a_BlockType, NIBBLETYPE & a_BlockMeta
|
||||
|
@ -33,7 +33,7 @@ public:
|
||||
Called by cItemHandler::GetPlacementBlockTypeMeta() if the item is a block
|
||||
*/
|
||||
virtual bool GetPlacementBlockTypeMeta(
|
||||
cWorld * a_World, cPlayer * a_Player,
|
||||
cChunkInterface * a_ChunkInterface, cPlayer * a_Player,
|
||||
int a_BlockX, int a_BlockY, int a_BlockZ, char a_BlockFace,
|
||||
int a_CursorX, int a_CursorY, int a_CursorZ,
|
||||
BLOCKTYPE & a_BlockType, NIBBLETYPE & a_BlockMeta
|
||||
|
@ -2,7 +2,6 @@
|
||||
#pragma once
|
||||
|
||||
#include "BlockEntity.h"
|
||||
#include "../World.h"
|
||||
|
||||
|
||||
|
||||
|
@ -31,12 +31,14 @@ public:
|
||||
) override
|
||||
{
|
||||
a_BlockType = (m_ItemType == E_ITEM_WOODEN_DOOR) ? E_BLOCK_WOODEN_DOOR : E_BLOCK_IRON_DOOR;
|
||||
return BlockHandler(a_BlockType)->GetPlacementBlockTypeMeta(
|
||||
a_World, a_Player,
|
||||
cChunkInterface ChunkInterface(a_World->GetChunkMap());
|
||||
bool Meta = BlockHandler(a_BlockType)->GetPlacementBlockTypeMeta(
|
||||
&ChunkInterface, a_Player,
|
||||
a_BlockX, a_BlockY, a_BlockZ, a_BlockFace,
|
||||
a_CursorX, a_CursorY, a_CursorZ,
|
||||
a_BlockType, a_BlockMeta
|
||||
);
|
||||
return Meta;
|
||||
}
|
||||
} ;
|
||||
|
||||
|
@ -465,8 +465,9 @@ bool cItemHandler::GetPlacementBlockTypeMeta(
|
||||
}
|
||||
|
||||
cBlockHandler * BlockH = BlockHandler(m_ItemType);
|
||||
cChunkInterface ChunkInterface(a_World->GetChunkMap());
|
||||
return BlockH->GetPlacementBlockTypeMeta(
|
||||
a_World, a_Player,
|
||||
&ChunkInterface, a_Player,
|
||||
a_BlockX, a_BlockY, a_BlockZ, a_BlockFace,
|
||||
a_CursorX, a_CursorY, a_CursorZ,
|
||||
a_BlockType, a_BlockMeta
|
||||
|
Loading…
Reference in New Issue
Block a user