From f32b5aafe824ab1d865ea0df8698ce45ccd1ca8b Mon Sep 17 00:00:00 2001 From: "admin@omencraft.com" Date: Sat, 5 Nov 2011 18:28:19 +0000 Subject: Added all the items up to Beta 1.9.5. Added pistons and piston class. git-svn-id: http://mc-server.googlecode.com/svn/trunk@63 0a769ca7-a7f5-676a-18bf-c427514a06d6 --- source/cPiston.cpp | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 source/cPiston.cpp (limited to 'source/cPiston.cpp') diff --git a/source/cPiston.cpp b/source/cPiston.cpp new file mode 100644 index 000000000..966c96c5b --- /dev/null +++ b/source/cPiston.cpp @@ -0,0 +1,50 @@ +#include "cPiston.h" +#include "cRoot.h" +#include "cWorld.h" +#include "BlockID.h" + +cPiston::cPiston( cWorld* a_World ) + :m_World ( a_World ) +{ + +} +//Todo: All piston stuff below. +void cPiston::ExtendPiston( int pistx, int pisty, int pistz ) +{ + cWorld* World = cRoot::Get()->GetWorld(); + char metadata = World->GetBlockMeta( pistx, pisty, pistz); + + + if ( ( (int)World->GetBlock( pistx, pisty, pistz ) == E_BLOCK_STICKY_PISTON ) || ( (int)World->GetBlock( pistx, pisty, pistz ) == E_BLOCK_PISTON ) ) { + //find direction piston is facing base on meta. + //verify piston is not already extended. + //check all 16 blocks in front of it for the first airblock + //if there's and air block move those found blocks by 1 and insert E_BLOCK_PISTON_EXTENSION in the spot infront of the piston facing right direction + + } + +} + +void cPiston::RetractPiston( int pistx, int pisty, int pistz ) +{ + cWorld* World = cRoot::Get()->GetWorld(); + char metadata = World->GetBlockMeta( pistx, pisty, pistz); + + if ( (int)World->GetBlock( pistx, pisty, pistz ) == E_BLOCK_PISTON ) { + //find direction piston is facing base on meta. + //verify piston is extended. + //check block in front to see if it's an E_BLOCK_PISTON_EXTENSION + //delete that block + //set piston meta to unextended + } + + if ( (int)World->GetBlock( pistx, pisty, pistz ) == E_BLOCK_STICKY_PISTON ) { + //find direction piston is facing base on meta. + //verify piston is extended. + //check block in front to see if it's an E_BLOCK_PISTON_EXTENSION + //delete that block + //move block one more in front of it to postion E_BLOCK_PISTON_EXTENSION was facing. + //set piston meta to unextended + } + +} -- cgit v1.2.3