1
0
mirror of https://github.com/MinetestForFun/quests.git synced 2025-06-29 23:10:30 +02:00

Code cleanup and quality updates (#1)

This commit is contained in:
DomtronVox
2020-05-05 14:32:22 -04:00
committed by GitHub
parent 765e34bfe5
commit 78ab6d7bc0
15 changed files with 105 additions and 116 deletions

View File

@ -0,0 +1,9 @@
function quests.show_message(t, playername, text)
if (quests.hud[playername].central_message_enabled) then
local player = minetest.get_player_by_name(playername)
cmsg.push_message_player(player, text, quests.colors[t])
minetest.sound_play("quests_" .. t, {to_player = playername})
end
end

View File

@ -0,0 +1,9 @@
minetest.register_on_joinplayer(function(player)
inventory_plus.register_button(player, "quests")
end)
minetest.register_on_player_receive_fields(function(player, formname, fields)
if (fields.quests) then
quests.show_formspec(player:get_player_name())
end
end)

View File

@ -0,0 +1,20 @@
-- support for several inventory mods
if minetest.get_modpath("unified_inventory") then
dofile(minetest.get_modpath("quests") .. "/mod_integrations/unified_inventory.lua")
end
if minetest.get_modpath("inventory_plus") then
dofile(minetest.get_modpath("quests") .. "/mod_integrations/inventory_plus.lua")
end
if minetest.global_exists("sfinv") then
dofile(minetest.get_modpath("quests") .. "/mod_integrations/sfinv.lua")
end
-- mod that displays notifications in the screen's center
if minetest.get_modpath("central_message") then
dofile(minetest.get_modpath("quests") .. "/mod_integrations/central_message.lua")
else -- define blank function so we can still use this in the code later
function quests.show_message(...) end
end

View File

@ -0,0 +1,19 @@
assert(sfinv.enabled, "Please enable sfinv in order to use it.")
local old_func = sfinv.pages["sfinv:crafting"].get
sfinv.override_page("sfinv:crafting", {
get = function(self, player, context)
local fs = old_func(self, player, context)
return fs .. "image_button[0,0;1,1;inventory_plus_quests.png;quests;]"
end
})
minetest.register_on_player_receive_fields(function(player, formname, fields)
if fields.quests then
quests.show_formspec(player:get_player_name())
return true
elseif fields.quests_exit then
sfinv.set_page(player, "sfinv:crafting")
return true
end
return false
end)

View File

@ -0,0 +1,48 @@
unified_inventory.register_button("quests", {
type = "image",
image = "inventory_plus_quests.png",
tooltip = "Show the questlog",
-- action = function(player)
-- quests.show_formspec(player:get_player_name())
-- end
})
unified_inventory.register_page("quests", {
get_formspec = function(player)
local playername = player:get_player_name()
local formspec = quests.create_formspec(playername, "1", true)
return {formspec = formspec, draw_inventory=false}
end
})
unified_inventory.register_page("quests_successfull", {
get_formspec = function(player)
local playername = player:get_player_name()
local formspec = quests.create_formspec(playername, "2", true)
return {formspec = formspec, draw_inventory=false}
end
})
unified_inventory.register_page("quests_failed", {
get_formspec = function(player)
local playername = player:get_player_name()
local formspec = quests.create_formspec(playername, "3", true)
return {formspec = formspec, draw_inventory=false}
end
})
unified_inventory.register_page("quests_config", {
get_formspec = function(player)
local playername = player:get_player_name()
local formspec = quests.create_config(playername, true)
return {formspec = formspec, draw_inventory = false }
end
})
unified_inventory.register_page("quests_info", {
get_formspec = function(player)
local playername = player:get_player_name()
local formspec = quests.create_info(playername, quests.formspec_lists[playername].list[quests.formspec_lists[playername].id],
quests.formspec_lists[playername].taskid, true)
return {formspec = formspec, draw_inventory = false }
end
})