Reorganize code in separate files

master
Wuzzy 2020-08-27 23:08:58 +02:00
parent a94fb01568
commit cad42eedda
4 changed files with 63 additions and 47 deletions

15
command.lua Normal file
View File

@ -0,0 +1,15 @@
local S
if minetest.get_translator then
S = minetest.get_translator("calendar")
else
S = function(s) return s end
end
minetest.register_chatcommand("calendar", {
param = "",
description = S("Display calendar"),
func = function( name, param )
calendar.show_calendar(name)
end,
})

47
gui.lua
View File

@ -174,50 +174,3 @@ minetest.register_on_leaveplayer(function(player)
player_current_calendars[name] = nil
end)
minetest.register_chatcommand("calendar", {
param = "",
description = S("Display calendar"),
func = function( name, param )
calendar.show_calendar(name, DEFAULT_SETTINGS)
end,
})
minetest.register_node("calendar:calendar", {
drawtype = "signlike",
description = S("Calendar"),
tiles = { "calendar_calendar.png" },
inventory_image = "calendar_calendar.png",
wield_image = "calendar_calendar.png",
paramtype = "light",
paramtype2 = "wallmounted",
is_ground_content = false,
walkable = false,
groups = { dig_immediate = 2, attached_node = 1, },
selection_box = {
type = "wallmounted",
},
on_construct = function(pos)
local meta = minetest.get_meta(pos)
meta:set_string("infotext", S("Calendar"))
end,
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
if not clicker:is_player() then
return itemstack
end
calendar.show_calendar(clicker:get_player_name(), DEFAULT_SETTINGS)
return itemstack
end,
})
if minetest.get_modpath("default") and minetest.get_modpath("dye") then
minetest.register_craft({
output = "calendar:calendar",
recipe = {
{ "default:paper","default:paper","default:paper" },
{ "default:paper","dye:black","default:paper" },
{ "default:paper","default:paper","default:paper" },
},
})
end

View File

@ -119,3 +119,5 @@ calendar.get_date_string = function( str, env_date )
end
dofile(minetest.get_modpath("calendar").."/gui.lua")
dofile(minetest.get_modpath("calendar").."/command.lua")
dofile(minetest.get_modpath("calendar").."/node.lua")

46
node.lua Normal file
View File

@ -0,0 +1,46 @@
local S
if minetest.get_translator then
S = minetest.get_translator("calendar")
else
S = function(s) return s end
end
minetest.register_node("calendar:calendar", {
drawtype = "signlike",
description = S("Calendar"),
tiles = { "calendar_calendar.png" },
inventory_image = "calendar_calendar.png",
wield_image = "calendar_calendar.png",
paramtype = "light",
paramtype2 = "wallmounted",
is_ground_content = false,
walkable = false,
groups = { dig_immediate = 2, attached_node = 1, },
selection_box = {
type = "wallmounted",
},
on_construct = function(pos)
local meta = minetest.get_meta(pos)
meta:set_string("infotext", S("Calendar"))
end,
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
if not clicker:is_player() then
return itemstack
end
calendar.show_calendar(clicker:get_player_name())
return itemstack
end,
})
if minetest.get_modpath("default") and minetest.get_modpath("dye") then
minetest.register_craft({
output = "calendar:calendar",
recipe = {
{ "default:paper","default:paper","default:paper" },
{ "default:paper","dye:black","default:paper" },
{ "default:paper","default:paper","default:paper" },
},
})
end