]> git.lizzy.rs Git - minetest.git/blobdiff - src/serverobject.cpp
Fix getVisibleBrightness() to return sunlight visibility correctly even if not much...
[minetest.git] / src / serverobject.cpp
index 2a007bda5a7d8e0795cae4524cba6fbbacd01d6a..4d7f1924359bdee0889942620b8378dd5550ddcd 100644 (file)
@@ -37,11 +37,6 @@ ServerActiveObject::~ServerActiveObject()
 {
 }
 
-void ServerActiveObject::addedToEnvironment(u16 id)
-{
-       setId(id);
-}
-
 ServerActiveObject* ServerActiveObject::create(u8 type,
                ServerEnvironment *env, u16 id, v3f pos,
                const std::string &data)
@@ -71,5 +66,31 @@ void ServerActiveObject::registerType(u16 type, Factory f)
        m_types.insert(type, f);
 }
 
+ItemStack ServerActiveObject::getWieldedItem() const
+{
+       const Inventory *inv = getInventory();
+       if(inv)
+       {
+               const InventoryList *list = inv->getList(getWieldList());
+               if(list)
+                       return list->getItem(getWieldIndex());
+       }
+       return ItemStack();
+}
 
+bool ServerActiveObject::setWieldedItem(const ItemStack &item)
+{
+       Inventory *inv = getInventory();
+       if(inv)
+       {
+               InventoryList *list = inv->getList(getWieldList());
+               if (list)
+               {
+                       list->changeItem(getWieldIndex(), item);
+                       setInventoryModified();
+                       return true;
+               }
+       }
+       return false;
+}