code tweak and tidy

This commit is contained in:
tenplus1 2020-08-26 09:56:28 +01:00
parent 8e6b2244a2
commit 72f7c161e0
2 changed files with 23 additions and 22 deletions

View File

@ -1,11 +1,13 @@
-- Load support for intllib.
local MP = minetest.get_modpath(minetest.get_current_modname())
local S, NS = dofile(MP .. "/intllib.lua")
local S = minetest.get_translator and minetest.get_translator("inventory_plus") or
dofile(MP .. "/intllib.lua")
-- static spawn position
local statspawn = minetest.string_to_pos(minetest.settings:get("static_spawnpoint"))
or {x = 0, y = 12, z = 0}
local home_gui = {}
-- get_formspec
@ -33,21 +35,26 @@ end
-- add inventory_plus page when player joins
minetest.register_on_joinplayer(function(player)
inventory_plus.register_button(player,"home_gui",S("Home Pos"))
inventory_plus.register_button(player, "home_gui", S("Home Pos"))
end)
-- what to do when we press da buttons
minetest.register_on_player_receive_fields(function(player, formname, fields)
local privs = minetest.get_player_privs(player:get_player_name()).home
if privs and fields.home_gui_set then
sethome.set( player:get_player_name(), player:get_pos() )
sethome.set(player:get_player_name(), player:get_pos())
end
if privs and fields.home_gui_go then
sethome.go( player:get_player_name() )
sethome.go(player:get_player_name())
end
if privs and fields.home_gui_spawn then
player:set_pos(statspawn)
end
if fields.home_gui or fields.home_gui_set or fields.home_gui_go then
inventory_plus.set_inventory_formspec(player, home_gui.get_formspec(player))
end

View File

@ -6,7 +6,7 @@ Copyright (c) 2012 cornernote, Brett O'Donnell <cornernote@gmail.com>
Source Code: https://github.com/cornernote/minetest-inventory_plus
License: BSD-3-Clause https://raw.github.com/cornernote/minetest-inventory_plus/master/LICENSE
Edited by TenPlus1 (19th October 2016)
Edited by TenPlus1 (26th August 2020)
]]--
@ -59,7 +59,7 @@ inventory_plus.set_inventory_formspec = function(player, formspec)
end
-- short pause before setting inventory
minetest.after(0.01, function()
minetest.after(0.02, function()
player:set_inventory_formspec(formspec)
end)
end
@ -77,16 +77,10 @@ trashInv:set_size("main", 1)
-- get_formspec
inventory_plus.get_formspec = function(player, page)
if not player then
if not player or not page then
return
end
-- creative page
if page == "creative" then
return player:get_inventory_formspec() .. addition
end
-- default inventory page
local formspec = "size[8,7.5]"
.. default.gui_bg
@ -120,7 +114,7 @@ inventory_plus.get_formspec = function(player, page)
local num = 0
-- count buttons
for k, v in pairs( inventory_plus.buttons[name] ) do
for k, v in pairs(inventory_plus.buttons[name]) do
num = num + 1
end
@ -129,7 +123,7 @@ inventory_plus.get_formspec = function(player, page)
local f = math.ceil(num / 4)
local y = (2.5 / 2) / f
for k, v in pairs( inventory_plus.buttons[name] ) do
for k, v in pairs(inventory_plus.buttons[name]) do
formspec = formspec .. "button[" .. x .. ","
.. y .. ";2,0.5;" .. k .. ";" .. v .. "]"
@ -149,11 +143,11 @@ end
-- register_on_joinplayer
minetest.register_on_joinplayer(function(player)
inventory_plus.register_button(player,"craft", S("Craft"))
inventory_plus.register_button(player, "invplus_craft", S("Craft"))
if minetest.settings:get_bool("creative_mode")
or minetest.check_player_privs(player:get_player_name(), {creative = true}) then
inventory_plus.register_button(player, "creative_prev", S("Creative"))
inventory_plus.register_button(player, "invplus_creative", S("Creative"))
end
minetest.after(1, function()
@ -176,7 +170,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
end
-- craft
if fields.craft then
if fields.invplus_craft then
inventory_plus.set_inventory_formspec(player,
inventory_plus.get_formspec(player, "craft"))
@ -188,10 +182,10 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
if fields.creative_prev
or fields.creative_next then
minetest.after(0.1, function()
minetest.after(0.2, function()
inventory_plus.set_inventory_formspec(player,
inventory_plus.get_formspec(player, "creative"))
player:get_inventory_formspec() .. addition)
end)
return
@ -211,11 +205,11 @@ end
if minetest.get_modpath("craftguide") then
minetest.register_on_joinplayer(function(player)
inventory_plus.register_button(player, "craftguide", S("Craftguide"))
inventory_plus.register_button(player, "invplus_craftguide", S("Craftguide"))
end)
minetest.register_on_player_receive_fields(function(player, formname, fields)
if fields.craftguide then
if fields.invplus_craftguide then
inventory_plus.set_inventory_formspec(player,
craftguide.show(player:get_player_name(), "default:wood", true))
end