]> git.lizzy.rs Git - minetest.git/blobdiff - src/content_inventory.cpp
Clients inform server on wielded item
[minetest.git] / src / content_inventory.cpp
index 78fa6f3d1f4bee835abff93076144d3c15f74da0..de8f8e397c06d2705efb7885439e2467e8dfcb4d 100644 (file)
@@ -49,14 +49,28 @@ std::string item_craft_get_image_name(const std::string &subname)
 {
        if(subname == "Stick")
                return "stick.png";
+       else if(subname == "paper")
+               return "paper.png";
+       else if(subname == "book")
+               return "book.png";
        else if(subname == "lump_of_coal")
                return "lump_of_coal.png";
        else if(subname == "lump_of_iron")
                return "lump_of_iron.png";
+       else if(subname == "lump_of_clay")
+               return "lump_of_clay.png";
        else if(subname == "steel_ingot")
                return "steel_ingot.png";
+       else if(subname == "clay_brick")
+               return "clay_brick.png";
        else if(subname == "rat")
                return "rat.png";
+       else if(subname == "cooked_rat")
+               return "cooked_rat.png";
+       else if(subname == "scorched_stuff")
+               return "scorched_stuff.png";
+       else if(subname == "firefly")
+               return "firefly.png";
        else
                return "cloud.png"; // just something
 }
@@ -69,13 +83,18 @@ ServerActiveObject* item_craft_create_object(const std::string &subname,
                ServerActiveObject *obj = new RatSAO(env, id, pos);
                return obj;
        }
+       else if(subname == "firefly")
+       {
+               ServerActiveObject *obj = new FireflySAO(env, id, pos);
+               return obj;
+       }
 
        return NULL;
 }
 
 s16 item_craft_get_drop_count(const std::string &subname)
 {
-       if(subname == "rat")
+       if(subname == "rat" || subname == "firefly")
                return 1;
 
        return -1;
@@ -83,7 +102,7 @@ s16 item_craft_get_drop_count(const std::string &subname)
 
 bool item_craft_is_cookable(const std::string &subname)
 {
-       if(subname == "lump_of_iron")
+       if(subname == "lump_of_iron" || subname == "lump_of_clay" || subname == "rat" || subname == "cooked_rat")
                return true;
                
        return false;
@@ -93,7 +112,28 @@ InventoryItem* item_craft_create_cook_result(const std::string &subname)
 {
        if(subname == "lump_of_iron")
                return new CraftItem("steel_ingot", 1);
+       else if(subname == "lump_of_clay")
+               return new CraftItem("clay_brick", 1);
+       else if(subname == "rat")
+               return new CraftItem("cooked_rat", 1);
+       else if(subname == "cooked_rat")
+               return new CraftItem("scorched_stuff", 1);
 
        return NULL;
 }
 
+bool item_craft_is_eatable(const std::string &subname)
+{
+       if(subname == "cooked_rat")
+               return true;
+       return false;
+}
+
+s16 item_craft_eat_hp_change(const std::string &subname)
+{
+       if(subname == "cooked_rat")
+               return 6; // 3 hearts
+       return 0;
+}
+
+