diff options
author | luksor111@gmail.com <luksor111@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2012-12-19 22:19:36 +0100 |
---|---|---|
committer | luksor111@gmail.com <luksor111@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2012-12-19 22:19:36 +0100 |
commit | 05d71675f69e13d8ab590a33b38ee6d0f8a77b6f (patch) | |
tree | 97453620e42516f0e6da1e969397e14becdc15b4 /source/WorldStorage/WSSCompact.cpp | |
parent | Implemented double doors (diff) | |
download | cuberite-05d71675f69e13d8ab590a33b38ee6d0f8a77b6f.tar cuberite-05d71675f69e13d8ab590a33b38ee6d0f8a77b6f.tar.gz cuberite-05d71675f69e13d8ab590a33b38ee6d0f8a77b6f.tar.bz2 cuberite-05d71675f69e13d8ab590a33b38ee6d0f8a77b6f.tar.lz cuberite-05d71675f69e13d8ab590a33b38ee6d0f8a77b6f.tar.xz cuberite-05d71675f69e13d8ab590a33b38ee6d0f8a77b6f.tar.zst cuberite-05d71675f69e13d8ab590a33b38ee6d0f8a77b6f.zip |
Diffstat (limited to 'source/WorldStorage/WSSCompact.cpp')
-rw-r--r-- | source/WorldStorage/WSSCompact.cpp | 34 |
1 files changed, 28 insertions, 6 deletions
diff --git a/source/WorldStorage/WSSCompact.cpp b/source/WorldStorage/WSSCompact.cpp index 22e25eb6f..87cf1d930 100644 --- a/source/WorldStorage/WSSCompact.cpp +++ b/source/WorldStorage/WSSCompact.cpp @@ -11,6 +11,7 @@ #include "../StringCompression.h" #include "../ChestEntity.h" #include "../SignEntity.h" +#include "../DispenserEntity.h" #include "../FurnaceEntity.h" #include "../NoteEntity.h" #include "../JukeboxEntity.h" @@ -71,12 +72,13 @@ void cJsonChunkSerializer::BlockEntity(cBlockEntity * a_BlockEntity) const char * SaveInto = NULL; switch (a_BlockEntity->GetBlockType()) { - case E_BLOCK_CHEST: SaveInto = "Chests"; break; - case E_BLOCK_FURNACE: SaveInto = "Furnaces"; break; - case E_BLOCK_SIGN_POST: SaveInto = "Signs"; break; - case E_BLOCK_WALLSIGN: SaveInto = "Signs"; break; - case E_BLOCK_NOTE_BLOCK: SaveInto = "Notes"; break; - case E_BLOCK_JUKEBOX: SaveInto = "Jukeboxes"; break; + case E_BLOCK_CHEST: SaveInto = "Chests"; break; + case E_BLOCK_DISPENSER: SaveInto = "Dispensers"; break; + case E_BLOCK_FURNACE: SaveInto = "Furnaces"; break; + case E_BLOCK_SIGN_POST: SaveInto = "Signs"; break; + case E_BLOCK_WALLSIGN: SaveInto = "Signs"; break; + case E_BLOCK_NOTE_BLOCK: SaveInto = "Notes"; break; + case E_BLOCK_JUKEBOX: SaveInto = "Jukeboxes"; break; default: { @@ -281,6 +283,26 @@ void cWSSCompact::LoadEntitiesFromJson(Json::Value & a_Value, cEntityList & a_En } // for itr - AllChests[] } + // Load dispensers + Json::Value AllDispensers = a_Value.get("Dispensers", Json::nullValue); + if( !AllDispensers.empty() ) + { + for( Json::Value::iterator itr = AllDispensers.begin(); itr != AllDispensers.end(); ++itr ) + { + Json::Value & Dispenser = *itr; + cDispenserEntity * DispenserEntity = new cDispenserEntity(0,0,0, a_World); + if( !DispenserEntity->LoadFromJson( Dispenser ) ) + { + LOGERROR("ERROR READING DISPENSER FROM JSON!" ); + delete DispenserEntity; + } + else + { + a_BlockEntities.push_back( DispenserEntity ); + } + } // for itr - AllDispensers[] + } + // Load furnaces Json::Value AllFurnaces = a_Value.get("Furnaces", Json::nullValue); if( !AllFurnaces.empty() ) |