1
0
Commit Graph

53 Commits

Author SHA1 Message Date
Tiger Wang
868cd94ee9
Prepare ChunkData for BlockState storage (#5105)
* Rename ChunkData Creatable test

* Add missing Y-check in RedstoneWireHandler

* Remove ChunkDef.h dependency in Scoreboard

* Prepare ChunkData for BlockState storage

+ Split chunk block, meta, block & sky light storage
+ Load the height map from disk
- Reduce duplicated code in ChunkData
- Remove saving MCSBiomes, there aren't any
- Remove the allocation pool, ref #4315, #3864

* fixed build

* fixed test

* fixed the debug compile

Co-authored-by: 12xx12 <44411062+12xx12@users.noreply.github.com>
2021-03-05 14:03:55 +01:00
Tiger Wang
eeb63b8901
zlib -> libdeflate (#5085)
+ Use libdeflate
+ Use std::byte
* Fix passing temporary to string_view
+ Emulate make_unique_for_overwrite
2021-01-11 16:39:43 +00:00
12xx12
e35519ec8a
Adding new monster types to enum and saving/loading for easier future implementation (#4941)
* added new monster types to enum
added string <-> enum conversion in namespace serializer
added loading functions
added to saving

* renamed zombie pigman to zombified piglins in enum

Co-authored-by: 12xx12 <12xx12100@gmail.com>
Co-authored-by: Tiger Wang <ziwei.tiger@outlook.com>
2020-11-22 23:41:13 +00:00
12xx12
f8de67aace Added end portal and enchanting table block entities 2020-09-20 01:40:20 +01:00
Tiger Wang
be121f9e80 Save enderchest block entities to storage
+ Add EnderChest saving, as Vanilla does
- Remove CreateBlockEntities. Storage should save & load everything so looping over chunk data is not needed
2020-08-28 21:40:40 +01:00
Mattes D
9ee47e5999 Using Super. 2020-04-16 20:07:48 +00:00
Bond-009
8438def87e
Add Zombie Villagers 2020-04-10 00:50:45 +01:00
Mat
60bcc06f43
Implement wither skeletons (#4563) 2020-04-04 13:44:17 +02:00
peterbell10
aac592f985
Manage block entity lifetime with unique_ptr (#4080) 2020-04-03 23:23:38 +02:00
Mattes D
01b8ed5295
Pulled the BlockID and BlockInfo headers from Globals.h. (#4591)
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
2020-04-03 08:57:01 +02:00
Mattes D
365cbc6e1c
Refactored more of Entities and BlockEntities to use Vector3. (#4403) 2019-09-29 14:59:24 +02:00
peterbell10
f4f2fc7c3d Add cUUID class (#3871) 2017-08-25 13:43:18 +01:00
Pablo Beltrán
b18f6637b6 Fully implemented leashes (#3798) 2017-08-21 10:46:41 +02:00
Lukas Pioch
743a50014a Replaced includes with forward declarations 2017-08-13 12:31:10 +01:00
Lukas Pioch
0397535fa7 Removed unused forward declarations (#3888) 2017-08-03 15:10:29 +02:00
Bond-009
6a19841121 Added basic ocelot behavior (#3829) 2017-07-12 12:42:02 +02:00
Lukas Pioch
885d828712 Added bed entity (#3823)
* Added bed entity

* Export cBedEntity to lua
* Set color of bed through item damage value
* Added bed entity to APIDoc
* NBT: Added loading and saving
* Crafting recipes for the colored beds
2017-07-07 09:31:45 +02:00
Lukas Pioch
cc3a67b9df Load entities from old and new names 2017-06-23 18:32:51 +02:00
Mattes D
99b4c2bd09 Anvil storage: load block entities from both old and new name-styles. (#3784)
* WSSAnvil: Load the sign text from JSON, too.
2017-06-21 07:47:26 +02:00
Mattes D
0dd1cd750b BlockEntities: Support cloning self. 2017-06-16 14:11:28 +02:00
peterbell10
8a890cf945 Store cChunk::m_BlockEntities in a map (#3717)
* Store block entities in a map from block index
* Cleanup ForEachBlockEntity
* Cleanup DoWithBlockEntityAt
2017-05-22 22:27:55 +02:00
Lukas Pioch
e35ac1bfb9 Clang 5.0 fixes
- Added override keyword
- Removed inherited member variables
2017-05-21 12:19:06 +02:00
LogicParrot
ca6ef58b1e Bulk clearing of whitespace 2016-02-05 23:50:18 +02:00
Lukas Pioch
9749c3aac9 Implemented brewing 2015-11-03 18:00:55 +01:00
Mattes D
d2a0c85764 Chunks that fail to load are offloaded to extra files.
Ref.: #1970
2015-07-31 08:49:23 +02:00
Tiger Wang
3d398baf35 cPainting saving implemented
Additionally, it now inherits from cHangingEntity.
2015-03-13 23:05:06 +00:00
Masy98
6e8e1c6d8d Added Rabbits 2014-12-20 10:31:34 +01:00
Masy98
c836b52dd1 Added Entity Guardian 2014-12-18 19:30:32 +01:00
planetx
a1da0e7205 Added timestamp to new files WSSAnvil 2014-12-08 08:22:40 -08:00
planetx
8f5e861674 Added Timestamp info to chunks in WSSAnvil 2014-12-07 14:44:08 -08:00
Howaner
8b028c5c78 Finished mob spawner implementation. 2014-11-18 15:33:41 +01:00
Tiger Wang
a26541a7c3 En masse NULL -> nullptr replace 2014-10-22 20:12:49 -07:00
Mattes D
22e3bbd0db Rewritten block entity loading.
Block entities are now loaded based on the blocktype at the coords they specify; before loading, their type ("id" NBT tag) is checked.
The chunk now expects that all block entities given to it via cChunk::SetAllData() have their valid blocktype; asserts if they don't.
Fixes #1354.
2014-08-29 19:19:47 +03:00
madmaxoft
3136fc6246 Wolf uses UUID for owner.
Fixes #1277.
2014-08-03 22:04:52 +02:00
Howaner
dcd226d904 Added beacon load/save. 2014-07-30 22:50:34 +02:00
madmaxoft
00c524519e Fixed style: spaces after commas. 2014-07-19 14:53:41 +02:00
madmaxoft
8e946da8ac Merge branch 'master' into potions 2014-07-15 09:01:32 +02:00
archshift
8cbd43e043 Added splash potions to NBT serialization and retrieval 2014-07-11 18:58:11 -07:00
Tiger Wang
9e44b0aae1 Implemented trapped chests & others
+ Added trapped chests
* Fixed a bunch of bugs in the redstone simulator concerning wires and
repeaters
* Other potential bugfixes
2014-07-06 23:50:22 +01:00
Mattes D
d67ea97a26 More size_t fixes. 2014-05-09 19:57:59 +02:00
Mattes D
5b54dc3eac Build fixes after the last size_t batch. 2014-05-09 19:33:22 +02:00
andrew
2e28c09770 Ender crystals 2014-03-25 20:59:33 +02:00
Howaner
7ac7304c91 Add item frame saving. 2014-03-15 02:45:25 +01:00
Howaner
28898f710b Add ExpOrb saving. 2014-03-15 00:32:49 +01:00
Howaner
f5e374be41 Add TNT Save/Load and add Netbeans projects to .gitignore 2014-03-08 10:25:46 +01:00
Howaner
787a71929c Add Flower Pots 2014-03-07 01:30:34 +01:00
TheJumper
2cc597372a Fixed Formatting, Added DropChances and CanPickUpLoot attributes to Monsters 2014-02-23 19:50:51 +01:00
Howaner
1f726b7d9d Rename SkullEntity to MobHeadEntity 2014-02-23 19:50:50 +01:00
Howaner
ab2eba17ec Add Skulls/Heads 2014-02-23 19:50:50 +01:00
andrew
be5299350a Command block (de)serialization 2014-01-18 15:40:47 +02:00