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:
9
mod_integrations/central_message.lua
Normal file
9
mod_integrations/central_message.lua
Normal 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
|
||||
|
9
mod_integrations/inventory_plus.lua
Normal file
9
mod_integrations/inventory_plus.lua
Normal 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)
|
20
mod_integrations/mod_integrations.lua
Normal file
20
mod_integrations/mod_integrations.lua
Normal 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
|
19
mod_integrations/sfinv.lua
Normal file
19
mod_integrations/sfinv.lua
Normal 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)
|
48
mod_integrations/unified_inventory.lua
Normal file
48
mod_integrations/unified_inventory.lua
Normal 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
|
||||
})
|
Reference in New Issue
Block a user