From 5c0e659516857733d968707490b16bcf62f33c92 Mon Sep 17 00:00:00 2001
From: SmallJoker <mk939@ymail.com>
Date: Sat, 30 Jul 2016 12:50:22 +0200
Subject: [PATCH] Script API: Make the craft recipe field 'method' consistent

---
 src/script/lua_api/l_craft.cpp | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/src/script/lua_api/l_craft.cpp b/src/script/lua_api/l_craft.cpp
index d135c689f..2236566de 100644
--- a/src/script/lua_api/l_craft.cpp
+++ b/src/script/lua_api/l_craft.cpp
@@ -422,20 +422,28 @@ static void push_craft_recipe(lua_State *L, IGameDef *gdef,
 	}
 	lua_setfield(L, -2, "items");
 	setintfield(L, -1, "width", input.width);
+
+	std::string method_s;
 	switch (input.method) {
 	case CRAFT_METHOD_NORMAL:
-		lua_pushstring(L, "normal");
+		method_s = "normal";
 		break;
 	case CRAFT_METHOD_COOKING:
-		lua_pushstring(L, "cooking");
+		method_s = "cooking";
 		break;
 	case CRAFT_METHOD_FUEL:
-		lua_pushstring(L, "fuel");
+		method_s = "fuel";
 		break;
 	default:
-		lua_pushstring(L, "unknown");
+		method_s = "unknown";
 	}
+	lua_pushstring(L, method_s.c_str());
+	lua_setfield(L, -2, "method");
+
+	// Deprecated, only for compatibility's sake
+	lua_pushstring(L, method_s.c_str());
 	lua_setfield(L, -2, "type");
+
 	lua_pushstring(L, output.item.c_str());
 	lua_setfield(L, -2, "output");
 }
-- 
GitLab