12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- #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*>(block->getThis()) );
- }
- void PlaceBlockUpdate::write( Framework::StreamWriter* zWriter )
- {
- zWriter->schreibe( (char*)&PlaceBlockUpdateType::ID, 4 );
- int dimensionID = getAffectedDimension();
- zWriter->schreibe( (char*)&dimensionID, 4 );
- auto pos = block->getPos();
- zWriter->schreibe( (char*)&pos.x, 4 );
- zWriter->schreibe( (char*)&pos.y, 4 );
- zWriter->schreibe( (char*)&pos.z, 4 );
- unsigned char id = (unsigned char)block->zBlockType()->getId();
- zWriter->schreibe( (char*)&id, 2 );
- block->zBlockType()->saveBlock( block, zWriter );
- }
- Block* PlaceBlockUpdate::zBlock() const
- {
- return block;
- }
- PlaceBlockUpdateType::PlaceBlockUpdateType()
- : WorldUpdateType( ID )
- {}
|