summaryrefslogtreecommitdiffstats
path: root/tests/SchematicFileSerializer (unfollow)
Commit message (Collapse)AuthorFilesLines
2021-05-05Move item placement into item handlers (#5184)Tiger Wang1-27/+3
* Move item placement into item handlers + Add appropriate CanBeAt checks in cPlayer::PlaceBlocks, into which all placement handlers call. * Partly addresses #5157 * Fixes #4878 * Fixes #2919 * Fixes #4629 * Fixes #4239 * Fixes #4849 Co-authored-by: changyong guo <guo1487@163.com> Co-authored-by: Xotheus <shady3300@outlook.com> Co-authored-by: Krist Pregracke <krist@tiger-scm.com> * Review fixes * Update APIDesc.lua * Rename Co-authored-by: changyong guo <guo1487@163.com> Co-authored-by: Xotheus <shady3300@outlook.com> Co-authored-by: Krist Pregracke <krist@tiger-scm.com>
2021-03-28Do not fake a tool when converting to pickups (#5170)Tiger Wang1-1/+1
* When the cause of destruction was world-induced (CanBeAt check failed) there is no tool. Pass the nullptr directly to ConvertToPickups and let it handle it. * Fixes #4795 - Remove unused a_Digger parameter to ConvertToPickups.
2021-03-15Remove DoesDropOnUnsuitableTiger Wang1-9/+0
This is only overridden false in Vines and Snow. It is called when a CanBeAt check fails, to determine whether DropBlockAsPickups is called. However, Vines and Snow already drop nothing without the right tool, so this function is superfluous.
2021-01-11zlib -> libdeflate (#5085)Tiger Wang2-4/+3
+ Use libdeflate + Use std::byte * Fix passing temporary to string_view + Emulate make_unique_for_overwrite
2020-10-18cBlockInfo: further cleanup (#5001)Tiger Wang1-16/+0
* cBlockInfo: further cleanup + Use switch statements instead of lookup in dynamically initialised arrays - Remove some deprecated bindings * Update Stubs removing references to BlockInfoArray
2020-10-15Fix Android builds (#4998)Tiger Wang1-48/+48
Construct paths relative to the Cuberite sources with PROJECT_SOURCE_DIR, instead of wherever the first CMakeLists.txt file happened to be with CMAKE_SOURCE_DIR. In Android's case, the latter was in a folder called android/ but that's not the root of the source tree, so any file path built off that root was wrong. This caused file-specific warnings exclusions to fail to apply.
2020-09-25Unify block entity pickup conversionTiger Wang1-1/+1
- Removed normal BlockHandler knowledge of block entities during conversion + Added cBlockEntity::ConvertToPickups that handles it
2020-09-20BlockHandler initialisation is a constant expression (#4891)Tiger Wang1-30/+24
* BlockHandler initialisation is a constant expression If we can't make it all namespaces, this is the next best I guess. + Tag handlers constexpr, const as needed + Inherit constructors * Privatise handler functions * More constexpr Co-authored-by: Alexander Harkness <me@bearbin.net>
2020-09-17BlockHandler: no dynamic allocation (#4862)Tiger Wang1-10/+3
* BlockHandler: no dynamic allocation
2020-08-04Fixup test block handler stubsTiger Wang1-17/+1
2020-05-16Upgrade to C++17 [CMake] (#4717)Tiger Wang1-6/+1
* Make our CMake slightly less insane
2020-04-21Vector3 in Handlers (#4680)Mattes D1-4/+5
Refactored all cBlockHandler and cItemHandler descendants to use Vector3.
2020-04-17More Vector3 in cBlockHandler (#4644)Mattes D1-1/+1
* cBlockHandler.OnUpdate uses Vector3 params. Also slightly changed how block ticking works.
2020-04-03Manage block entity lifetime with unique_ptr (#4080)peterbell101-2/+2
2020-04-03Pulled the BlockID and BlockInfo headers from Globals.h. (#4591)Mattes D1-3/+2
The BlockID.h file was removed from Globals.h and renamed to BlockType.h (main change) The BlockInfo.h file was removed from Globals.h (main change) The ENUM_BLOCK_ID and ENUM_ITEM_ID enum names were replaced with ENUM_BLOCK_TYPE and ENUM_ITEM_TYPE (cosmetics) The various enums, such as eDimension, eDamageType and eExplosionSource were moved from BlockType.h to Defines.h, together with the helper functions for converting between them and strings (StringToDimension et al.) (minor) Many inline functions were moved from headers to their respective cpp files, so that BlockType.h could be included only into the cpp file, rather than the header. That broke our tests a bit, since they pick bits and pieces out of the main code and provide stubs for the rest; they had to be re-stubbed and re-verified. eMonsterType values are no longer tied to E_ITEM_SPAWN_EGG_META_* values
2019-10-16Refactored block-to-pickup conversion. (#4417)Mattes D1-21/+15
2019-09-29Refactored more of Entities and BlockEntities to use Vector3. (#4403)Mattes D1-7/+6
2019-08-26Improved testing framework. (#4376)Mattes D1-17/+5
2018-01-03Add the fmt library (#4065)peterbell101-1/+2
* Replaces AppendVPrintf with fmt::sprintf * fmt::ArgList now used as a type safe alternative to varargs. * Removed SIZE_T_FMT compatibility macros. fmt::sprintf is fully portable and supports %zu. * Adds FLOG functions to log with fmt's native formatting style.
2017-11-20cChunkInterface GetBlock, GetBlockMeta, GetBlockTypeMeta use vectors (#4050)Bond-0091-1/+1
2017-08-01cBlockHandler: take player by refpeterbell101-3/+3
2017-07-28Check for intersection between placed blocks and entities. (#3850)Lane Kolbly1-0/+14
* Check for intersection between placed blocks and entities. + Implemented GetPlacementCollisionBox, to permit custom placement collision boxes for blocks. * Factored block-entity placement checking into another function in cPlayer. - Removed vector min/max functions * Use GetWorld to get the world in DoesPlacingBlocksIntersectEntity. + Added block height checks, allow different cEntity subclasses to decide whether they will prevent block placement.
2017-07-07BigFlower fixes (#3826)peterbell101-1/+1
* BigFlowers fixes * Correct upper part meta * Documented parameters to DoesIgnoreBuildCollision
2017-07-03cBlockInfo static initialisation (#3832)peterbell101-4/+6
2017-06-24cBlockArea supports block entities. (#3795)Mattes D1-0/+35
2017-06-19Removed the LeakFinder for Windows. (#3777)Mattes D1-5/+2
2017-05-04Gen: Moved PiecePool into a separate file.Mattes D1-1/+1
Also rewritten the PieceGenerator to use std::unique_ptr.
2016-08-24Fixed type-casting-related warnings.Mattes D1-3/+1
2016-07-18CMake: Remove needless minimum version specifications.Mattes D1-2/+0
2016-06-18SelfTests: Moved SchematicFileSerializer test into a separate project.Mattes D3-0/+329