]> git.lizzy.rs Git - crafter_client.git/blob - init.lua
Make weather use timers
[crafter_client.git] / init.lua
1 --declare globals
2 weather_intake = nil
3 weather = nil
4 weather_type = nil
5 running_send = nil
6 player_movement_state = nil
7 nether = nil
8
9 function initialize_all()
10         --declare globals for now
11         weather_intake = minetest.mod_channel_join("weather_intake")
12         weather = minetest.mod_channel_join("weather_nodes")
13         weather_type = minetest.mod_channel_join("weather_type")
14         running_send = minetest.mod_channel_join("running_send")
15         player_movement_state = minetest.mod_channel_join("player.player_movement_state")
16         nether = minetest.mod_channel_join("nether_teleporters")
17                 
18         --next we load everything seperately because it's easier to work on individual files than have everything jammed into one file
19         --not into seperate mods because that is unnecessary and cumbersome
20         local path = minetest.get_modpath("crafter_client")
21         dofile(path.."/player_input.lua")
22         dofile(path.."/weather_handling.lua")
23         dofile(path.."/environment_effects.lua")
24         dofile(path.."/nether.lua")
25 end
26
27 --we must delay initialization until the server tells us it's ready to begin
28 local initialize_client_modchannels = minetest.mod_channel_join("initializer")
29
30 local function recursive_startup_attempt()
31         local ready_to_go = initialize_client_modchannels:is_writeable()
32         if ready_to_go == true then
33                 --good to begin
34                 initialize_all()
35                 initialize_client_modchannels:leave()
36         else
37                 --try again
38                 minetest.after(0,function()
39                         recursive_startup_attempt()
40                 end)
41         end
42 end
43
44 --begin initial attempt
45 recursive_startup_attempt()