PlaceBlockUpdate.h 658 B

123456789101112131415161718192021222324252627282930
  1. #pragma once
  2. #include <Either.h>
  3. #include <Vec3.h>
  4. #include "WorldUpdate.h"
  5. class Block;
  6. class PlaceBlockUpdate : public WorldUpdate
  7. {
  8. private:
  9. Framework::Either<Block*, int> block;
  10. public:
  11. PlaceBlockUpdate( Framework::Either<Block*, int> block, Framework::Vec3<int> location, int dimensionId );
  12. ~PlaceBlockUpdate();
  13. void onUpdate( Dimension* zDimension ) override;
  14. void write( Framework::StreamWriter* zWriter ) override;
  15. Block* zBlock() const;
  16. };
  17. class PlaceBlockUpdateType : WorldUpdateType
  18. {
  19. REGISTRABLE( PlaceBlockUpdateType )
  20. protected:
  21. PlaceBlockUpdateType();
  22. };
  23. REGISTER( PlaceBlockUpdateType, WorldUpdateType )