mirror of
https://github.com/minetest/minetest_game.git
synced 2024-11-09 19:50:40 +01:00
96 lines
3.0 KiB
Lua
96 lines
3.0 KiB
Lua
-- Minetest 0.4 mod: default
|
|
-- See README.txt for licensing and other information.
|
|
|
|
-- The API documentation in here was moved into game_api.txt
|
|
|
|
-- Load support for MT game translation.
|
|
local S = minetest.get_translator("default")
|
|
|
|
-- Definitions made by this mod that other mods can use too
|
|
default = {}
|
|
|
|
default.LIGHT_MAX = 14
|
|
default.get_translator = S
|
|
|
|
-- Check for engine features required by MTG
|
|
-- This provides clear error behaviour when MTG is newer than the installed engine
|
|
-- and avoids obscure, hard to debug runtime errors.
|
|
-- This section should be updated before release and older checks can be dropped
|
|
-- when newer ones are introduced.
|
|
if ItemStack("").add_wear_by_uses == nil then
|
|
error("\nThis version of Minetest Game is incompatible with your engine version "..
|
|
"(which is too old). You should download a version of Minetest Game that "..
|
|
"matches the installed engine version.\n")
|
|
end
|
|
|
|
-- GUI related stuff
|
|
minetest.register_on_joinplayer(function(player)
|
|
-- Set formspec prepend
|
|
local formspec = [[
|
|
bgcolor[#080808BB;true]
|
|
listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF] ]]
|
|
local name = player:get_player_name()
|
|
local info = minetest.get_player_information(name)
|
|
if info.formspec_version > 1 then
|
|
formspec = formspec .. "background9[5,5;1,1;gui_formbg.png;true;10]"
|
|
else
|
|
formspec = formspec .. "background[5,5;1,1;gui_formbg.png;true]"
|
|
end
|
|
player:set_formspec_prepend(formspec)
|
|
|
|
-- Set hotbar textures
|
|
player:hud_set_hotbar_image("gui_hotbar.png")
|
|
player:hud_set_hotbar_selected_image("gui_hotbar_selected.png")
|
|
end)
|
|
|
|
function default.get_hotbar_bg(x,y)
|
|
local out = ""
|
|
for i=0,7,1 do
|
|
out = out .."image["..x+i..","..y..";1,1;gui_hb_bg.png]"
|
|
end
|
|
return out
|
|
end
|
|
|
|
default.gui_survival_form = "size[8,8.5]"..
|
|
"list[current_player;main;0,4.25;8,1;]"..
|
|
"list[current_player;main;0,5.5;8,3;8]"..
|
|
"list[current_player;craft;1.75,0.5;3,3;]"..
|
|
"list[current_player;craftpreview;5.75,1.5;1,1;]"..
|
|
"image[4.75,1.5;1,1;gui_furnace_arrow_bg.png^[transformR270]"..
|
|
"listring[current_player;main]"..
|
|
"listring[current_player;craft]"..
|
|
default.get_hotbar_bg(0,4.25)
|
|
|
|
-- Load files
|
|
local default_path = minetest.get_modpath("default")
|
|
|
|
dofile(default_path.."/functions.lua")
|
|
dofile(default_path.."/trees.lua")
|
|
dofile(default_path.."/nodes.lua")
|
|
dofile(default_path.."/chests.lua")
|
|
dofile(default_path.."/furnace.lua")
|
|
dofile(default_path.."/torch.lua")
|
|
dofile(default_path.."/tools.lua")
|
|
dofile(default_path.."/item_entity.lua")
|
|
dofile(default_path.."/craftitems.lua")
|
|
dofile(default_path.."/crafting.lua")
|
|
dofile(default_path.."/mapgen.lua")
|
|
dofile(default_path.."/aliases.lua")
|
|
dofile(default_path.."/legacy.lua")
|
|
|
|
-- Smoke test that is run via ./util/test/run.sh
|
|
if minetest.settings:get_bool("minetest_game_smoke_test") then
|
|
minetest.after(0, function()
|
|
minetest.emerge_area(vector.new(0, 0, 0), vector.new(32, 32, 32))
|
|
local pos = vector.new(9, 9, 9)
|
|
local function check()
|
|
if minetest.get_node(pos).name ~= "ignore" then
|
|
minetest.request_shutdown()
|
|
return
|
|
end
|
|
minetest.after(0, check)
|
|
end
|
|
check()
|
|
end)
|
|
end
|