Added in Error Handling

The /ver command now has error handling, so that it will work regardless of minetest version, and will tell the user to update the minetest version for support. 

Also updated the mod.conf to have the author field filled out. 

todo: still needs translation files.
This commit is contained in:
Michieal 2022-12-01 23:44:38 +00:00 committed by Gitea
parent dbe0437201
commit 43a69c445f
2 changed files with 25 additions and 4 deletions

View file

@ -3,10 +3,26 @@
--- Created by Michieal. --- Created by Michieal.
--- DateTime: 11/28/22 4:38 PM --- DateTime: 11/28/22 4:38 PM
--- ---
local modname = minetest.get_current_modname() local modname = minetest.get_current_modname()
local S = minetest.get_translator(modname) local S = minetest.get_translator(modname)
local function xpcall_ver (error)
minetest.log("error", error)
end
local function get_game_info ()
local game_info
if xpcall(minetest.get_game_info, xpcall_ver) then
game_info = minetest.get_game_info()
else
minetest.log( S("Sorry, but your version of Minetest doesn't support the latest API. Please upgrade your minetest."))
return false
end
return game_info
end
-- register normal user access to debug levels 1 and 0. -- register normal user access to debug levels 1 and 0.
minetest.register_chatcommand("ver", { minetest.register_chatcommand("ver", {
description = S("Display Mineclone 2 game version."), description = S("Display Mineclone 2 game version."),
@ -20,7 +36,11 @@ minetest.register_chatcommand("ver", {
path = string, path = string,
} }
--]] --]]
local game_info = minetest.get_game_info() local game_info = get_game_info ()
if game_info == false then
return true
end
if game_info.title == nil or game_info.title == "" then if game_info.title == nil or game_info.title == "" then
game_info.title = "Mineclone 2" game_info.title = "Mineclone 2"
@ -29,7 +49,7 @@ minetest.register_chatcommand("ver", {
game_info.id = "<unknown version> Please upgrade your version to the newest version for the /ver command to work." game_info.id = "<unknown version> Please upgrade your version to the newest version for the /ver command to work."
end end
minetest.chat_send_player(name, string.format("Version: %s - %s",game_info.title, game_info.id) ) minetest.chat_send_player(name, string.format("Version: %s - %s", game_info.title, game_info.id))
return true return true
end end
}) })

View file

@ -1,3 +1,4 @@
name = mcl_ver_info name = mcl_ver_info
description = Prints game version information; /ver command. description = Prints game version information; /ver command.
depends = mcl_init depends = mcl_init
author = Michieal