#include "PlaceBlockUpdate.h" #include "Block.h" #include "Dimension.h" PlaceBlockUpdate::PlaceBlockUpdate( Block* block, int dimensionId ) : WorldUpdate( PlaceBlockUpdateType::ID, dimensionId, block->getPos(), block->getPos() ), block( block ) {} PlaceBlockUpdate::~PlaceBlockUpdate() { block->release(); } void PlaceBlockUpdate::onUpdate( Dimension* zDimension ) { zDimension->placeBlock( dynamic_cast(block->getThis()) ); } void PlaceBlockUpdate::write( Framework::StreamWriter* zWriter ) { zWriter->schreibe( (char*)&PlaceBlockUpdateType::ID, 4 ); int id = block->zBlockType()->getId(); zWriter->schreibe( (char*)&id, 4 ); block->zBlockType()->saveBlock( block, zWriter ); } Block* PlaceBlockUpdate::zBlock() const { return block; } PlaceBlockUpdateType::PlaceBlockUpdateType() : WorldUpdateType( ID ) {}