From e0707a7af6238dabe2554f14a188cf1ca993e778 Mon Sep 17 00:00:00 2001 From: "madmaxoft@gmail.com" Date: Mon, 25 Mar 2013 12:16:23 +0000 Subject: BlockArea: Implemented mirroring without meta manipulation git-svn-id: http://mc-server.googlecode.com/svn/trunk@1316 0a769ca7-a7f5-676a-18bf-c427514a06d6 --- source/BlockArea.h | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'source/BlockArea.h') diff --git a/source/BlockArea.h b/source/BlockArea.h index 94ad67e7f..7624dec23 100644 --- a/source/BlockArea.h +++ b/source/BlockArea.h @@ -149,6 +149,36 @@ public: NIBBLETYPE a_BlockLight = 0, NIBBLETYPE a_BlockSkyLight = 0x0f ); + /// Rotates the entire area clockwise around the Y axis + void RotateCW(void); + + /// Rotates the entire area counter-clockwise around the Y axis + void RotateCCW(void); + + /// Mirrors the entire area around the XY plane + void MirrorXY(void); + + /// Mirrors the entire area around the XZ plane + void MirrorXZ(void); + + /// Mirrors the entire area around the YZ plane + void MirrorYZ(void); + + /// Rotates the entire area clockwise around the Y axis, doesn't use blockhandlers for block meta + void RotateCWNoMeta(void); + + /// Rotates the entire area counter-clockwise around the Y axis, doesn't use blockhandlers for block meta + void RotateCCWNoMeta(void); + + /// Mirrors the entire area around the XY plane, doesn't use blockhandlers for block meta + void MirrorXYNoMeta(void); + + /// Mirrors the entire area around the XZ plane, doesn't use blockhandlers for block meta + void MirrorXZNoMeta(void); + + /// Mirrors the entire area around the YZ plane, doesn't use blockhandlers for block meta + void MirrorYZNoMeta(void); + // Setters: void SetRelBlockType (int a_RelX, int a_RelY, int a_RelZ, BLOCKTYPE a_BlockType); void SetBlockType (int a_BlockX, int a_BlockY, int a_BlockZ, BLOCKTYPE a_BlockType); -- cgit v1.2.3