diff options
Diffstat (limited to 'src/content_nodemeta.cpp')
-rw-r--r-- | src/content_nodemeta.cpp | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/src/content_nodemeta.cpp b/src/content_nodemeta.cpp index 25ad3f0fd..72be1df39 100644 --- a/src/content_nodemeta.cpp +++ b/src/content_nodemeta.cpp @@ -38,7 +38,7 @@ SignNodeMetadata::SignNodeMetadata(IGameDef *gamedef, std::string text): NodeMetadata(gamedef), m_text(text) { - NodeMetadata::registerType(typeId(), typeName(), create); + NodeMetadata::registerType(typeId(), typeName(), create, create); } u16 SignNodeMetadata::typeId() const { @@ -49,6 +49,10 @@ NodeMetadata* SignNodeMetadata::create(std::istream &is, IGameDef *gamedef) std::string text = deSerializeString(is); return new SignNodeMetadata(gamedef, text); } +NodeMetadata* SignNodeMetadata::create(IGameDef *gamedef) +{ + return new SignNodeMetadata(gamedef, ""); +} NodeMetadata* SignNodeMetadata::clone(IGameDef *gamedef) { return new SignNodeMetadata(gamedef, m_text); @@ -72,7 +76,7 @@ ChestNodeMetadata proto_ChestNodeMetadata(NULL); ChestNodeMetadata::ChestNodeMetadata(IGameDef *gamedef): NodeMetadata(gamedef) { - NodeMetadata::registerType(typeId(), typeName(), create); + NodeMetadata::registerType(typeId(), typeName(), create, create); m_inventory = new Inventory(); m_inventory->addList("0", 8*4); @@ -91,6 +95,11 @@ NodeMetadata* ChestNodeMetadata::create(std::istream &is, IGameDef *gamedef) d->m_inventory->deSerialize(is, gamedef); return d; } +NodeMetadata* ChestNodeMetadata::create(IGameDef *gamedef) +{ + ChestNodeMetadata *d = new ChestNodeMetadata(gamedef); + return d; +} NodeMetadata* ChestNodeMetadata::clone(IGameDef *gamedef) { ChestNodeMetadata *d = new ChestNodeMetadata(gamedef); @@ -135,7 +144,7 @@ LockingChestNodeMetadata proto_LockingChestNodeMetadata(NULL); LockingChestNodeMetadata::LockingChestNodeMetadata(IGameDef *gamedef): NodeMetadata(gamedef) { - NodeMetadata::registerType(typeId(), typeName(), create); + NodeMetadata::registerType(typeId(), typeName(), create, create); m_inventory = new Inventory(); m_inventory->addList("0", 8*4); @@ -155,6 +164,11 @@ NodeMetadata* LockingChestNodeMetadata::create(std::istream &is, IGameDef *gamed d->m_inventory->deSerialize(is, gamedef); return d; } +NodeMetadata* LockingChestNodeMetadata::create(IGameDef *gamedef) +{ + LockingChestNodeMetadata *d = new LockingChestNodeMetadata(gamedef); + return d; +} NodeMetadata* LockingChestNodeMetadata::clone(IGameDef *gamedef) { LockingChestNodeMetadata *d = new LockingChestNodeMetadata(gamedef); @@ -200,7 +214,7 @@ FurnaceNodeMetadata proto_FurnaceNodeMetadata(NULL); FurnaceNodeMetadata::FurnaceNodeMetadata(IGameDef *gamedef): NodeMetadata(gamedef) { - NodeMetadata::registerType(typeId(), typeName(), create); + NodeMetadata::registerType(typeId(), typeName(), create, create); m_inventory = new Inventory(); m_inventory->addList("fuel", 1); @@ -241,6 +255,11 @@ NodeMetadata* FurnaceNodeMetadata::create(std::istream &is, IGameDef *gamedef) return d; } +NodeMetadata* FurnaceNodeMetadata::create(IGameDef *gamedef) +{ + FurnaceNodeMetadata *d = new FurnaceNodeMetadata(gamedef); + return d; +} void FurnaceNodeMetadata::serializeBody(std::ostream &os) { m_inventory->serialize(os); |